Karim Belabas on Sat, 21 Mar 1998 06:24:23 +0100


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

pari-2.0.7 update.


Hello all,

  here's yet an other update (no, still not the beta...).

    ftp://megrez.math.u-bordeaux.fr/pub/pari/unix/pari.tar.gz

Nothing really major here, but a wealth of small bugfixes and minor
improvements, most of them transparent. The most visible ones:

* some exotic segmentation faults (off by 1 errors and incorrect argument
checking) have disappeared.

* documentation and online help upgrades (will be completed in next
update).

* the interaction with readline should be smoother: no more limit
on input size (thus all kind of copy-paste is now ok); history does not
contain {} and \ anymore so that previous lines can always be directly
re-used; and comments are now treated correctly.

* an "enhanced bugfix" in update 2.0.6 (which used mathnfmodid instead
of mathnfmod whenever possible) turned out to be a disaster as mathnfmodid
itself suffered from serious bugs, undetected so far since hardly anybody was
aware it existed at all. This could affect badly computations involving
prime ideals, though apparently with very small probability.

* I tried to correct an old standing bug linked to polynomials whose leading
coefficient is a non exact zero (reported only recently by 
F. Rodriguez-Villegas): just try 
         a = 0.*x + 1; a / a
or 
         1/(0. + x) + O(x)
in older versions (this phenomenon could occur in perfectly sensible settings
due to cancellations). The new situation is a bit more satisfactory since it
gives a result where there used to be an incorrect error message. But not
quite, since some of those results might not exactly be the ones expected
(hence a Warning is issued each time we have to rely on this).


I'll be away next week, and then I'll be in the process of moving from Bonn
to Paris. I'll try to read my email during the week-end, but don't expect
quick answers...

Enjoy!

  Karim.

P.S: Since some people requested diffs, I'm adding one (it's _huge_ though,
about 225k gzipped):

    ftp://megrez.math.u-bordeaux.fr/pub/pari/2.0.6.a-2.0.7.a.tar.gz

P.S2: The letters in the first column of the new Changelog are not cabalistic
incantations, they just identify the authors of the various patches.

BD = Bill Dally
GN = Gerhard Niklasch
HC = Henri Cohen
IZ = Ilya Zakharevich
XR = Xavier Roblot

===========================================================================
Done for version 2.0.7.alpha (released 21/03/98):

  Fixed
XR  1- SEGV in get_regulator for imag. quad. fields
    2- "beautified" output (still ugly, less buggy, ok for simple objects).
    3- error during "print()" could change output default.
    4- SEGV when syntax errors in gprc.
    5- make install failed when libpari.$sodest had been removed.
    6- moved term_width and term_heigth to es.c
HC  7- inefficiency in mulii (Karatsuba used too easily).
XR  8- many problems in stark.c
XR  9- bugs in rnfpolredabs (+ new flag)
GN 10- _many_ typos in tutorial and user's manual. New, much nicer, layout.
   11- whatnow not robust enough + faulty call by err_new_fun ==> SEGV
   12- idealadd treated incorrectly the 0 ideal
   13- default(realprecision) gave wrong value when format had been changed.
   14- bnfs structure was inefficient for applications (inverted 2nd comp.)
   15- buffersize was incorrectly updated during complicated read()
   16- one-line comments "ignored" if buffersize too small.
   17- using eval on object containing killed variables caused a SEGV.
   18- contfrac lost last term when first parameter was rational and
       numerators were supplied.
   19- problems when dividing with polynomials/series whose leading coeff is
       non-exact 0.
BD 20- missing #ifdef ZCAT in es.c
BD 21- check in paricom.h whether min / max are already defined
BD 22- universal_constants freed early in freeall() (problems on Windows NT)
BH 23- update Makefile.dos (nf.h --> parinf.h)
BH 24- changed kernel/ix86/level0asm.c (FUNBEGIN/FUNEND + ALIGN)
   25- cleaned the gauss_pivot functions + garbage collecting in gauss().
   26- mathnfmod did not check its second argument.
   27- since 2.0.4 (item 24) install did not work anymore on FreeBSD + gp-dyn
   28- cleaner malloc in plotX.c (to remove Warnings when debugmem > 0)
   29- slightly optimized matdet (gsub --> gadd(,gneg))
   30- ? x=1; Pol(1)
         ***   variable name expected: x,n,
                                       ^---
       is fixed everwhere (wherever an optional variable name is expected).
       setting "x" to some value is now safe.
IZ 31- nicer looking plot() function
   32- warnings while building for m68k arch.
   33- sqrt(Mod(1,2)) went into an infinite loop.
   34- ?? did not resolve aliases.
   35- besselk near integers entered an infinite loop
   36- p-adic sqrt (bad valp)
   37- hnfmodid could output wrong results (wrong diagonal) and wreck the
       powering of prime ideals
   38- added garbage collecting in izeta.
   39- ??a_number now works as gphelp.
   40- in prettymatrix format, matrices 0xn and nx0 are always printed as [;]
   41- 1 - "a" ==> SEGV

  Changed
    1- reorganized output functions (es.c).
    2- have mulir check if integer is small.
    3- part of GENtostr inlined (check_output_length()).
HC  4- functions where it makes sense now admit an optional argument for
       "variable number" (intformal, deriv, things having to do with
       polynomials, etc)
    5- lines of any length can be input interactively (previously 1k at most).
    6- remove {} and \ from readline history
    7- improve treatment of sample programs in gphelp -d
    8- uniformized debugmem messages.
    9- simplify the coinit function (Michael Somos)
   10- changing the function set through default(compatible,) no longer
       resets installed functions.
   11- renamed nfker-->nfkermodpr, nfgauss-->nfsolvemodpr.
   12- simplified/extended dummycopy
   13- listput gives more informative error messages

  Added
    1- default: lines
HC  2- (made known to GP) functions nfmodprinit, nfkermodpr & nfsolvemodpr.
XR  3- function bnrstark
    4- install code D& (optional pointer).
    5- function name_var (to use after fetch_var)
    6- concatenation of lists (or row vectors) of objects (overloaded concat).
    7- ranges for vecextract (eg. vecextract(x, "1..3"))

  Removed
    1- useless code 'F' in analyzer.
    2- perl directory (moved the files in ./perl to ./doc)
--
Karim Belabas                          e-mail:
Max-Planck-Institut fuer Mathematik       karim@mpim-bonn.mpg.de
Gottfried-Claren-Str. 26               tel:
53225 Bonn (Germany)                      (00 49 228) 402-245