The Math Forum

Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Math Forum » Discussions » sci.math.* » sci.math

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Announce: SAML version 960701 is ready
Replies: 0  

Advanced Search

Back to Topic List Back to Topic List  
Thierry Bousch

Posts: 26
Registered: 12/8/04
Announce: SAML version 960701 is ready
Posted: Jul 1, 1996 5:34 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

This is a new release of SAML, the Simple Algebraic Math Library. As
always, I will put the tarballs on today or tomorrow.
Note that I've only tested it under SunOS and Linux; if there are
significant porting difficulties to other Unices (especially on 64-bit
machines), drop me a mail.

The main changes between 960426 and 960701 are:

o The new type ST_APOLY is now fully implemented. This representation of
polynomials is usually faster, more compact, and much more reliable than
the ST_POLY representation. This is now the default for samuel and
induce, although there are toggles to select ST_POLY, which can be more
efficient in some (rare) cases.

o The ST_CYCLIC type, and samuel, only allowed moduli up to 2^31-1, and it
wasn't documented anywhere. Now moduli can be as high as 2^32-1.
The hash function for cyclic integers has been optimized (we removed an
expensive division) and a memory leak in int2cyclic() has been plugged.

o Samuel now manages its own stack of temporary expressions, instead of
relying on the stack provided by yacc/bison. It allows better recovery in
the case of a parse error (no more memory leaks) and simplifies the
handling of variable-size argument lists.

o An embarrassing bug in induce, which caused it to crash ungracefully in
the case of a cyclic dependency, has been fixed. This is still a fatal
error, but now it will be correctly reported.

o Induce now supports multiple memos, tilde-expands all filenames, and
checks the exitcode of its children.

o Factorint has undergone considerable modifications: we now use
Rabin-Miller (instead of the weak Fermat test) for pseudo-primality, and
MPQS (instead of CFRAC) for factorization. The default parameters have
been carefully tuned and it shouldn't be necessary to modify them, unless
you want to skip the Pollard phase entirely.

o The makefiles for 960426 incorrectly assumed that under SunOS, memcpy()
could handle overlapping copies. This is not true (and, oddly enough,
bcopy() doesn't have this problem) so memcpy() is not an acceptable
replacement for memmove(). This is fixed.

Here is the entry for the Linux Software Map:

Title: SAML, the Simple Algebraic Math Library
Version: 960701
Entered-date: 01JUL96
Description: SAML is a C library for symbolic calculations, accompanied
by some application programs (samuel, factorint, induce).
The library provides an object-oriented framework for
defining and handling mathematical types, and implements
the most common data types of computer algebra: integers,
reals, fractions, complex numbers, polynomials, tensors,
matrices, etc.
The application programs consist of an interactive symbolic
calculator (samuel), a programming language (induce) and
a program to factorize integers (factorint).
Keywords: Computer algebra, C, library, symbolic calculus
Author: (Thierry Bousch)
Maintained-by: (Thierry Bousch)
Primary-site: /pub/bousch
203kB saml-960701.tgz
Platform: Requires a decent Un*x system, gcc 2.5.0 or later, gdbm,
perl and gmake. Bison and TeXinfo can be useful.
Copying-policy: GPL

Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© The Math Forum at NCTM 1994-2018. All Rights Reserved.