Karim Belabas on Tue, 24 Jan 2006 17:46:52 +0100


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

pari-2.2.12 released


Dear PARI enthusiast,

I would like to announce the release of pari-2.2.12-BETA. The sources
and a pre-compiled binary for Windows can be obtained through the address

  http://pari.math.u-bordeaux.fr/download.html

This is now a BETA release of the PARI/GP system, since the code is stable
enough for widespread testing. Please test and report problems in 2.2.12,
we need your help !

See http://pari.math.u-bordeaux.fr/Bugs/ for how to report problems.

Have fun,

    Karim.

P.S: The Changelog (cleanup and minor bugfixes).
Done for version 2.2.12 (released 24/01/2006):
  Fixed
    1- incorrect detection of EditLine library
    2- issquare(Mod(2,9)) --> 1  [ should be 0 ]. Implicitly assumed
       v_p(N) odd for all primes divising the modulus N.
BA  3- poltschirnhaus(ffinit(2,4)) could return 0.
BA  4- Configure -a did not propose fltk and Qt as graphic engine.
    5- g()=local(x;f) -- oo-loop [#352]
    6- charpoly( Mod(a, b) ) --> wrong result when 'a' is not a
       t_POL or t_INT.
    7- \p2051 log(exp(-1)) --> printing bug [#357]
    8- bad argument checks in qfrep() / qfminim() [#359]
    9- fix mkintn to work as documented (even when leading word is 0) 
BA 10- [Linux] gp only accepts one SIGINT in batch mode [#251, #370]
       (initial patch JD).
   11- contfrac(5/3.) was wrong: [1,2] instead of [1,1,2]. For a t_REAL x,
       when the last partial quotients of a lower and upper bound differ 
       by 1, choose the one associated to the digits of x (followed by 
       infinitely many 0s) unless it was too small and the next partial
       quotient was 1. [#371]
   12- bnfisintnorm: results could have a wrong sign [#372]
   13- isprime(N,2): oo loop if N is a perfect square
   14- \p n was limited to a value ~ 10 times smaller than the actual limit
BA 15- qfbsolve fix 2.2.11-F86 was not sufficient.
   16- (1 + O(2))^2 was less precise than sqr(1+O(2))
   17- in the extended help pager, typing ' ' then \n would skip
       one page [#375]
BA 18- config/has_stat.c didn't work with g++
   19- charpoly/minpol(Mod(a,T)) was only monic if T was.
BA 20- 'make install' did not work if 'prefix' contained spaces
   21- has_dlopen always compiled in on Mac OS X, even if present in libc
   22- unsafe handling of t_QFI/t_QFR (setsigne) [#384]
   23- idealaddtoone didn't handle zero ideals [#386]
   24- workaround a bug in g++ version 3.4.1 (Mandrakelinux 10.1 3.4.1-4mdk)
       infinite loop on factor(41093858855767145965571)
   25- constlog2() was not restartable [ no way to set glog2 = NULL ]
   26- sloppy arg check in ellchangecurve [#388]
   27- [internal] gprec_w reduced the accuracy of real 0s [#396]
   28- wrong arg check in matsolve [#400]
   29- minpoly([;]) --> SEGV
   30- y*x^3/( 1+x+x^2 +O(y)) -> gerepile error [#403]
   31- poldivrem didn't handle properly multivariate polynomials [#402]
   32- insufficient accuracy in ellheight --> singular curve, SEGV [#404]
   33- [MacOS X + fltk] installed gp binary couldn't use hi-res graphics
       (resource fork not copied)
IZ 34- [2.2.9-A20] -fno-strict-aliasing not supported in older gcc
   35- heapsize reported by getheap() were wrong (overestimate).
   36- gerepile error in nfgaloisapply [#408]
   37- wrong results in bessel functions at non-integer indices
       (typo in isint(t_REAL) ) [#409] 

  Changed
    1- speed up prime() by using checkpoints.
    2- allow lists with vector entries in listsort (use lexsort)
    3- allow vector of points in ellisoncurve()
    4- tunings in quadclassunit (#298 / #355)
    5- [Configure:] take CPPFLAGS into account
    6- 'int' C type is now reserved for -1/0/1 values. Use 'long' otherwise.
    7- Fl_inv and Fl_div now raise an error when divisor not invertible
       [ used to return 0 ]
    8- removed the threshold that prevented exponent overflow in
       exp(-10^10) and returnd 0. instead [ either return correct digits
       or raise an exception ].
VL  9- honor C_INCLUDE_PATH in Configure (for get_readline)
   10- [readline] remove old hack bypassing a bug in readline-2.0 [ did not
       release SIGINT ]: useless nowadays, and used deprecated functions.
   11- export combine_factors [ needed by giac ]
   12- do not alias labs to abs in paricom.h
   13- randomize polredabs() to improve bound on difficult fields, e.g.
       f(k) = {
         p = polcompositum(x^6-3*k^3,x^6-3*k^3)[4];
         polredabs(poltschirnhaus(poltschirnhaus(p)),16)
       }
       for k = 2, 5, 6, 8, ...
   14- try more names in 'pari_unique_filename' (26^2 instead of 26))
   15- remove GCC_INLINE from CFLAGS. Define DISABLE_INLINE or
       DISABLE_VOLATILE to prevent the compiler from inlining or using    
       the 'volatile' keyword
   16- let paripriv.h include parinf.h
   17- rename 'prec' -> 'precreal' [ from paripriv.h ]
BA 18- define INLINE to 'inline static' for C++ compilers also
   19- rename polx -> pol_x, polun -> pol_1
   20- make hell, hell2 static to elliptic.c
   21- rename decomp -> Z_factor, decomp_limit -> Z_factor_limit
   22- rename wf -> weberf, wf1 -> weberf1, wf2 -> weberf2
   23- make incpos / incneg static
   24- export setseriesprecision, setrealprecision
BA 25- make pari restartable
   26- [initialization of GP hashtables] remove the 'module' structure,
       simplify pari_addfunctions, plug helpmessages in initializing
       entree arrays.
   27- rename err -> pari_err, pariputsf -> pariprintf
   28- rename rnfhermitebasis -> rnfhnfbasis
   29- forbid t_STR, t_VECSMALL and t_LIST in gvar.
   30- cleanup mpqs use of temporary files
   31- pari_unique_filename now MT-safe, returns a malloc'ed buffer.
   32- default() now always returns the value of the (possibly changed) default.
       No need for a flag anymore. The construction default(def,,1) is still
       valid but deprecated (the flag is ignored).
   33- increase default accuracy in ellinit() when curve has large coefficients
       [ avoid large relative error on periods, #404 ]
   34- qfminim(,,,0) often gives wrong results for matrices with large
       entries. Test whether rounding errors occur and abort if so [#407]
   35- qfminim(x,b,m,flag): b and m are now optional. Allow omitting b
       (formerly b=0) if flag = 2 also.
   36- eval("1a") is now '1' again (was "a" since 2.2.10)

  Removed
BA  1- gnuplot graphic engine (complicated, did not work from gnuplot-4 on)
    2- has_sigrelse.c & has_sigsetmask.c [ deprecated, unused after C-10 ]
    3- src/desc/Makefile
    4- log2old ( = 2atanh(1/3) )
    5- src/desc/gen_help
BA  6- obsolete macros INIT_JMP/INIT_SIG

  Added
    1- library function ellisoncurve()
BA  2- library functions related to sorting: gen_sort_aux, gen_search_aux,
       vecsmall_indexsort
    3- functions strtoi, strtor
BA  4- function minpoly()
    5- function zeromatcopy()
BA  6- support for GNU/kFreeBSD and other GNU userlands.
    7- document ZY_ZXY_rnfequation and ZY_ZXY_resultant
    8- function pari_warn() used instead of pari_err() for warnings
    9- function pari_add_function, pari_add_module
   10- doc/develop.tex
   11- library function uisprime, uissquarerem, Z_issquare, Z_issquarerem
   12- library function pari_unique_dir
   13- library function gp_default
   14- library function rowcopy (GP2C)
   15- library function traverseheap
-- 
Karim Belabas                  Tel: (+33) (0)5 40 00 26 17
Universite Bordeaux 1          Fax: (+33) (0)5 40 00 69 50
351, cours de la Liberation    http://www.math.u-bordeaux.fr/~belabas/
F-33405 Talence (France)       http://pari.math.u-bordeaux.fr/  [PARI/GP]