Karim BELABAS on Fri, 6 Nov 1998 20:15:27 +0100 (MET)

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

pari-2.0.12.alpha update

Hi all,

  here is another update. Since (far too) many things changed since last
update, this version has reverted to ALPHA status. I'll try to schedule
some quick updates / patches to reach BETA status again.


This time I don't provide diffs with the previous update (too big...).

If you're interested in Galois groups (degree < 12), fetch also


and untar it in the "datadir" that was chosen at Configure time (or create
a directory "data" in the main directory and untar galdata there before
typing "make install").

I hope that the most obvious bugs have already been combed out (thx Igor!),
but in any case, remember this is an ALPHA release, so be careful!

I couldn't put together a decent DOS release for today. I'll have it ready
on monday (hopefully).



P.S1: I have had quite a lot of problems with the mail delivery system
here, and I've probably lost many emails during the August and September.
If you sent me something which you think is not addressed below (and never
received a direct answer), please resend your message.

P.S2: the (huge) Changelog:
Done for version 2.0.12 beta (released 06/11/98):

    1- GNU as incorrectly treated by Configure.
GN  2- various fixes in mpqs.c (incl. file descriptor leak)
GN  3- [From 2.0.11- Fixed 14] floating point exponents: 1E1 --> possibly 0.1
    4- 1 % Pol(2) still wasn't right [cf 2.0.11- Fixed 31]
    5- src/test/dotest for DOS boxes (running sh)
    6- removed unreachable err() in factor()
    7- system() is defined under EMX, so make it available for DOS
    8- possibly use / as path separator under EMX, check COMSPEC and EMXSHELL
    9- compatible = 3 downcased all the following lines in gprc and caused
       incorrect behaviour of preprocessing statements.
   10- unified default commands + better checks (e.g: default(log,0)->SEGV)
   11- memory leak in gp_main_loop: bufferlisit wasn't reset on error
   12- gptimer() not initialized properly if ^C was first command
   13- extra space (sometimes) output by command line completion in DOS
   14- modifying histsize could corrupt the history stack
   15- incorrect error messages in gsqr
   16- not enough garbage collection in rootmod (polgcdnun)
TP 17- compilation using cc -64 on 64-bit SGI
IS+GN 18- "(hit return to continue)" message did not flush stdin
GN 19- ECM rewrite
   20- incorect absi_cmp in buch3.c
   21- useless garbage collecting in sqred2
   22- O(1)^(1/2) --> SEGV
   23- forvec(i=[],...) --> SEGV
GN 24- deriv(x*y, y) --> 0
GN 25- inefficient GC in ispseudoprime()
   26- fixed some (not all) compiler warnings (char * --> unsigned char *)
   27- exp(too large number) now gives a meaningful error message
AW 28- getrusage still not detected on FreeBSD 2.2.5
GN 29- off by 1 error in initprimes() (--> not enough calculated primes)
   30- inefficiencies in factor(t_POL)
HC 31- bug in rnfelementabstorel for Mod(scalar, t_POL)
HC 32- typo in gaussmoduloall
   33- idealred(principal ideal) always returned an archimedean part
HC 34- idealpowprime wrong for negative powers
   35- typo in binomial(n,k) (wrong answer if n<=k)
   36- online help for polinterpolate
   37- incorrect garbage collecting in quickmulii/quicksqri
   38- reformatted the output in test mode (gp -test)
   39- polroots((x-7)*(x-8)*(x+16)) took far too much time
   40- ellap assumed ell was given in characteristic 0.
IZ 41- outlook of plot function (better labels, better choice of chars)
RD 42- when factoring over a non prime finite field and found a p-th power,
       forgot about Frobenius
GN 43- rare memory bug in ellfacteur
   44- gscalmat was not suitable for gerepileupto
   45- polredabs(,2) didn't handle non-monic polynomials
   46- check for various overflows (x ^ 1000000, etc.)
   47- printtex(I) --> missing closing brace
   48- setisset() did not check that elements were strings 
   49- typo in gdiv(t_POLMOD, t_POLMOD) with different variables
KO 50- missing ; in level1.h (Windows specific code)
   51- forprime(p=0,10,) indeed started at p=0
   52- (cf 2.0.11 Fixed-1) put back 3 cgeti in galois.c (were necessary)
   53- factorpadic could overstate the precision of the result
   54- (very) rare memory corruption in allhnfmod (when cleaning up)
