axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] Re: new problem compiling wh-sandbox


From: Martin Rubey
Subject: [Axiom-developer] Re: new problem compiling wh-sandbox
Date: 29 Mar 2007 10:11:00 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4

address@hidden writes:

> Martin,
> 
> In fact you've encountered the same problem I have been having trying to
> merge gold, build-improvements, and wh-sandbox.  Along the way the algebra
> build stops working. I have yet to find the exact source of the problem.

OK. In fact, this demonstrates that it is *very* good to have a few (but not
too many) different versions of Axiom. Otherwise, we wouldn't even have noticed
that there might be a problem somewhere.

> In particular I now have machinery that does automatic regression testing of
> the algebra input files.

Very good! I hope that you had a look at Christian Aistleitner's package
AldorUnit. In case you had not, I copy a piece of test code from the species
project below, that might give you an idea of its power.

> The next release of the gold version is going to come out in smaller, more
> thoroughly tested pieces than I anticipated and will initially contain fewer
> parts from build-improvements and wh-sandbox than I wanted. I'm hoping to
> have gold-51 up this weekend, including the new regression testing machinery.

I'm glad that you are doing this!

> The breakage is subtle. I'm trying to form small changesets, apply each one,
> and then fully check the system. It is a slow, tedious process and,
> unfortunately, won't have results in time for your needs.

Don't worry, I found a well-working workaround: ssh -X aquin, where I have a
working system.

All the best,

Martin




Below part of the "gseries.as.nw" test file. Note that the machinery of
AldorUnit automatically creates a file "gseries.signatures.as", which contains
the signatures necessary to compile "gseries.as".

%------------------------------------------------------------------
%---
%--- Combinat
%--- Copyright (C) Ralf Hemmecke <address@hidden>
%--- svn co svn://svn.risc.uni-linz.ac.at/hemmecke/combinat/
%---
%------------------------------------------------------------------


This file test generating series.
Since our implementations of \useterm[ordinary]{ordinary generating series} and
\useterm{exponential generating series} rely on the implementation of
\useterm{formal power series} as given in \srcfile{src/gseries.as} we
only test \adname[ExponentialGeneratingSeries]{factorialStream} and
some \useterm{cycle index series}.



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Test Generating Series}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\addescribetype{TestGeneratingSeries}
%CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
<<*>>=
-------------------------------------------------------------------
----
---- Combinat
---- Copyright (C) Ralf Hemmecke <address@hidden>
---- svn co svn://svn.risc.uni-linz.ac.at/hemmecke/combinat/
----
-------------------------------------------------------------------

#assert DontNeedLibraryTestCases
#include "testcases"

TestGeneratingSeries: TestCaseType with {
#include "gseries.signatures.as"
} == add {
        import from TestCaseTools;
        import from Integer, DataStream Integer, I;
        <<test series>>
}
@ %def TestGeneratingSeries
%TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{Test FactorialStream}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


The \useterm[Bell numbers]{Bell number} are given by the
\useterm{exponential generating series} $e^{(e^x-1)}$.

\addefinename{testComposeBell:()->()}%
%CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
<<test series>>=
testComposeBell(): () == {
        macro S == ExponentialGeneratingSeries;
        import from S, Q, DataStream Q;
        expx: S := stream(inv(fn) for fn in factorialStream) :: S;
        e: S := term(-1, 0);
        t: S := e + expx; -- (-1+exp(x))
        assertEquals(Integer, 0, count(t, 0));
        u := compose(expx, t);
        l1: List Integer := [1,1,2,5,15,52,203,877,4140,21147,115975];
        l2: List Integer := [count(u, i) for i in 0..prev #l1];
        assertEquals(List Integer, l1, l2);
}
@
%TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT





reply via email to

[Prev in Thread] Current Thread [Next in Thread]