Karim Belabas on Wed, 16 Dec 1998 17:47:14 +0100 (MET) |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
PARI-2.0.13.alpha update |
Hi all, here's another update (2.0.13.alpha): http://megrez.math.u-bordeaux.fr/pub/pari/pari.tar.gz If anybody is interested in diffs from 2.0.12.alpha, here they are: http://megrez.math.u-bordeaux.fr/pub/pari/2.0.12.a-2.0.13.a.gz This update includes a few _very_ important fixes for 2.0.12 as posted on this list, plus the patches from Ilya (graphics + technical stuff for Math::Pari). See the Changelog below. Highlights: *** the bench timings shouldn't be compared with versions 2.0.11 and 2.0.12 the nffactor() function reset the timer in the 'nfields' bench, which was was not fully taken into account (about 15% of total time...) [this version _is_ faster than 2.0.11 and about as fast as 2.0.12]. *** The extended help is slightly more powerful now, and is able to search arbitrary chapters in the documentation (in principle. In practice only chapter 2 and 3). In particular it understands more keywords now (??operator, ??member, ??userfun, ??\ps, ??t_QUAD, ??integer, ...). I just tried to include some useful ones, not to be really complete. I would be interested in hearing about additional keywords you think should be included (they may also be missing from the documentation...). *** Since I had to fix a very bad bug in user functions code, I introduced the following syntax name(x_0, x_1,...) = { local(t_0, t_1,...); local(...); ... } to declare local variables [Aside: this can only be used right after a function declaration, not within arbitrary blocks, e.g in the body of a for loop. I decided against this since 1) it would offset the code/syntax much more than was needed to correct the original bug 2) it didn't look that useful 3) it would be slightly inefficient (right now it's preprocessed upon declaration) ] The former syntax which did not distinguish between actual parameters and local variables { name(x_0, x_1, t_0, t_1,...) = ... } is still recognized, but shouldn't be used anymore. *** We also have a new pari.el by Olivier Ramare who will now maintain the emacs files [no point in having a vi(m) junkie like myself maintain a set of elisp files, is there?]. In particular, to use GP under emacs, you should now include the following lines in your .emacs (autoload 'gp-mode "pari" nil t) (autoload 'gp-script-mode "pari" nil t) (autoload 'gp "pari" nil t) (autoload 'gpman "pari" nil t) (setq auto-mode-alist (append '(("\\.gp\\'" . gp-script-mode)) auto-mode-alist)) (see emacs/pariemacs.txt) Karim. =========================================================================== Done for version 2.0.13 alpha (released 14/12/98): Fixed IK 1- Configure hangs on FreeBSD systems RD 2- Incorrectly applied Roland's patch (2.0.11: Fixed- 42) 3- stack corruption in glcm (if operands > 10^155) 4- index wrap-around in polsubcyclo (n > sqrt(2^31)) 5- incorrect placement of strings in psdraw 6- memory corruption in rhoimag0 7- fix up memory debug mode (\gm) when switching to alternate stack 8- memory corruption (new_chunk + mulii) in gmul/gdiv (t_FRAC) 9- escape chars in GP strings sometimes parsed twice (e.g Str("\\") --> "") 10- nfinit(x^18+16) --> impossible inverse mod(0,2) (bug in eltppm() introduced in 2.0.12) 11- weird SEGVs due to variable handling (changed the 'bloc' structure) 12- moved highlvl.c to src/gp (libpari was missing symbols from plotport) 13- polcyclo ignored its second argument (introduced in 2.0.12) TP 14- minor fixes in paridecl.h (poldivres, gredsp: C++ compiler exits) HC 15- still sign problems in resultant (see 2.0.12: Fixed-58) 16- (Solaris):GNU ld doesn't like empty object files: remove kernel2.o IZ 17- make bench forgot to treat the install() BUG in a special way 18- factor(x^2 + I) --> SEGV (also with t_QUADs) 19- factornf(x^3+1,y^2-1) --> stack doubling (now output error msg) IZ 20- for Math::Pari fix valence of factormod() IZ 21- outfile rename pari_outfile (conflict with gnuplot headers) 22- DEBUGLEVEL could be modified and not reset upon interrupt IK 23- make perl -wc gphelp happy 24- incorrect use of gettime() in the library (nffactor) --> wrong timings (in particular for the 'nfield' bench) 25- polred/polredabs used different types for output. Made both t_VEC. 26- remove duplicate polynomials in polredabs(x,4) and polred XR 27- precision fixes in modules/[nffactor|stark].c 28- in compatible mode, \precision didn't work anymore 29- typo in Round4 (case "p small" and "p huge" were swapped) 30- incorrect prototype for conductor in compatible mode 31- factor((x^2-1)/2) --> SEGV (factpol assumed integer entries) 32- memory usage in Round2: nfbasis(*, 2) (also cleared some inefficiencies) IK 33- typo in primitive_pol_to_monic 34- deplin did not check its arguments 35- quadray() assumed variable "y" was not in use Changed 1- glength() returns a C-long integer 2- in hnfmodid(x,d) reduce mod d immediately 3- allow vector(n), and matrix(n,m) (filled with 0s) 4- under GP, wait for input if line ends with '=' (cf \) 5- wait for input when a line ends with an '=' sign 6- modified extended help to (potentially) search the whole manual 7- in nfdisc, specific error message if discriminant is 0 8- use divide_conquer_prod() in factorback() IZ 9- in test suite, add setrand(1) in front of poltschirnaus IZ 10- M-( bound by default IZ 11- improved gnuplot support 12- improved gcmp[1|_1](t_REAL) OR 13- new pari.el (see emacs/pariemacs.txt) Added 1- members e, f, p, gen for prime ideals 2- mathnf([M, M2]) computes mathnf(M), updating M2 (equivalent to v=mathnf(M,1) then M2*v[2], but much faster if M2 is small or over a finite field) 3- local() keyword for user function definitions in GP IZ 4- new functions plotfile(), plotpointsize() IZ 5- splines for ploth (flag 256) Removed 1- \k metacommand -- Karim Belabas email: Karim.Belabas@math.u-psud.fr Dep. de Mathematiques, Bat. 425 Universite Paris-Sud Tel: (33 1) 01 69 15 57 48 F-91405 Orsay (France) Fax: (33 1) 01 69 15 60 19 -- PARI/GP Home Page: http://pari.home.ml.org