PM 55- prototypes in paridecl.h (fussy IRIX compiler), cc -64 in MACHINES
   56- factormod implemented for all primes (p = 2 and p > 2^31 called
       factorcantor which was much slower)
   57- check for unsuitable input in [factor|roots] (SEGV for multivar. pol)
   58- polresultant sometimes gave the wrong sign
   59- extraneous space in err(impl,"") (= "sorry,... not implemented")
   60- aliases treated incorrectly during error recovery (--> obscure bugs)
   61- obscure bug when normalizing rational functions with real coeffs
       (corrected content())

    1- paricfg.h in dos and win32 extracted by Configure before the release
       (to get version number right)
    2- GPRC logic: try $GPRC, then look in $HOME, /etc (/ and C:/ under EMX)
    3- make sure the output of pari_unique_filename() doesn't exist already
    4- use a stack of files to gracefully handle errors/interrupts without
       leaking file descriptors
    5- replaced fixed-size buffers by dynamically allocated ones (es.c/gp.c)
    6- rename INSTALL.QUICK --> INSTALL.DOC (updated)
              Changelog --> CHANGES (looks better under DOS)
    7- mention ?12 in the header
    8- use ; (instead of :) as PATH separator under DOS, OS/2 or Windows (for
       drive letter)
GN  9- ECM tunings
   10- check for overflow in cget* (instead of silent wraparound)
   11- gp_main_loop cut into (improved) pieces.
   13- simplified normalizepol
   14- Warn when trying to replace an existing function with install
       (previously error)
   15- new function mpcopy. replaced some inlined function (rcopy, absi,
       absr, negi, negr) by compatibility macros
   16- gphelp now uses GPDOCDIR and GPTMPDIR.
   17- improved rational arithmetic by computing smaller gcds (gredsp removed)
GN 18- improvements in MPQS (use less memory, count relations precisely)
   19- text-mode (non-TeX) extended help printed screen by screen
   20- retuned integer multiplication, and made polkaramul the default
       polynomial multiplication.
XR 21- stark.c rewritten
IZ 22- updated the pariperl interface
   23- improved handling of t_INTMODs (less GC)
   24- improved (a lot) factoring/root finding for intmod polynomials
   25- modified poldivres to avoid computing remainder when useless
   26- removed inefficient shiftl/shiftlr from the kernel
   27- from the same sources, Configure can now simultaneously run on
       different architectures
   28- polynomial factorizer now sorts the factors (increasing degree).
   29- ?an_obsolete_function now calls whatnow
   30- .pol operates also on t_POLMOD
   31- random() argument can have arbitrary length
IZ 32- with gnuplot, pick a sensible terminal when X11 is not around
IZ 33- change valences for use with Math::PARI
IZ 34- various interface patches (new file highlvl.c, different prototype
       for foreignAutoload...)
   35- optimized permute()
   36- setrand, getrand, getstack, gettime return a C long, and not a GEN.
   37- pari_randseed no longer global. Don't reset random number generator
       when entering certain functions
   38- improved smallvectors() (correcting the "not enough storage" bug).
   39- improved computation of special polynomials ([sub]cyclo,tchebi,legendre)
   40- read() and extern() are timed as a whole now
   41- check if LONG_IS_64BIT is correctly defined in pari_init (in case we
       include the wrong pari.h)
GN 42- use Lehmer-Jebelean to compute inverse mod p (TODO: extended gcd)
   43- moved subcyclo() to bibli2.c
   44- improved polredabs, suppressed flag 8.
   45- improved ground(), case t_REAL
   46- modified the internal SMALL nf structure (add matrix M, for polredabs)

    1- doc/Makefile.SOS, since make should succeed even if Configure failed
    2- many error messages from the analyzer (referer*, trucer1,
       matvecter...), better handled by talker2
    3- obsolete test %_ in bench
    4- polkaramul(), which is now the default multiplication.
    5- factmoder error message
    6- obsolete function polredabsfast

    1- `pipes' for DOS running EMX, i.e extern() and extended help are
       available (perl needed for the latter).
    2- file handling functions pari_fopen, pari_fclose, pari_unlink
    3- new default `debugfiles'
    4- file README.DOS
IZ  5- target etags in top Makefile
    6- target ctags
IZ  7- gnuplot support
HC  8- elliptic functions package (ellzeta, ellwp, ellsigma)
HC  9- quadray function, extending quadhilbert
   10- files src/basemath/polarit3.c and src/gp/highlvl.c
   11- user-defined member functions
   12- possibility to choose sizeof(long) at Configure time when the
       hardware suports it (eg. MIPS)
Karim Belabas                    email: Karim.Belabas@math.u-psud.fr
Dep. de Mathematiques, Bat. 425
Universite Paris-Sud             Tel: (00 33) 1 69 15 57 48
F-91405 Orsay (France)           Fax: (00 33) 1 69 15 60 19
PARI/GP Home Page: http://pari.home.ml.org