Another intended use for these files is the Computer Algebra Test Suite 
(CATS)
http://axiom-developer.org/axiom-website/CATS/index.html


CATS used both published results (e.g. Schaums, Kamke, Rich, etc.)
and Axiom's complete test suite to create a standardized algebra test 
library, 
one of the original project goals. This not only provides documentation on 
how
to use a function but also examples of how to use Axiom against published 
work.
These are .pamphlet files and are run and regressed during build.


These files show the results that Axiom computes given the set of integrals 
listed in, for example,
... Spiegel, Murray R. Mathematical Handbook of Formulas and Tables 
Schaum's Outline Series McGraw-Hill 1968 

Each integral is computed by Axiom and compared against the published 
result. 

Each Axiom result is differenced from the published result and reduced to a 
constant (usually 0). 


Each of the CATS files includes the page reference, formulas , and the 
Axiom source file that was used during
regression testing, and a pdf.

So, for example, in the Schaum's test suite you'll see links to both

http://axiom-developer.org/axiom-website/CATS/schaum1.input.pamphlet

http://axiom-developer.org/axiom-website/CATS/schaum1.input.pdf

In the current Axiom SANE version the goal is to do the same for the 
theorem and
proofs in Advanced Calculus as well as proofs of the existing Axiom 
functions.
(the current effort is for Taylor/Mann "Advanced Calculus" ISBN 
0-536-00587-7)
The provided proofs show how to do LEAN proofs against published proofs
and Axiom functions.

The goal is to help users by providing working examples.

Tim
On Sunday, April 21, 2024 at 8:24:51 PM UTC-4 Tim Daly wrote:

> Axiom does regression testing during every build.
>
> src/input/*.input.pamphlet files are really just ".tex" files
> (replace ".pamphlet" with ".tex" and they can create pdfs)
> as they are intended to be user-visible documentation
> included in the Literate Programming books.
>
> Since these are part of the Literate Programming effort we
> extract the actual tests from the ".pamphlet" (aka ".tex")
> at test time. The Makefile trigger to signal including a
> file in the regression testing is the suffix ".regress".
> The resulting output is captured and compared with the
> saved results.
>
> The src/input/*.input.pamphlet files have a set of tests
> delimited by tags (--S, --E) and numbered so test failure
> messages point to the test failures. For example, in the
> ackermann.input.pamphlet there are 23 tests.
>
> We leverage the fact that -- is a comment and use that to
> create special semantics for comments. (This is also used
> in the algebra files to create help information.)
>
> This pamphlet file creates a ".input" file for tests.
> The expected results of each test are included in the input,
> delimited by --R (for result) or --I (for ignore). The --R
> results are byte-by-byte compared with the regression test run.
>
> In addition to automating testing, including the expected
> results shows how to use each function, making useful user
> documentation of the many available functions. Latex was used
> so it would be possible to explain, for example, what the
> Ackermann function is.
>
> The long-term goal was to explain, document, and show valid
> examples of all functions.
>
> --S 1 of 23
> ackerslow(m:INT,n:INT):INT ==
>   m = 0 => n+1
>   (m>0 and n=0) => ackerslow(m-1,1)
>   ackerslow(m-1,ackerslow(m,n-1))
> --R 
> --R   Function declaration ackerslow : (Integer,Integer) -> Integer has 
> --R      been added to workspace.
> --R                                                                   
> Type: Void
> --I                                                                  Time: 
> 0 sec
> --E 1
>
> --S 2 of 23
> ackerslow(0,0)
> --R 
> --R   Compiling function ackerslow with type (Integer,Integer) -> Integer 
> --R
> --R   (2)  1
> --R                                                        Type: 
> PositiveInteger
> --I                                                   Time: 0.01 (OT) = 
> 0.01 sec
> --E 2
>
>
> To the specific question of SKIP, these are functions which
> create graphics output. They were intended to be regression
> tested by comparing the binary file formats but I never finished
> that part of the work.
>
> Tim
>
>
> On Sunday, April 21, 2024 at 10:31:05 AM UTC-4 ra...@hemmecke.org wrote:
>
>> > Tim Daly probably can say more about original intent. For me it is 
>> > documentation: it is list of files that we have but do not use. 
>> > Logically, removal of SKIP should involve removal of files listed 
>> > there. 
>>
>> I have not yet completely compared everything, but the content of this 
>> directory is currently a mixture of files for 
>>
>> (A) testing FriCAS via the UnitTest framework 
>> (B) testing FriCAS by just comparing output to a previous version 
>> (C) auxiliary input files for producing picture for the book 
>> (D) some other draw files 
>>
>> > Concerning the files: I kept them under assumtion that even though 
>> > we do not use them during normal testing, they could be used for 
>> > some ocassional test. 
>>
>> Yes, if there were graphics test, that would be good. 
>>
>> > IIRC some files are tests for planned but not implemented features. 
>> > But most just test graphics. 
>>
>> Honestly, I would be happy, if input/ contained just testfiles and this 
>> directory would be called tests/. THis should be OK for type (A) files. 
>> Type-(B) files should gradually be transformed to type-(A) files. 
>> Files of type (C) are actually living as sources in some .htex files for 
>> the book. I think it would make sense to generate them from the .htex 
>> files on the fly by a simple awk run. (I am currently trying to achieve 
>> that.) 
>> Type (D) files we can keep, but maybe it makes sense to add a little 
>> documentation to them explaining what the commands do. So in some sense 
>> including them to the end of the book. In the long run as Greg V. said, 
>> it would be good to produce a format for the fricas-notebook repo. 
>> Unfortunately, there is currently not yet a way to produce and include 
>> graphics output in a jFriCAS notebook. 
>>
>> Ralf 
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/19149014-2718-46f5-8112-82418096c74en%40googlegroups.com.

Reply via email to