Annotation of OpenXM_contrib/pari/CHANGES, Revision 1.1
1.1 ! maekawa 1: AW = Aleksander Wittlin
! 2: BA = Bill Allombert
! 3: BD = Bill Dally
! 4: BH = Bruno Haible
! 5: DB = Dominique Bernardi
! 6: DC = Dan Christensen
! 7: DE = Denis Excoffier
! 8: DF = David Ford
! 9: GH = Guillaume Hanrot
! 10: GN = Gerhard Niklasch
! 11: GT = Glenn Thobe
! 12: HC = Henri Cohen
! 13: IS = Igor Schein
! 14: IK = Iwao Kimura
! 15: IZ = Ilya Zakharevich
! 16: KO = Kiyoshi Ohgishi
! 17: LG = Louis Granboulan
! 18: MS = Michael Stoll
! 19: OR = Olivier Ramare
! 20: OV = Oliver Voigt
! 21: PM = Peter Montgomery
! 22: TP = Thomas Papanikolaou
! 23: XR = Xavier Roblot
! 24: YU = Yoshiaki Uchikawa
! 25:
! 26: ===========================================================================
! 27: Done for version 2.0.17.beta (released ??/??/99):
! 28: Fixed
! 29: XR 1- typo in zarchstar (result possibly incorrect when more than two places)
! 30: 2- check_unit not severe enough ([;] --> session could die !)
! 31: 3- wrong error message when using global var as argument to user function
! 32: 4- typo in boundfact(t_FRAC) --> SEGV
! 33: 5- buchall: don't compute xarch if not needed
! 34: 6- remove limit on string size + silent overflow, e.g Str(10^5000)
! 35: 7- "break status" not checked often enough: [break, 1] --> SEGV
! 36: 8- rewrote errcontext (use print_text to fit messages on terminal)
! 37: BD 9- added workarounds against some MSVC annoyances (Windows version)
! 38: IZ 10- typo in Gnuplot.h
! 39: 11- typo in Configure ("2>&1 >/dev/null" replaced by ">/dev/null 2>&1")
! 40: 12- simplified incgam[23] + typo (mulrr --> gmul)
! 41: IZ 13- typo in LD_LIBRARY_PATH setting (benches)
! 42: 14- inconsistency in gadd(0., FRAC) (should give 0. if FRAC small enough)
! 43: 15- libraries/headers ordering inconsistent in Configure (report: IZ and KO)
! 44: 16- typo in ff_poltype [symptom: (Mod(1, y^2 + 1)*x + 1)*x --> garbage]
! 45: 17- qfbprimeform(4, [2]) --> SEGV
! 46: 18- overflow in factorcantor(2*x^3+3*x^2+x, 2^31-1)
! 47: 19- memory corruption in apell1 + no garbage collection,
! 48: rewrote the function to parallel apell0, replaced hashing by sorting,
! 49: use Montgomery's trick, removed the p < 10^25 limit
! 50: IS 20- cc -64 warning in mp.c:vals()
! 51: 21- bad free in gp_expand_path
! 52: 22- extract([;], "..") --> SEGV
! 53: 23- not enough GC in hnfall
! 54: 24- recover gracefully when precision too low in lindep/algdep
! 55: IS 25- cleaned up unused variables, fixed some missing casts
! 56: 26- algdep(x) --> undefined behavior when x exact. Replace by decimal
! 57: approximation
! 58: IS 27- C++ keywords (new, class) occurred as variable names
! 59: 28- arguments of ideallistarch not checked
! 60: 29- Mod(t_FRAC or t_PADIC, t_INT) --> garbage
! 61: 30- gcmp1(t_REAL) always false: polylog(2, 1) --> error
! 62: 31- (spurious) compiler warnings about variables used before initialization
! 63: 32- memory (possibly) freed twice in buchall + unsafe allocation of matcopy
! 64: 33- online help for matsnf not updated
! 65: 34- rnfequation() didn't check its arguments correctly
! 66: 35- removed sprious special case in compute_class_number()
! 67: 36- typo in the compatibility macros mpabsz / mpnegz (missing ;)
! 68: 37- "lost pointers in gerepile" in bnfisprincipal(Q, ...)
! 69: 38- bnfisprincipal(..., Pol(0)) accepted
! 70: 39- [Configure] Makefile name didn't necessarily match object directory
! 71: 40- zetak(nfz, integer + 0.) --> stack corruption
! 72: 41- for(i=1, ..., zetak(nfz, any complex number)) went slower and slower
! 73: 42- poltchebi(.,y), pollegendre(.,y) didn't work
! 74: 43- confusing "array index out of allowed range" message (e.g [1-0])
! 75: IS 44- fixed obscure compiler optimization bugs in smithall() and eint1()
! 76: GN 45- weird results in ellisoncurve() due to misguided precision heuristics
! 77: 46- typo in forvec([],...): lisexpr() --> lisseq()
! 78: 47- check arguments in ploth()
! 79: XR 48- rare bug in bnrL1 (wrong value!)
! 80: 49- precision problems in polredabs
! 81: 50- division by 0 in rnfordmax [typo in mymod()]
! 82: 51- removed all dangerous occurences of constpi/consteuler (cf 41-)
! 83: 52- typo in det() [forgot to divide by a pivot]
! 84: 53- divide by 0 error in lllgramintern (precision problem)
! 85: 54- suminf(k=1,suminf(j=1,.067^(k+j)/k^4/(k+j))) ran forever
! 86: 55- factor(2*x + 2) --> [2*x + 2, 1] (instead of stripping the content)
! 87: 56- (ultra-rare) stack corruption in mpqs_solve_linear_system()
! 88: 57- rl_refresh_line() prototype changed across readline's versions
! 89: 58- incorrect handling of INTMODs modulo integers of different magnitude
! 90: XR 59- matsnf(3 x 3 matrix, 4) --> SEGV
! 91: 60- some pathological bnfinit() computations (strive to get maximal rank)
! 92: XR 61- precision problems in nfsqff() [increase precision for T2-norm bound]
! 93: 62- time wasted checking generators of the form [x,0,...,0] in polredabs
! 94: 63- variables deleted too late in freeall()
! 95:
! 96: Changed
! 97: XR 1- modulus choice in bnrstark
! 98: 2- make sure that addii(x,y) returns gzero, not icopy(gzero)
! 99: 3- cutoff in ellap to use Jacobi sums (457 --> 100)
! 100: 4- pariputsf("%Z",(long)g): removed the casts (not needed)
! 101: 5- cleaned up hnfspec
! 102: 6- look for at least MIN_EXTRA extra relations in buchall
! 103: 7- simplified calling interface to hnfspec/add
! 104: 8 Used hnfspec in bnfsunit, changed the way S-units are found
! 105: 9- output of bnfsunit modified (removed res[3], made res[2] suitable
! 106: for hnfadd)
! 107: 10- listput and listinsert now return the inserted element, not the list
! 108: 11- check_break_status rewritten: was very inefficient
! 109: 12- Used parser code DG whenever it was possible (moved reorder to init.c)
! 110: 13- faster isunit()
! 111: 14- added GC in expr()
! 112: 15- buchall(): increase subfactorbase without starting over
! 113: GN 16- minor tuning in pollardbrent() for huge integers (call ECM sooner)
! 114: 17- renamed directories dos -> Odos, o.xxx.xxx --> Oxxx.
! 115: Moved win32/* --> Odos
! 116: OR 18- new version of pari.el
! 117: XR 19- new modular round 4 implementation (nilord2)
! 118: BA 20- improved algorithms in galconj.c
! 119:
! 120: Added
! 121: 1- an optional argument to next()
! 122: 2- MANIFEST
! 123: YU 3- support for FreeBSD ELF binary format
! 124: 4- file CVS.DOC
! 125: 5- support for Windows CE (Nigel Smart + coworkers)
! 126: BA 6- functions related to Galois theory: galoisinit, galoisfixedfield, etc
! 127: 7- [library] trivial function realun()
! 128:
! 129: Removed
! 130: 1- #define HIGHBITM1 (useless)
! 131: 2- files config/tar_[include | exclude] (obsoleted by MANIFEST)
! 132:
! 133: ===========================================================================
! 134: Done for version 2.0.16.beta (released 29/06/99):
! 135:
! 136: Fixed
! 137: 1- paricfg.tex (needed to compile INSTALL.tex) missing if Configure is
! 138: not run. Added a test in parimacro.tex
! 139: 2- non-portable casts in galconj.c
! 140: 3- 64-bit graph benches (extra spaces)
! 141: IZ 4- typos in plotgnuplot.c
! 142: 5- unnecessary plothsizes in "graph" bench (fails if no X server)
! 143: 6- typo in ff_poltype
! 144: IZ 7- check rectwindow in rectcopy and rectclip
! 145: IZ 8- /opt/local/lib missing in Configure's library path
! 146: IZ 9- [Math::Pari] needs pariErr->die _before_ pariErr->flush
! 147: IZ 10- wrong valence code for plotcolor, plotclip
! 148: IS 11- obscure inlining bug (pgcc 1.1.3 -O3) in stark.c:ComputeKernel0()
! 149: 12- gcc -E doesn't define __GNUC__. Add it explicitly to KERNELCPPFLAGS
! 150: 13- whatnow(sigmak) didn't tell the arguments have been swapped
! 151: 14- [1]~ * [[1]] --> SEGV
! 152: 15- lim=(av+ x * bot) >> y can overflow if large addresses are available
! 153: (e.g Linux...). Use lim_stack() instead
! 154: 16- algdep(I,1), lindep([I,1]) entered an infinite loop
! 155: 17- removed the maxHastad (= 50) limit in algdep/lindep
! 156: 18- typo in polrootspadic(,,1) --> SEGV
! 157: 19- GC not frequent enough in idealval
! 158: 20- in split_ideal (isprincipal), LLL-reduce first if ideal is big
! 159: 21- factorpadic(,,,1) didn't work anymore
! 160: 22- round 2 (= nfbasis(,2)) used too much memory
! 161: 23- idealval did not accept all types of ideals
! 162: GN 24- unsafe stack handling in auxdecomp
! 163: 25- polroots[mod|padic] returned a t_VEC, not a t_COL (as polroots)
! 164: 26- check coeffs of polynomials with coeffs in nf (rnf* functions)
! 165: 27- typos in polredabs0 (get_Bnf + nf_RAW in storeallpols)
! 166: BA 28- nfgaloisapply could forget to clean up the stack
! 167: 29- typo in gp_rl.c (rl_save_prompt <--> rl_restore_prompt)
! 168: DE 30- arch="sun4" non reconnu par Configure
! 169: 31- uninitialized variable (prec) in quadhilbertimag
! 170: IS 32- pari.el.in was not updated when gphelp was moved from miscdir to bindir
! 171: 33- rnfkummer(bnrinit(bnfinit(y^2-y-1),101,1),[1,0;0,2]) --> gerepile error
! 172: IZ 34- update gnuplot interface
! 173: a) Strings were put too low in gnuplot terminal;
! 174: b) Allow setting of output file sizes, as in plotterm("gif=300,200");
! 175: c) Allow querying of possible output terminals, via plotterm("?")
! 176: d) Update to newer Gnuplot-interface-layer (Gnuplot.h)
! 177: allows compilation on Linux (stdout was bad as an initializer),
! 178: corrects bugs in processing of terminal options
! 179: 35- in buchall, allow minfsb to increase before doubling cbach
! 180: (bnfinit(x^4+5*239*x^2+5*239^2) couldn't be computed)
! 181: 36- bnfnewprec can't handle bnf = bnfinit(,2) --> SEGV (now, error)
! 182: 37- typo in pseudorem (didn't recognize 0 properly)
! 183: GH 38- weird bugs in thue() on alpha: typo int <--> long in thue.c
! 184: 39- bnrisconductor assumed moduli had small norm (< VERYBIGINT)
! 185: 40- bnfnewprec didn't accept imaginary quadratic fields ("missing units")
! 186: 41- inefficiency in zarchstar (VERYBIGINT --> BIGINT)
! 187: (rnfconductor(bnfinit(y^3+972*y-12),x^2+x+1) ran forever)
! 188: 42- too much memory used in rnfordmax (+ removed some inefficiencies)
! 189: 43- try to recover in nffactormod if input not prime (SEGV)
! 190: 44- SEGV in nffactormod if degree(pol) > 100
! 191: 45- factornf(p(x), q(x)) was accepted (and produced incorrect objects)
! 192: 46- nfisincl / nfisiso made use of the bug above
! 193: 47- subgrouplist(bnr) with trivial ray class group --> SEGV
! 194: 48- background color was assumed to be "white" (by gphelp and gp)
! 195: Made it "transparent" by default
! 196: 49- pages shifted by 1 in User's Manual's table of contents
! 197: 50- Mod(x, x^2+1) + x return Mod(2*x, x^2+1), not x + Mod(x,x^2+1)
! 198: (fixed gadd, gmul, gdiv)
! 199: 51- for certain flag combinations buchrayall unsuitable for gerepileupto
! 200: (+ cleaned up the code)
! 201: 52- ^C in smithclean corrupt existing objects
! 202: 53- silent overflow in qfbhclasso
! 203: 54- nfreducemodpr didn't check its arguments
! 204: 55- confusing error messages when precision too low in initell
! 205: 56- polx[0] modified in nfsubfields(P(y))
! 206: 57- various memory optimizations in bnrstark
! 207: 58- incorrect debugging output in calc_bloc (at \g6)
! 208: 59- rare memory corruption when garbage collecting in mppgcd
! 209: 60- type t_STR not treated correctly in changevar
! 210: 61- C-long overflow in ellan
! 211: 62- memory use in the incgam* functions
! 212: 63- bad input bug: qfperfection(indefinite matrix) --> SEGV
! 213: 64- mateigen dropped some eigenvectors when precision was too low
! 214:
! 215: Changed
! 216: 1- err() --> parierr() [conflict with system library in Redhat 6.0]
! 217: 2- use Doud's algorithm in elltors [initial patch: HC]
! 218: 3- new (internal) function get_mul_table (for nfinit, padicff)
! 219: 4- disable LD_LIBRARY_PATH before running benches
! 220: 5- strtoGEN() --> strtoGENstr() + added flag
! 221: 6- optimized stack usage in pollardbrent (in place)
! 222: 7- don't try to compute units in buchrayall if bnf doesn't contain them
! 223: 8- simplified misc/gprc.* (esp. colors)
! 224: 9- use C long to keep track of exponent in regula
! 225: 10- src/kernel/sparcv7/level0.s --> level0.S + include preprocessing stuff
! 226: 11- extended matsnf flags: immediate cleanup (backward compatible)
! 227: 12- arguments swapped in veceint1
! 228: 13- allow @ markers (??keyword@) in extended help (was apropos only)
! 229: 14- do all computations in mppgcd in place (as in Changed-6)
! 230: OR 15- new pari.el (cf emacs/pariemacs.txt)
! 231: 16- search multiple lines in apropos extended help (???key)
! 232:
! 233: Removed
! 234: 1- make test duplicated the "make bench" computations. Removed the
! 235: test and dotest targets
! 236: 2 -veceint1() function. Can be reached in library mode or using a flag to
! 237: eint1
! 238:
! 239: Added
! 240: 1- default 'secure'
! 241: 2- optional flag to Str()
! 242: 3- expand environment variables in filenames
! 243: 4- TODO file
! 244: 5- man page for gphelp
! 245: 6- Trivia section in the pari/gp man page
! 246:
! 247: ===========================================================================
! 248: Done for version 2.0.15.beta (released 21/05/99):
! 249:
! 250: Fixed
! 251: 1- ?? (TeX mode) didn't work anymore
! 252: 2- rl_save_prompt incorrectly detected on a.out systems
! 253: 3- allow extra_relation() (bnfclassunit) to abort
! 254: 4- allow cbach to double once more before triggering PLEASE REPORT
! 255: (introduced in 2.0.14)
! 256: 5- check for non-monic pol in smallbuchinit
! 257: 6- vecex<TAB> --> SEGV on some Linux systems (typo in match_concat)
! 258: 7- exceedingly rare but possible overflow in forvec(, flag == 1)
! 259: 8- factorff(x^7-3,3,y^3+2) --> SEGV
! 260: DC 9- ghpelp doesn't exit when problems arise in TeX processing
! 261: 10- made idealprimedec random again (also use det_mod_P_n to compute norm)
! 262: 11- inefficiencies in nfeltval (computing norm is a waste of time)
! 263: 12- did same prime twice when collecting garbage in modulargcd (=> error)
! 264: 13- ffinit(huge prime,) output a weird error message
! 265: 14- highly inefficient memory use in nfsubfields
! 266: IS 15- [cygwin] typo in Makefile generation
! 267: 16- file leak in mpqs (COMB)
! 268: 17- allow prime_to_ideal to be called with a t_INT argument (for quadray)
! 269: 18- typo in nf_shanks (calling Fp_shanks with wrong parameters)
! 270: 19- polun (possibly) destroyed in bnrstark
! 271: IS 20- keep logfile in synch with screen output
! 272: 21- reset DEBUGLEVEL correctly on ^C (was sometimes set to 0)
! 273: 22- bnrstark does not require anymore the modulus to be the conductor
! 274: 23- check bnrstark's arguments in the right order (bnrstark(1,0) --> SEGV)
! 275: 24- inefficiencies in idealval (removed element_mulh)
! 276: 25- idealadd unsuitable for gerepileupto
! 277: HC 26- quadray should work in all cases now and give better polynomials
! 278: XR 27- bnrstark should return smaller polynomials
! 279: 28- very inefficient pseudo-remainder routine (psres)
! 280: 29- forstep(x=a,b, 1/2, ...) --> SEGV (signe -> gsigne)
! 281: IS 30- [Cygwin] Configure fix (use $HOSTTYPE instead of uname -m)
! 282: 31- polcoeff(a*x^-1*y^-1+O(x^2)+O(y^2),-1,y) --> 0
! 283: HC 32- (false) accuracy problem in mpsc1 ("truncation error")
! 284: 33- don't use mpqs_diffptr in mpqs_find_k, set it in mpqs_create_FB
! 285: 34- (very rare) "precision loss in truncation" in buchall
! 286: 35- C-long overflow in zarchstar
! 287: 36- C-long overflow in zprimestar
! 288: 37- (old versions of) GNU as not recognized correctly
! 289: BA 38- ?? in TeX mode could not process some sections (missing macros)
! 290: 39- factor(polynomial with t_PADIC coeffs) didn't work (factorpadic
! 291: assumed coeffs were integers)
! 292: 40- T=[1,x; x,1]; charpoly(T,Z) produced object with wrong variable
! 293: ordering
! 294: 41- polrootsmod(x^n,p) could corrupt the stack
! 295: 42- Warnings/errors from HPUX and AIX native compilers
! 296: OR 43- many problems in the emacs interface pari.el (introduced in 2.0.14)
! 297: 44- factorpadic treated only monic polynomials
! 298: 45- gphelp TeX mode (use general macros instead of a specific file)
! 299: 46- under readline, input lines of length > 2048 could trigger SEGV
! 300: 47- more thorough check in checkbid (accepted prime ideals->SEGV)
! 301: GH 48- possible stack corruption in thueinit(totally real field)
! 302: XR 49- various problems in bnrstark (infinite loop in fincke_pohst)
! 303: 50- in doc/Makefile: removed GNU-style make macros + put a missing TAB
! 304: 51- sloppy garbage collecting in hnfperm
! 305: 52- HPUX+cc: work around a compiler bug (wr_float)
! 306: 53- warnings in make_emacs_tags (perl5.005)
! 307: 54- Configure --static should not disable install()
! 308: 55- in rare cases reduction not complete in lllgramall (off-by-1 error)
! 309: 56- addshiftw (polynomial case) could produce non-normalized polynomials
! 310: 57- take content into account in modulargcd as in srgcd (not normalized)
! 311: GH 58- uninitialized variable in poldisc0 (purify warning)
! 312: 59- inefficiencies in round 4: modular computations [more needed!]
! 313: (starting from a patch by DF+XR)
! 314: GN 60- lllintpartial did not output the right matrix
! 315: 61- huge memory leaks in bnrstark
! 316: 62- signed int overflow in allocatemem
! 317: 63- parisize (local to gp/gp.c) not updated properly
! 318: 64- *sol not properly initialized in subresall
! 319: 65- in idealpowred, check whether |n| < 16, not n < 16 (would slow down
! 320: bnfinit a lot when class number is large)
! 321: 66- polrootsmod(x^6-10,25) --> SEGV (now error message)
! 322: 67- SEGV when renormalizing zero series in gdiv
! 323: XR 68- unify precision choice in bnrstark (4 different formulae used...)
! 324: GN 69- infinite loop in mpqs (64bits machines + harsh compiler) when more
! 325: factors were found than were hoped for (1 <--> 1L)
! 326: GN 70- SIGFPE in buchall (double didn't fit in 32-bit integer)
! 327: 71- also check sign in real0 (internal: called by gauss_pivot)
! 328: 72- use current realprecision in plot() (was fixed: 28 digits)
! 329: 73- memory use in subgrouplist(bnr)
! 330: 74- in bnfcertify: "Too many iterations in isprincipal"
! 331: 75- auto detect precision in quadhilbertimag ("overflow in I+R")
! 332: 76- error message numbers in src/kernel/m68k/mp.s
! 333: 77- polroots(x^3-x-422!) --> "impossible R-> dbl conversion"
! 334: 78- not enough modular reductions in buchrayall (bnrinit)
! 335: 79- technical argument in quadclassunit not read correctly
! 336: 80- factor(x^3-1 + 0.*I) --> gerepile error
! 337: GN 81- gp -p (close to a p^2) --> p possibly missing in the prime table
! 338: 82- until narrow class group in quadclassunit is implemented, non-zero
! 339: flag raises an error
! 340: IZ 83- some code numbers in functions_basic (for Math::Pari)
! 341: 84- precision problem in initell (AGM)
! 342: 85- "impossible assignment I-->S" in ellrootno
! 343: 86- missing break in poltype (factor)
! 344:
! 345: Changed
! 346: 1- ?? (no arguments) opens the users'manual in xdvi
! 347: 2- print readline version in header on startup
! 348: 3- compute multiplication table first in element_mulvec[row]
! 349: 4- nf[5][7] is now stored in two-element form (faster ideal inversion)
! 350: 5- install gphelp in BINDIR, not MISCDIR
! 351: 6- simplified output of trivial matrices
! 352: 7- replaced square_free_factorization by mysquare_free_factorization
! 353: 8- call LLL before using idealtwoelt
! 354: GH 9- choose random elements in idealtwoelt, and allow bigger ones in two_elt
! 355: 10- cleaned up lllgramall/lllgramintern + give quality ratio as argument
! 356: 11- in rnflllgram, try to survive lllgram errors (findmin)
! 357: 12- simplified rnfpolredabs (simple interface to polredabs). Should be
! 358: much more efficient
! 359: 13- replace many gdiv by 1 ginv + many gmul in sqred1intern
! 360: 14- optimized polredabs (always do the initial polred now: it is for free)
! 361: 15- more efficient ideal multiplication in random_relation (bnfinit)
! 362: 16- library names nfhermite[mod|basis] <--> nfhnf[mod|basis]
! 363: 17- subgrouplist function (use Birkhoff algorithm)
! 364: 18- improve recovery in lllgramintern
! 365: 19- improved checkgenerator in polredabs (look directly for double roots)
! 366: 20- for consistency, return S-units in t_POL format (as fundamental units)
! 367: IZ 21- revamp gnuplot autodetection by Configure
! 368: BA 22- nfgaloisconj(nf, 4) uses Allombert's algorithm instead of Kluners's
! 369:
! 370: Added
! 371: 1- install-doc target
! 372: 2- make install makes a symlink pari.1 --> gp.1
! 373: 3- ??tutorial/refcard opens tutorial/refcard.dvi in xdvi
! 374: 4- posibility to extract the complement in vecextract
! 375: HC 5- Ducos's subresultant algorithm (polresultant(,,2))
! 376: HC 6- accept a "vector of steps" in forstep
! 377: 7- examples/classno.gp
! 378: XR 8- new function bnrL1
! 379: 9- new function gdivexact (used in subresultant, Gauss-Bareiss...)
! 380: 10- new function bnfnewprec
! 381: 11- optional argument to \l and \e shortcut
! 382: 12- nfinit,polred[abs] accept input of the form [pol, HNF basis fro Z_K]
! 383: 13- q-Pascal triangle (matpascal(n,q))
! 384: 14- file src/basemath/subgroup.c, new function forsubgroup()
! 385: IZ 15- function plotclip
! 386: IZ 16- new file examples/taylor.gp (nice example for plotclip)
! 387: BA 17- new file galconj.c
! 388:
! 389: ===========================================================================
! 390: Done for version 2.0.14.alpha (released 05/03/99):
! 391:
! 392: Fixed
! 393: 1- factormod(2*x+1, 2) --> "factor for general pol. not implemented"
! 394: IK 2- gphelp could leak temporary files
! 395: BD 3- for native Win32 build: buffer overflow in get_home, incomplete
! 396: paricfg.h, typo in try_pipe (#endif misplaced)
! 397: 4- nfsubfields: could miss subfields if index > 1
! 398: 5- removed 3 useless setrand(1) in subfields.c
! 399: 6- rare and obscure memory bug in inverseimage (lost pointers in gerepile)
! 400: 7- memory bug in factorpadic4 (prime not copied before result)
! 401: 8- memory consumption in round2 (allbase)
! 402: GT 9- m68k version: duplicate symbols from mp.c
! 403: IS 10- Cygwin: in mpqs.c, open files in binary mode (otherwise fseek goes crazy)
! 404: 11- bnfisprincipal().gen gives the expected answer
! 405: IZ 12- signatures for Math::Pari in highlvl.c / init.c + GNUPLOT
! 406: set-output-file problem
! 407: 13- if we think readline needs libiberty, check whether it's installed first
! 408: DB 14- PowerMac: header inclusion in highlvl.c, lround def'd in system headers
! 409: XR 15- rnfkummer makes sure to return an integer
! 410: XR 16- rnfconductor accepts polynomials with rational coeffs
! 411: 17- polredabs + internal precision change --> nfnewprec forgets nf[5][1]
! 412: 18- don't log lines twice when pariecho is set
! 413: 19- glitches in content() (e.g content("a") --> SEGV)
! 414: 20- get_sep(2) reacted incorrectly to empty strings
! 415: 21- rootmod could destroy its argument
! 416: 22- Fp_pow_mod_pol(x, 1,...) should return gcopy(x), not x
! 417: 23- galoisconj1 computed wrongly the precision needed (+ prototype change)
! 418: IZ 24- remove __OPTIMIZE__ dependence (define GCC_INLINE instead)
! 419: 25- off-by-1 error in apell1
! 420: 26- misleading error message in minimalexponent()
! 421: XR 27- in nffactor, forgot to update precision when increasing exponent
! 422: (+ various typos)
! 423: 28- sparc + non-gcc --> kernel2 possibly not included: compilation failure
! 424: 29- when echo is set don't print prompt if line is empty
! 425: 30- ellpointtoz sometimes return -x instead of x
! 426: 31- gp -b 1 --> hangs gp
! 427: DE 32- many glitches in manual
! 428: 33- mathnf(x, 3) when x hasn't maximal rank (SEGV)
! 429: 34- differences in buchall 32bit/64bit (PRECREG too high. bnfinit(x^13-6))
! 430: 35- various inefficiencies in nfshanks ("module too large in nfshanks")
! 431: 36- memory leak in buchall (= bnf*)
! 432: 37- "not a definite matrix in lllgram" after a call to bnf*
! 433: 38- typo in factorff(x^3+2,3,y^2+1) --> SEGV
! 434: 39- [internal] missing tags (e.g zprimestar) after make ctags
! 435: 40- idealstar(*, big prime) --> cryptic error msg (more tolerant now)
! 436: 41- have Mod(0,1)^-1 return Mod(0,1) (fixes znstar(prime))
! 437: 42- ginv(-1/2) --> 2
! 438: 43- heap leak when using local()
! 439: 44- overflow in addssmod
! 440: 45- changed the syntax of round()
! 441: 46- sqrt(1. + O(x)) --> infinite recursion
! 442: IZ 47- don't create GP variables when expanding strings
! 443: 48- internal variable 'parisize' not properly updated after allocatemem()
! 444: IS 49- config/display didn't work properly with ActivePerl
! 445: IS 50- Configure didn't handle most recent Cygwin
! 446: 51- polinterpolate([],[]) --> SEGV
! 447: 52- adapted gp_rl.c to readline 4.0
! 448: 53- glitches in whatnow database (new file src/gp/whatnow.c)
! 449: 54- all warnings from gcc 2.8.1
! 450: 55- uninitialized tetpil in gscal() (bnfreg(x^2+1))
! 451: 56- precision problems in polgalois (degree > 7)
! 452: 57- config/locatelib prompted a lot of useless work (returning too many
! 453: libraries) and could pick up the wrong library
! 454: 58- very rare bug in nfbasis (discriminant ok, but wrong basis)
! 455: 59- quadclassunit: make sure sub factor base is big enough (oo loop)
! 456: 60- more flexible "colors" default (initial work IZ)
! 457:
! 458: Changed
! 459: 1- x.fu outputs polynomials (as all bnf* functions), not polmods
! 460: 2- improved mppgcd (including vali)
! 461: 3- improved division vector/scalar
! 462: 4- \x to print a * in front of out-of-stack moduli (t_[INT|POL]MOD)
! 463: IZ 5- better commandline usage message
! 464: 6- don't buffer log messages going to pari.log
! 465: 7- accept [nf, t_POLMOD] where nf is expected
! 466: 8- poldisc() and quadgen() accept an optional variable name
! 467: 9- when defining user function check for duplicate variable names
! 468: 10- [internal] is_entry always uses function_hash (use is_entry_intern)
! 469: OR 11- pari.el updated (see emacs/pariemacs.txt)
! 470: 12- removed shiftl from lgcdii
! 471: 13- use roots_to_pol in polgalois
! 472: 14- precision heuristic in gauss_get_prec
! 473: 15- cleaned up lllall and lllgramall
! 474: 16- sort the output of nffactor, nfroots, factorff and factornf
! 475: 17- nfgaloisconj now guaranteed to find all conjugates (use nffactor)
! 476: 18- Removed flag 1 in nfisisom/nfisincl: function checks its arguments,
! 477: and uses the best algorithm (both guaranteed complete). Changed the
! 478: names (nfiso/nfincl) in library mode to match GP usage
! 479: 19- gerepile(ltop,lbot,0) no longer returns ltop - lbot
! 480: 20- improved floor and round(t_FRAC)
! 481: 21- removed some duplicate code from nffactor
! 482: 22- passing a pointer to GEN in a GP funciton now explicitly requires an &
! 483: IZ 23- more verbose error messages for online help
! 484: 24- increased a bit poltschirnaus's period
! 485: 25- DOS version: don't use more for external help
! 486: 26- cleaned up buchall code
! 487: 27- removed unnecessary gres from polarit1.c:to_fq()
! 488:
! 489: Added
! 490: 1- apropos command in gphelp (-k switch), ??? under GP
! 491: 2- function global()
! 492: 3- function gp_variable to use sums, etc in library mode
! 493: 4- [internal] new functions mulmat_real
! 494: 5- new functions gerepileupto[leaf|int]
! 495: 6- function znlog()
! 496: IZ 7- added default(color, "yes" / "no")
! 497: 8- --static flag to Configure
! 498:
! 499: Removed
! 500: 1- isinclfast/isisomfast
! 501: 2- rounderror
! 502:
! 503: ===========================================================================
! 504: Done for version 2.0.13 alpha (released 14/12/98):
! 505: Fixed
! 506: IK 1- Configure hangs on FreeBSD systems
! 507: RD 2- Roland's patch (2.0.11: Fixed- 42) had been incorrectly applied
! 508: 3- stack corruption in glcm (if operands > 10^155)
! 509: 4- index wrap-around in polsubcyclo (n > sqrt(2^31))
! 510: 5- incorrect placement of strings in psdraw
! 511: 6- memory corruption in rhoimag0
! 512: 7- fix up memory debug mode (\gm) when switching to alternate stack
! 513: 8- memory corruption (new_chunk + mulii) in gmul/gdiv (t_FRAC)
! 514: 9- escape chars in GP strings sometimes parsed twice (e.g Str("\\") --> "")
! 515: 10- nfinit(x^18+16) --> impossible inverse mod(0,2) (bug in eltppm()
! 516: introduced in 2.0.12)
! 517: 11- weird SEGVs due to variable handling (changed the 'bloc' structure)
! 518: 12- moved highlvl.c to src/gp (libpari was missing symbols from plotport)
! 519: 13- polcyclo ignored its second argument (introduced in 2.0.12)
! 520: TP 14- minor fixes in paridecl.h (poldivres, gredsp: C++ compiler exits)
! 521: HC 15- still sign problems in resultant (see 2.0.12: Fixed-58)
! 522: 16- (Solaris):GNU ld doesn't like empty object files: remove kernel2.o
! 523: IZ 17- make bench forgot to treat the install() BUG in a special way
! 524: 18- factor(x^2 + I) --> SEGV (also with t_QUADs)
! 525: 19- factornf(x^3+1,y^2-1) --> stack doubling (now output error msg)
! 526: IZ 20- for Math::Pari fix valence of factormod()
! 527: IZ 21- outfile rename pari_outfile (conflict with gnuplot headers)
! 528: 22- DEBUGLEVEL could be modified and not reset upon interrupt
! 529: IK 23- make perl -wc gphelp happy
! 530: 24- incorrect use of gettime() in the library (nffactor) --> wrong timings
! 531: (in particular for the 'nfield' bench)
! 532: 25- polred/polredabs used different types for output. Made both t_VEC
! 533: 26- remove duplicate polynomials in polredabs(x,4) and polred
! 534: XR 27- precision fixes in modules/[nffactor|stark].c
! 535: 28- in compatible mode, \precision didn't work anymore
! 536: 29- typo in Round4 (case "p small" and "p huge" were swapped)
! 537: 30- incorrect prototype for conductor in compatible mode
! 538: 31- factor((x^2-1)/2) --> SEGV (factpol assumed integer entries)
! 539: 32- memory usage in Round2: nfbasis(*, 2) (also cleared some inefficiencies)
! 540: IK 33- typo in primitive_pol_to_monic
! 541: 34- deplin did not check its arguments
! 542: 35- quadray() assumed variable "y" was not in use
! 543:
! 544: Changed
! 545: 1- glength() returns a C-long integer
! 546: 2- in hnfmodid(x,d) reduce mod d immediately
! 547: 3- allow vector(n), and matrix(n,m) (filled with 0s)
! 548: 4- under GP, wait for input if line ends with '=' (cf \)
! 549: 5- wait for input when a line ends with an '=' sign
! 550: 6- modified extended help to (potentially) search the whole manual
! 551: 7- in nfdisc, specific error message if discriminant is 0
! 552: 8- use divide_conquer_prod() in factorback()
! 553: IZ 9- in test suite, add setrand(1) in front of poltschirnaus
! 554: IZ 10- M-( bound by default
! 555: IZ 11- improved gnuplot support
! 556: 12- improved gcmp[1|_1](t_REAL)
! 557: OR 13- new pari.el (see emacs/pariemacs.txt)
! 558:
! 559: Added
! 560: 1- members e, f, p, gen for prime ideals
! 561: 2- mathnf([M, M2]) computes mathnf(M), updating M2 (equivalent to
! 562: v=mathnf(M,1) then M2*v[2], but much faster if M2 is small or over a
! 563: finite field)
! 564: 3- local() keyword for user function definitions in GP
! 565: IZ 4- new functions plotfile(), plotpointsize()
! 566: IZ 5- splines for ploth (flag 256)
! 567:
! 568: Removed
! 569: 1- \k metacommand
! 570:
! 571: ===========================================================================
! 572: Done for version 2.0.12 alpha (released 06/11/98):
! 573:
! 574: Fixed
! 575: 1- GNU as incorrectly treated by Configure
! 576: GN 2- various fixes in mpqs.c (incl. file descriptor leak)
! 577: GN 3- [From 2.0.11- Fixed 14] floating point exponents: 1E1 --> possibly 0.1
! 578: 4- 1 % Pol(2) still wasn't right [cf 2.0.11- Fixed 31]
! 579: 5- src/test/dotest for DOS boxes (running sh)
! 580: 6- removed unreachable err() in factor()
! 581: 7- system() is defined under EMX, so make it available for DOS
! 582: 8- possibly use / as path separator under EMX, check COMSPEC and EMXSHELL
! 583: 9- compatible = 3 downcased all the following lines in gprc and caused
! 584: incorrect behaviour of preprocessing statements
! 585: 10- unified default commands + better checks (e.g: default(log,0)->SEGV)
! 586: 11- memory leak in gp_main_loop: bufferlisit wasn't reset on error
! 587: 12- gptimer() not initialized properly if ^C was first command
! 588: 13- extra space (sometimes) output by command line completion in DOS
! 589: version
! 590: 14- modifying histsize could corrupt the history stack
! 591: 15- incorrect error messages in gsqr
! 592: 16- not enough garbage collection in rootmod (polgcdnun)
! 593: TP 17- compilation using cc -64 on 64-bit SGI
! 594: IS+GN 18- "(hit return to continue)" message did not flush stdin
! 595: GN 19- ECM rewrite
! 596: 20- incorect absi_cmp in buch3.c
! 597: 21- useless garbage collecting in sqred2
! 598: 22- O(1)^(1/2) --> SEGV
! 599: 23- forvec(i=[],...) --> SEGV
! 600: GN 24- deriv(x*y, y) --> 0
! 601: GN 25- inefficient GC in ispseudoprime()
! 602: 26- fixed some (not all) compiler warnings (char * --> unsigned char *)
! 603: 27- exp(too large number) now gives a meaningful error message
! 604: AW 28- getrusage still not detected on FreeBSD 2.2.5
! 605: GN 29- off by 1 error in initprimes() (--> not enough calculated primes)
! 606: 30- inefficiencies in factor(t_POL)
! 607: HC 31- bug in rnfelementabstorel for Mod(scalar, t_POL)
! 608: HC 32- typo in gaussmoduloall
! 609: 33- idealred(principal ideal) always returned an archimedean part
! 610: HC 34- idealpowprime wrong for negative powers
! 611: 35- typo in binomial(n,k) (wrong answer if n<=k)
! 612: 36- online help for polinterpolate
! 613: 37- incorrect garbage collecting in quickmulii/quicksqri
! 614: 38- reformatted the output in test mode (gp -test)
! 615: 39- polroots((x-7)*(x-8)*(x+16)) took far too much time
! 616: 40- ellap assumed ell was given in characteristic 0
! 617: IZ 41- outlook of plot function (better labels, better choice of chars)
! 618: RD 42- when factoring over a non prime finite field and found a p-th power,
! 619: forgot about Frobenius
! 620: GN 43- rare memory bug in ellfacteur
! 621: 44- gscalmat was not suitable for gerepileupto
! 622: 45- polredabs(,2) didn't handle non-monic polynomials
! 623: 46- check for various overflows (x ^ 1000000, etc.)
! 624: 47- printtex(I) --> missing closing brace
! 625: 48- setisset() did not check that elements were strings
! 626: 49- typo in gdiv(t_POLMOD, t_POLMOD) with different variables
! 627: KO 50- missing ; in level1.h (Windows specific code)
! 628: 51- forprime(p=0,10,) indeed started at p=0
! 629: 52- (cf 2.0.11 Fixed-1) put back 3 cgeti in galois.c (were necessary)
! 630: 53- factorpadic could overstate the precision of the result
! 631: 54- (very) rare memory corruption in allhnfmod (when cleaning up)
! 632: PM 55- prototypes in paridecl.h (fussy IRIX compiler), cc -64 in MACHINES
! 633: 56- factormod implemented for all primes (p = 2 and p > 2^31 called
! 634: factorcantor which was much slower)
! 635: 57- check for unsuitable input in [factor|roots] (SEGV for multivar. pol)
! 636: 58- polresultant sometimes gave the wrong sign
! 637: 59- extraneous space in err(impl,"") (= "sorry,... not implemented")
! 638: 60- aliases treated incorrectly during error recovery (--> obscure bugs)
! 639: 61- obscure bug when normalizing rational functions with real coeffs
! 640: (corrected content())
! 641:
! 642: Changed
! 643: 1- paricfg.h in dos and win32 extracted by Configure before the release
! 644: (to get version number right)
! 645: 2- GPRC logic: try $GPRC, then look in $HOME, /etc (/ and C:/ under EMX)
! 646: 3- make sure the output of pari_unique_filename() doesn't exist already
! 647: 4- use a stack of files to gracefully handle errors/interrupts without
! 648: leaking file descriptors
! 649: 5- replaced fixed-size buffers by dynamically allocated ones (es.c/gp.c)
! 650: 6- rename INSTALL.QUICK --> INSTALL.DOC (updated)
! 651: Changelog --> CHANGES (looks better under DOS)
! 652: 7- mention ?12 in the header
! 653: 8- use ; (instead of :) as PATH separator under DOS, OS/2 or Windows (for
! 654: drive letter)
! 655: GN 9- ECM tunings
! 656: 10- check for overflow in cget* (instead of silent wraparound)
! 657: 11- gp_main_loop cut into (improved) pieces
! 658: 13- simplified normalizepol
! 659: 14- Warn when trying to replace an existing function with install
! 660: (previously error)
! 661: 15- new function mpcopy. replaced some inlined function (rcopy, absi,
! 662: absr, negi, negr) by compatibility macros
! 663: 16- gphelp now uses GPDOCDIR and GPTMPDIR
! 664: 17- improved rational arithmetic by computing smaller gcds (gredsp removed)
! 665: GN 18- improvements in MPQS (use less memory, count relations precisely)
! 666: 19- text-mode (non-TeX) extended help printed screen by screen
! 667: 20- retuned integer multiplication, and made polkaramul the default
! 668: polynomial multiplication
! 669: XR 21- stark.c rewritten
! 670: IZ 22- updated the pariperl interface
! 671: 23- improved handling of t_INTMODs (less GC)
! 672: 24- improved (a lot) factoring/root finding for intmod polynomials
! 673: 25- modified poldivres to avoid computing remainder when useless
! 674: 26- removed inefficient shiftl/shiftlr from the kernel
! 675: 27- from the same sources, Configure can now simultaneously run on
! 676: different architectures
! 677: 28- polynomial factorizer now sorts the factors (increasing degree)
! 678: 29- ?an_obsolete_function now calls whatnow
! 679: 30- .pol operates also on t_POLMOD
! 680: 31- random() argument can have arbitrary length
! 681: IZ 32- with gnuplot, pick a sensible terminal when X11 is not around
! 682: IZ 33- change valences for use with Math::PARI
! 683: IZ 34- various interface patches (new file highlvl.c, different prototype
! 684: for foreignAutoload...)
! 685: 35- optimized permute()
! 686: 36- setrand, getrand, getstack, gettime return a C long, and not a GEN
! 687: 37- pari_randseed no longer global. Don't reset random number generator
! 688: when entering certain functions
! 689: 38- improved smallvectors() (correcting the "not enough storage" bug)
! 690: 39- improved computation of special polynomials ([sub]cyclo,tchebi,legendre)
! 691: 40- read() and extern() are timed as a whole now
! 692: 41- check if LONG_IS_64BIT is correctly defined in pari_init (in case we
! 693: include the wrong pari.h)
! 694: GN 42- use Lehmer-Jebelean to compute inverse mod p (TODO: extended gcd)
! 695: 43- moved subcyclo() to bibli2.c
! 696: 44- improved polredabs, suppressed flag 8
! 697: 45- improved ground(), case t_REAL
! 698: 46- modified the internal SMALL nf structure (add matrix M, for polredabs)
! 699:
! 700: Removed
! 701: 1- doc/Makefile.SOS, since make should succeed even if Configure failed
! 702: 2- many error messages from the analyzer (referer*, trucer1,
! 703: matvecter...), better handled by talker2
! 704: 3- obsolete test %_ in bench
! 705: 4- polkaramul(), which is now the default multiplication
! 706: 5- factmoder error message
! 707: 6- obsolete function polredabsfast
! 708:
! 709: Added
! 710: 1- `pipes' for DOS running EMX, i.e extern() and extended help are
! 711: available (perl needed for the latter)
! 712: 2- file handling functions pari_fopen, pari_fclose, pari_unlink
! 713: 3- new default `debugfiles'
! 714: 4- file README.DOS
! 715: IZ 5- target etags in top Makefile
! 716: 6- target ctags
! 717: IZ 7- gnuplot support
! 718: HC 8- elliptic functions package (ellzeta, ellwp, ellsigma)
! 719: HC 9- quadray function, extending quadhilbert
! 720: 10- files src/basemath/polarit3.c and src/gp/highlvl.c
! 721: 11- user-defined member functions
! 722: 12- possibility to choose sizeof(long) at Configure time when the
! 723: hardware suports it (eg. MIPS)
! 724:
! 725: ===========================================================================
! 726: Done for version 2.0.11 beta (released 30/07/98):
! 727: Fixed
! 728: 1- removed all dummy cgeti (--> new_chunk)
! 729: 2- stack corruption in gcarreparfait (t_INTMOD)
! 730: 3- incorrect Fq-loop in apprgen9
! 731: 4- removed useless normalize in gdivgs, gdiv
! 732: 5- some {} Warnings from gcc -Wall (unjustified, but doesn't hurt)
! 733: 6- incorrect zero series return by deriv
! 734: 7- gaffsg(, t_PADIC) misused the valuation (symptom: deriv((1+O(2^2))*x^2)
! 735: 8- online help for ellinit
! 736: GN 9- default gp built without X11 in presence of some versions of xmkmf
! 737: 10- ggval: zero series + simplified the code in there
! 738: 11- subst(O(q),q,x) --> O(q)
! 739: 12- newtonpoly did not treat correctly zero coefficients
! 740: IK 13- getrusage incorrectly detected (at least on Linux/FreeBSD machines)
! 741: 14- constante() used far too much memory (+ an int should have been a long
! 742: + an lg should have been an lgefint). Reading in a huge bnf needs much
! 743: less memory now
! 744: 15- y[2] checked in divri instead of is_bigint (see 2.0.10, Changed 2)
! 745: 16- powgi, default case: missing gcopy + incorrect gerepilemany if y==NULL
! 746: Also, uniformized random GC with gpowgs
! 747: 17- stack corruption in hil(x,y,p) when typ(x) > typ(y)
! 748: 18- SEGV if DISPLAY was unset and hi-res routine under X11 is called
! 749: GN 19- ispseudoprime(negative integer)
! 750: 20- removed -static from the CFLAGS of profiling version (didn't build)
! 751: 21- linear algebra routines involving polynomials with real coeffs
! 752: 22- compiles properly under DOS + EMX
! 753: GN 23- Warnings from C++ compiler (include unistd.h and sys/ioctl.h where
! 754: needed)
! 755: 24- znprimroot(0) --> infinite loop
! 756: GN 25- various fixes in mpqs
! 757: GN 26- add safety parentheses to macros in paricom.h
! 758: 27- polroots needed too much precision (two extra words)
! 759: 28- factor(1. * x + I) ---> rubbish or SEGV (bug in polynomialtype automat)
! 760: 29- possible address wrapparound in gerepile* (cast to ulong)
! 761: 30- in gerepile: useless special case for t_SER
! 762: 31- Pol(1) % 1 returned 1, not 0
! 763: 32- matdet([x1,1,1/x1; x2,1,1/x2 ; x3,1,1/x3]) returned wrong result
! 764: (call to gdeuc should have been gdiv in all cases in det())
! 765: 33- SEGV in powmodulo (access garbage pointer just before exiting)
! 766: GN 34- various problems in rho and mpqs
! 767:
! 768: Changed
! 769: 1- simplified detint, fibo
! 770: 2- simplified GC and optimized gmul: t_SERxt_SER, t_POLxt_POL, and gsqr
! 771: (same types)
! 772: 3- streamlined binomial
! 773: 4- replaced all abusive cmpsi by the relevant egalii
! 774: 5- prototype for error types [gmuler|gadder|gdiver][fi], assign[ri]
! 775: using new function type_name
! 776: 6- uniformized the test suites (make test*,bench,...)
! 777: GN 7- add random GC in mppgcd. Use modified plus-minus algorithm (new cgcd)
! 778: 8- format of bench files (to reduce size)
! 779: 9- cleaned up factor and polynomialtype
! 780: 10- matdet tries to return a significant 0 when called with a
! 781: non-invertible argument, e.g
! 782: matdet([1+O(3),1+O(3);O(3),O(3)]) --> O(3), not 0
! 783: 11- made the output of make bench/test slightly more informative
! 784:
! 785: Removed
! 786: 1- mpkaramul
! 787: 2- error messages expter1 and gaffer13
! 788:
! 789: Added
! 790: 1- misc/gprc.dos a sample gprc for DOS boxes
! 791: 2- Configure --prefix=dir is now recognized (in addition to -p)
! 792: ===========================================================================
! 793:
! 794: Done for version 2.0.10 beta (released 09/07/98):
! 795: Fixed
! 796: 1- integer factoring engine (ECM): sisprime killed N
! 797: XR 2- file closed twice in MPQS
! 798: GN 3- bad argument checking in [next|prec]prime
! 799: BD 4- warnings from MSVC compiler
! 800: 5- warnings from purify (vpariputs + puissii)
! 801: 6- sample program and Makefile in examples/
! 802: 7- v=...; forvec(a=v, v=...) ==> SEGV
! 803: LG 8- support for HP running NextStep
! 804: GN 9- have checkmemory (in cget*) check for overflows
! 805: LG 10- avoid a bug in cc compiler (version 4.2) under Solaris (in factmod())
! 806: LG 11- some missing prototypes and typecasts (for C++)
! 807: GN 12- add LOCAL_HIREMAINDER in mulssmod (factor(17!+1) => SEGV on some PCs)
! 808: 13- non portable pari_is_rwxdir
! 809: GN 14- lots of typos in the documentation
! 810:
! 811: Changed
! 812: GN 1- add debugging output to ECM
! 813: 2- forvec implementation (+ new flags)
! 814: GN 3- rewrote the integer factorizer (use Pollard-Brent + improved ECM +
! 815: new MPQS code from 2.0.9)
! 816: 4- disabled pari-matched-insert under Emacs
! 817: 5- reorganized vecsort & co
! 818: 6- in library mode, classno3 --> hclassno
! 819: XR 7- improved the nffactor module
! 820: HC 8- elllseries (use ellglobalred + ellrootno)
! 821:
! 822: Added
! 823: 1- new function in library mode lisGEN()
! 824: HC 2- new GP function ellrootno
! 825:
! 826: Removed
! 827: 1- error message vecsorter2
! 828: 2- functions vecindexsort, veclexsort (use vecsort with flag)
! 829:
! 830: ===========================================================================
! 831: Done for version 2.0.9 alpha (released 16/06/98):
! 832:
! 833: Fixed
! 834: 1- typo in qfbhclassno (SEGV when result in (1/3)Z)
! 835: 2- too much memory allocated in factmod /factcantor (use clones)
! 836: 3- removed the -DREADLINE_LIBRARY hack, use <readline/readline.h> and
! 837: not <readline.h>
! 838: 4- version 2.0.8 did not compile with readline 1.*
! 839: 5- after gaffect(0, padic), padic was unsuitable for further gaffect
! 840: 6- length(a string) gave number of non code words, not string length
! 841: 7- factorpadic(polynomial of degree one) did not convert coeffs to padics
! 842: 8- reduction mod p^r forgotten in gaffsg(s,t_PADIC)
! 843: 9- default(realprecision,,1) did not return # significant digits
! 844: 10- typo in nfmodprinit (return x instead of 1-x)
! 845: 11- matinverseimage did not check its arguments
! 846: 12- mathess([;]) --> SEGV
! 847: 13- matid(-100) --> SEGV
! 848: 14- mateigen([;]) --> SEGV
! 849: 15- matmultodiagonal([;],Mat(1)) --> SEGV
! 850: 16- vecextract([;],"..") --> SEGV
! 851: 17- introduced in 2.0.8 (Added 3-): aliases/user function + <TAB> ==> SEGV
! 852: GN 18- (t_RFRAC) ^ t_INT took an unreasonable amount of time
! 853: 19- prevent quick succession of ^C from corrupting memory in recover()
! 854: 20- hyperu could enter an infinite loop due to round-off errors
! 855: XR 21- matadjoint(Mat(n)) returned Mat(n), not Mat(1)
! 856: 22- matadjoint([;]) returned [[;]] (???)
! 857: 22- wrap some long error messages
! 858: XR 23- inefficiencies in rnfpolredabs
! 859: XR 24- nffactor (wrong format for discriminant computation + problems with
! 860: unseparable polynomials + compute disc only once)
! 861: HC 25- typos in kummer.c
! 862: GN 26- check environment variable LINES, not ROWS
! 863: 27- introduced in 2.0.7 (Fixed 7-): lift(Mod(O(2^0)*x, x^3 - 2)^4) was a
! 864: zero polynomial with non-zero sign (=> pb when normalizing in poldivres)
! 865: 28- timer always returned 0 if times() was used (e.g linux-alpha)
! 866: 29- kill'ing the argument of a user function corrupted the function
! 867: 30- make clean did not remove pariinline.h
! 868: 31- incorrect memcopy in identifier, case 's' (removed * sizeof(long))
! 869: 32- online help for ?. (nf.nf does not exist)
! 870: 33- lisseq0: gnil not respected after break/next. avma=av too brutal
! 871: after return
! 872: 34- ellwp assumed precdl > 3
! 873: 35- under emacs, \c + hit return froze emacs (Emmanuel Kowalski)
! 874: 36- (f()= f()=x); f; didn't set f properly
! 875: GN 37- comments in anal.c
! 876: 38- qflllgram([;]) --> SEGV
! 877: 39- no online help for bernfrac
! 878: 40- from 2.0.6 (Fixed-8): in padicff2, forgot to raise ideal to power e
! 879:
! 880: Changed
! 881: 1- improved (trivially) gneg (case t_INTMOD), gtopoly
! 882: 2- use macro is_bigint() instead of tests (ulong)x[2] < VERYBIGINT
! 883: (led to typos as in Fixed-4 in 2.0.8)
! 884: 3- improved poldivres by replacing many gsub by 1 gneg + many gadd
! 885: 4- in pvaluation check for small integer
! 886: 5- internal function rnfelement_*mod (prhall=NULL instead of gzero)
! 887: 6- improved mathess
! 888: 7- added error message "inconsistent data in" in parierr.h
! 889: 8- gpui[gs] renamed to gpow[gs]
! 890: GN 9- improved probable-primality tests ('end matching')
! 891: 10- moved pseudo primality and ECM stuff into ifactor1.c
! 892: GN 11- raise to an integer power using left-shift binary (new functions
! 893: powi and powgi)
! 894: 12- add some details in the online help headers
! 895: GN 13- nextprime, precprime now accept real arguments
! 896: TP 14- improved the alpha micro kernel (addllx and subllx)
! 897: 15- simplified poltschirnaus
! 898: 16- cleaned up identifier(): #ifdef __hpux__ + call_fun() modified
! 899: 17- taylor() improved (one gerepile removed)
! 900: 18- unified the treatment of zero series
! 901: 19- gerepilemany faster and more efficient memory-wise (copy to heap first)
! 902: GN 20- improved stack checking in lllgramall
! 903:
! 904: Removed
! 905: 1- global variable defaultpadicprecision
! 906: 2- function compute_prhall (nfmodprinit is better)
! 907: 3- function [g]pseudopremier (miller[rabin] better)
! 908:
! 909: Added
! 910: 1- function egalii
! 911: 2- support for cygwin32 in Configure (Andy Stubbs)
! 912: 3- new function gunclone to delete a clone (killbloc should be used by
! 913: the analyser only)
! 914: 4- comments in anal.c
! 915: TP/XR 5- new function factorint(), using MPQS (_experimental_)
! 916:
! 917: ===========================================================================
! 918: Done for version 2.0.8.alpha (released 07/05/98):
! 919:
! 920: Fixed
! 921: 1- improved garbage collecting in polroots
! 922: 2- zetak did not check its nfz argument properly
! 923: 3- warnings from MSVC
! 924: GN 4- isprime() did not work for numbers in [2^(BIL-1), 2^BIL-1]
! 925: GN 5- precprime sometimes missed a prime
! 926: 6- quaddisc(x in Q\Z) did not always work
! 927: 7- powering of zero series
! 928: 8- factorization of null matrices (SEGV)
! 929: 9- mateigen for non-diagonalizable matrices (SEGV)
! 930: GN 10- infinite loops in some arithmetical functions when arg = big prime
! 931: GN 11- cleaned up paridecl.h
! 932: 12- gimag/greal for type t_RFRAC/t_RFRACN (fix: Terje Sparre Olsen)
! 933: GN 13- ordinal numbers to number components seen through \x
! 934: HC 14- lllgram: incorrect gabage collecting in first "warnmem"
! 935: 15- theta(q exact, z) entered infinite loop
! 936: 16- typo in gdiventres (x<-->y in last line)
! 937: MS 17- gtrunc for p-adics when valp(x) < 0
! 938: MS 18- polresultant(u+v,u-v,v) => x + u; polresultant(u+v,u-v) => 2*u
! 939: MS 19- issquare(Pol), where Pol(0) = 0
! 940: IZ 20- use 15 points (by default) for recursive plotting as documented
! 941: 21- matsnf for singular matrices (supersedes a patch by GN)
! 942: LG 22- micro kernel support for HPUX
! 943: LG 23- compilation with Sun's C++ compiler (version 4.2)
! 944: 24- SEGV when factoring polynomials of huge degree (removed expos[100],etc)
! 945: 25- garbage collection in gpuigs
! 946: GN/BH 26- micro kernel support for ix86 running SunOS
! 947: HC 27- handling of 0x0 matrix in some hnf* functions
! 948: HC 28- bug in discrayabslist* (try bnrdisclist(bnfinit(y^2-2),200,,1) in 2.0.7)
! 949:
! 950: Changed:
! 951: 1- moved hnf and snf from base1.c to alglin2.c (base1.c too big)
! 952: 2- use gexpo in linear algebra functions when entries contain real
! 953: numbers (work for inexact polynomial entries now). Still does not
! 954: work properly for p-adics
! 955: GN 3- in sigma() fall back to numbdiv() or sumdiv() when k < 2
! 956: 4- made comments started in file through read("file") local to file
! 957: (not so \r file)
! 958: 5- valuation(0) now returns VERYBIGINT instead of raising an error
! 959: MS 6- simplified gegal in case t_FRAC
! 960: IZ/GN 7- faster initprimes, using less memory
! 961: LG 8- improved Configure
! 962:
! 963: Added:
! 964: 1- new function write1
! 965: MS 2- new Lisp-like quote operator 'a
! 966: IZ 3- readline: electric parentheses, move across balanced expressions,
! 967: add formal arguments to completion of GP command (when unique)
! 968: 4- micro-kernel for hppa
! 969: 5- quiet mode (gp -q) to suppress headers
! 970:
! 971: ===========================================================================
! 972: Done for version 2.0.7.alpha (released 21/03/98):
! 973:
! 974: Fixed
! 975: XR 1- SEGV in get_regulator for imag. quad. fields
! 976: 2- "beautified" output (still ugly, less buggy, ok for simple objects)
! 977: 3- error during "print()" could change output default
! 978: 4- SEGV when syntax errors in gprc
! 979: 5- make install failed when libpari.$sodest had been removed
! 980: 6- moved term_width and term_heigth to es.c
! 981: HC 7- inefficiency in mulii (Karatsuba used too easily)
! 982: XR 8- many problems in stark.c
! 983: XR 9- bugs in rnfpolredabs (+ new flag)
! 984: GN 10- _many_ typos in tutorial and user's manual. New, much nicer, layout
! 985: 11- whatnow not robust enough + faulty call by err_new_fun ==> SEGV
! 986: 12- idealadd treated incorrectly the 0 ideal
! 987: 13- default(realprecision) gave wrong value when format had been changed
! 988: 14- bnfs structure was inefficient for applications (inverted 2nd comp.)
! 989: 15- buffersize was incorrectly updated during complicated read()
! 990: 16- one-line comments "ignored" if buffersize too small
! 991: 17- using eval on object containing killed variables caused a SEGV
! 992: 18- contfrac lost last term when first parameter was rational and
! 993: numerators were supplied
! 994: 19- problems when dividing with polynomials/series whose leading coeff is
! 995: non-exact 0
! 996: BD 20- missing #ifdef ZCAT in es.c
! 997: BD 21- check in paricom.h whether min / max are already defined
! 998: BD 22- universal_constants freed early in freeall() (problems on Windows NT)
! 999: BH 23- update Makefile.dos (nf.h --> parinf.h)
! 1000: BH 24- changed kernel/ix86/level0asm.c (FUNBEGIN/FUNEND + ALIGN)
! 1001: 25- cleaned the gauss_pivot functions + garbage collecting in gauss()
! 1002: 26- mathnfmod did not check its second argument
! 1003: 27- since 2.0.4 (item 24) install did not work anymore on FreeBSD + gp-dyn
! 1004: 28- cleaner malloc in plotX.c (to remove Warnings when debugmem > 0)
! 1005: 29- slightly optimized matdet (gsub --> gadd(,gneg))
! 1006: 30- ? x=1; Pol(1)
! 1007: *** variable name expected: x,n,
! 1008: ^---
! 1009: is fixed everwhere (wherever an optional variable name is expected)
! 1010: setting "x" to some value is now safe
! 1011: IZ 31- nicer looking plot() function
! 1012: 32- warnings while building for m68k arch
! 1013: 33- sqrt(Mod(1,2)) went into an infinite loop
! 1014: 34- ?? did not resolve aliases
! 1015: 35- besselk near integers entered an infinite loop
! 1016: 36- p-adic sqrt (bad valp)
! 1017: 37- hnfmodid could output wrong results (wrong diagonal) and wreck the
! 1018: powering of prime ideals
! 1019: 38- added garbage collecting in izeta
! 1020: 39- ??a_number now works as gphelp
! 1021: 40- in prettymatrix format, matrices 0xn and nx0 are always printed as [;]
! 1022: 41- 1 - "a" ==> SEGV
! 1023:
! 1024: Changed
! 1025: 1- reorganized output functions (es.c)
! 1026: 2- have mulir check if integer is small
! 1027: 3- part of GENtostr inlined (check_output_length())
! 1028: HC 4- functions where it makes sense now admit an optional argument for
! 1029: "variable number" (intformal, deriv, things having to do with
! 1030: polynomials, etc)
! 1031: 5- lines of any length can be input interactively (previously 1k at most)
! 1032: 6- remove {} and \ from readline history
! 1033: 7- improve treatment of sample programs in gphelp -d
! 1034: 8- uniformized debugmem messages
! 1035: 9- simplify the coinit function (Michael Somos)
! 1036: 10- changing the function set through default(compatible,) no longer
! 1037: resets installed functions
! 1038: 11- renamed nfker-->nfkermodpr, nfgauss-->nfsolvemodpr
! 1039: 12- simplified/extended dummycopy
! 1040: 13- listput gives more informative error messages
! 1041:
! 1042: Added
! 1043: 1- default: lines
! 1044: HC 2- (made known to GP) functions nfmodprinit, nfkermodpr & nfsolvemodpr
! 1045: XR 3- function bnrstark
! 1046: 4- install code D& (optional pointer)
! 1047: 5- function name_var (to use after fetch_var)
! 1048: 6- concatenation of lists (or row vectors) of objects (overloaded concat)
! 1049: 7- ranges for vecextract (eg. vecextract(x, "1..3"))
! 1050:
! 1051: Removed
! 1052: 1- useless code 'F' in analyzer
! 1053: 2- perl directory (moved the files in ./perl to ./doc)
! 1054: ===========================================================================
! 1055: Done for version 2.0.6.alpha (released 22/02/98):
! 1056:
! 1057: Fixed
! 1058: 1- \x (voir2) did not always print the correct number of words
! 1059: 2- in changevar, type POLMOD, modulus and polynomial were interchanged
! 1060: 3- all occurences of former header file names in the documentation
! 1061: 4- (from 2.0.5. item C5) using allocatemem in a script aborted file reading
! 1062: 5- expanded the documentation for bnrrootnumber
! 1063: 6- factor(pol. with rational non integer coeff) could corrupt the stack
! 1064: 7- Euler gave wrong results when prec > 80502 digits (also cleaned up Pi)
! 1065: 8- cleaned up ggcd, grando0, tayl and factorpadic2
! 1066: 9- is_scalar_t --> is_const_t in gvar/gvar2
! 1067: IZ 10- Configure and example Makefile for OS/2
! 1068: 11- idealprincipal did not accept n x 1 matrices
! 1069: 12- idealhnf(nf,a,b) did not work for quadratic fields
! 1070: 13- matsolve[mod]([;],.) could corrupt the stack or accept incorrect input
! 1071: 14- modules/galois.c unnecessarily included <sys/stat.h>
! 1072: BH 15- symbol name problem in level0asm.c (cancels patch by IZ)
! 1073: XR 16- fixes in stark.c
! 1074: 17- cleaned all occurences of HIGHVALPBIT and HIGHEXPOBIT
! 1075: 18- serconvol assumed main variable was "x"
! 1076: 19- (x + O(x^2))^(3/2) gave a stupid error message
! 1077: 20- types not checked correctly in gtoser
! 1078: 21- check more seriously arguments to default()
! 1079: 22- in Makefile: added some missing $(RM), changed an "ln -s" in $(LN)
! 1080: 23- extra '\n' after print1 + sequence of warnings
! 1081: 24- simplified a statement in addii()
! 1082: 25- typo in classno() (classno(-200183): "division by 0") + cleaned classno
! 1083: 26- all compiler warnings + most of lint's
! 1084: 27- make install would not work anymore if emacs was not found
! 1085: 28- HNF reduction not always complete when rank is small compared to dim
! 1086: 29- gphelp -d did not handle ~ properly (+ cosmetic changes)
! 1087:
! 1088: Removed
! 1089: 1- unused files src/kernel/ix86/{asmi386.h,asmi386inline.h}
! 1090: 2- useless macro gcopyifstack and global variable RAVYZARC
! 1091: 3- useless error message gcder1
! 1092: 4- useless (undocumented) function fasthnf
! 1093:
! 1094: Changed
! 1095: 1- simplified isonstack
! 1096: 2- extended valid inputs for matsolvemod
! 1097: 3- don't output a '\n' before an empty matrix
! 1098: 4- mpsincos no longer static (so that it can be installed)
! 1099: 5- reorganized gp_initrc() to cater for for non-UNIX arch
! 1100: 6- the "obsolete function" message now launches whatnow() directly
! 1101: (and caters for the special cases "i" and "o" now)
! 1102: 7- improved stack management in hnf/allhnfmod/fasthnf
! 1103: 8- moved powering functions to trans1.c
! 1104: 9- disable logfile while reading .gprc
! 1105: 10- (slightly) the output of whatnow()
! 1106:
! 1107: Added
! 1108: BH 1- support for DOS build using EMX (dos directory + fixes)
! 1109: 2- function cotan() and bernfrac()
! 1110: 3- a code for pointers (&) for analyzer and install()
! 1111: 4- ??readline now includes info about completion and online help
! 1112:
! 1113: ===========================================================================
! 1114: Done for version 2.0.5.alpha (released 07/02/98):
! 1115:
! 1116: Fixed
! 1117: BH 1- LOCAL_HIREMAINDER added twice more in mp.c
! 1118: LG 2- some symbols declared extern in gp_rl.c to avoid compiler warnings
! 1119: LG 3- isprime could corrupt the stack (isprime_proto removed)
! 1120: LG 4- possible redeclaration of macro from system header (MAX in bibli1.c)
! 1121: 5- typos in the user's manual
! 1122: 6- removed unused error numbers and fixed their ordering in mp.s
! 1123: 7- a ; or : after read/extern was not always correctly taken into account
! 1124: 8- a bug in polroots (possible SEGV in very rare cases) (Paul Zimmermann)
! 1125:
! 1126: Changed
! 1127: LG 1- (huge) reorganization of PARI kernel and headers
! 1128: 2- logfile example in gprc.dft to take advantage of "time expansion"
! 1129: XR 3- stark units module rewritten
! 1130: HC 4- rnfpolredabs improved
! 1131: 5- errors now cause GP to close any file it was reading instead of going on
! 1132: 6- increased the static limit for the number of files opened simultaneously
! 1133:
! 1134: Added
! 1135: XR 1- function bnrrootnumber
! 1136:
! 1137: ===========================================================================
! 1138: Done for version 2.0.4.alpha (released 26/01/98):
! 1139:
! 1140: Fixed
! 1141: 1- recovery on startup was not correctly disabled
! 1142: GN 2- pari.el (see emacs/pari.el-changes)
! 1143: 3- "" missing around a DLLD caused Configure to fail if shared library not
! 1144: available
! 1145: 4- component of GEN could be created before its root in gadd(t_SER, t_SER)
! 1146: 5- nffactormod did not like big primes
! 1147: 6- removed the `.' binary concat operator introduced in last update
! 1148: (broke semantics). Instead Str() argument evaluated in string context
! 1149: 7- solve did not find some obvious zeroes (solve(x=-2,1,x) for instance)
! 1150: 8- Configure -pg did not work
! 1151: 9- 68k version didn't work: corrected mp.s, moved some code & defines
! 1152: 10- subst(x,variable(x),1) did not work
! 1153: 11- flag acted contrary to doc in matsolvemod
! 1154: 12- in rare cases the prompt could still start at column > 1
! 1155: 13- bnfissunit much faster now
! 1156: 14- idealval could make mistakes with non-integers
! 1157: 15- Mat([1])[1,] gave a stack error
! 1158: 16- zetakinit(x-1) as well
! 1159: 17- zetakinit(K, even integer) gave a wrong result whenever r1(K)>0
! 1160: 18- typo in whatnow(hermite) and ?bnfsunit
! 1161: 19- missing newline in user error after print1
! 1162: 20- various typos and omissions in chapters 1, 2 and 5 of manual
! 1163: 21- (x-x)==(y-y) returned FALSE
! 1164: 22- polfactormod(f,0) gave a SIGFPE
! 1165: 23- some missing #ifdef UNIX
! 1166: BH 24- install() now works for gp-sta under Linux and OSF
! 1167: BH 25- gcc Warnings in gp.c + es.c
! 1168: BH 26- problems when installing from a different non-priviledged account
! 1169: BH 27- inefficiencies in mpinline.h (replace memory access by a constant)
! 1170:
! 1171: Changed
! 1172: 1- when logging mode is on, record command line as well as result, and
! 1173: flush buffer often
! 1174: 2- subdirectory lib now called misc. Changed some filenames in it
! 1175: 3- defaults psfile and logfile are now run through strftime
! 1176: 4- for benches total time now taken into account ([BUG] was excluded)
! 1177: 5- noerr is now the LAST error message (for CLISP interface)
! 1178: 6- cleaned path expansion (default(path,...))
! 1179: 7- renamed types.h and cast.h (prefixed by "pari")
! 1180: 8- renamed type Rect to PariRect
! 1181: DB 9- kernel/kerPPC.s replaced by kernel/kerPPC.c
! 1182: 10- made static the arrays in check_isin() (for the Mac port)
! 1183: BH 11- overflow/hiremainder use local variables as much as possible
! 1184: 12- prompt not printed during a batch job, unless echo is set
! 1185: commands not echoed twice in interactive mode
! 1186:
! 1187: Added
! 1188: 1- gplogfilter script in misc
! 1189: 2- check for strftime in Configure
! 1190: 3- support for alpha running linux (include portability fix on keralpha.s)
! 1191: 4- file MACHINES
! 1192: 5- made message for "array index out of range" error more precise
! 1193: 6- more frequent garbage collecting in mathnf
! 1194: BH 7- inline asm for i386
! 1195: GN 8- support for native compiler on AIX
! 1196:
! 1197: Removed
! 1198: 1- support for dynamic linking on AIX (did not work)
! 1199:
! 1200: ===========================================================================
! 1201: Done for version 2.0.3.alpha (released 13/01/98):
! 1202:
! 1203: Fixed:
! 1204: 1- rare bug in gadd (PADIC + PADIC) which caused one of the arguments
! 1205: to be overwritten
! 1206: 2- typos in refcard
! 1207: 3- galois.c still couldn't compile on the HP (_INCLUDE_POSIX_SOURCE)
! 1208: 4- introduced in 2.0.2: item 14 used gexpo incorrectly (bnfinit sometimes
! 1209: did not give units it could have computed)
! 1210: 5- replaced INFINITY by pariINFINITY in rootpol.c (cancels Warning on OS/2)
! 1211: 6- on OS/2, target ../gp-$dft in o.xxx/Makefile could not be built
! 1212: (extraneous $exe_suff)
! 1213: 7- command line switches so that one can enter them with or without white
! 1214: space (new function read_arg in gp.c)
! 1215: 8- setdcolors so that it can't unset disable_colors if we are under emacs
! 1216: 11- random did not check its argument correctly (random(2^32) was accepted)
! 1217: 12- b=10; for(a=1,b, b=2) exited immediately, whereas the upper bound is
! 1218: supposed to be evaluated only once
! 1219: 13- reorganized the error recovery system (initially because errpile could
! 1220: cause SEGV on Linux systems)
! 1221: 14- typo. problems in doc and refcard (interletter spacing in $nfz$...)
! 1222:
! 1223: Changed:
! 1224: 1- Reorganized Makefile.SH: extraction twice as fast
! 1225: 2- pari.menu and pariemacs.txt rewritten, pari.el updated
! 1226: 3- expanded the man gp.1 to mention command line switches
! 1227: 4- the implied input from non-interactive input command (like extern and
! 1228: read) does not go into the GP history (%x) anymore (it never went into
! 1229: readline's). The final output (value of last expression evaluated) of
! 1230: course still does!
! 1231: 5- updated chapter 5 of the User's Manual (removed obsolete information)
! 1232:
! 1233: Added:
! 1234: 1- better settings for handling the Meta key under readline in
! 1235: examples/Inputrc
! 1236: YU 2- support for shared libraries under FreeBSD
! 1237: 3- colors under Emacs
! 1238: 1) emulate exactly the "colors" default after a M-x gp
! 1239: 2) .gp files edited get a special highlighting
! 1240: 4- a flag to default() to get the result under GP
! 1241: 5- overloaded the "." (member) operator to concatenate as strings if LHS is
! 1242: a string
! 1243: 6- .gprc accepts some limited preprocessing directive (#if READL and
! 1244: #if EMACS (and #ifnot as well)). Updated lib/gprc.default to reflect the
! 1245: changes
! 1246:
! 1247: Removed:
! 1248: 1- some unused, undocumented functions (allocatemem(), checksqid())
! 1249: made static some other (op_ReIm)
! 1250:
! 1251: ===========================================================================
! 1252: Done for version 2.0.2.alpha (released 15/12/1997):
! 1253:
! 1254: Fixed:
! 1255: 1- typos in the documentation for the random() function
! 1256: 2- removed an extra -emacs flag in pari.el
! 1257: 3- decodefactor was incorrectly remembered by whatnow (it's factorback now)
! 1258: 4- test mode did not prevent all prompt expansion (==> bug in make test)
! 1259: 5- gphelp stopped abruptly when meeting a cross-referencing macro
! 1260: 6- zetainit now aborts cleanly when disc. too big (caused memory fault)
! 1261: 7- exceedingly rare bug in the printing of real numbers (missing decimals)
! 1262: 8- too early rounding in polroots which in rare cases made GP think some
! 1263: error had happened
! 1264: 9- text overflowed the manual pages (and tutorial) on non-A4 paper
! 1265: 10- polred incorrectly assumed that nf arguments were totally real (in a non
! 1266: critical part: that just led to some unnecessary computations)
! 1267: 11- polred(f,2) could try to overwrite universal integer gzero
! 1268: 12- check if we are using GNU as or GNU ld in Configure
! 1269: 13- empty -R argument to $CC when building GP without graphics (==> link
! 1270: failed)
! 1271: 14- bnfinit acts sensibly when fundamental units are too large (before:
! 1272: "overflow in R*R")
! 1273: 15- cleaned up buch2.c (removed ideallllredpart1, removed gerepile in
! 1274: class_group_generators(), not_given now called from getfu)
! 1275: 16- nfgaloisconj(...,2) was unusable (tried an illegal multiplication)
! 1276: 17- is_totally_split was very inefficient (==> nfgaloisconj was very slow)
! 1277: 18- some unimportant typos (gexpo) in polgalois
! 1278: 19- compiling without readline gave a Warning in gp.c (already_hist)
! 1279: 20- some make programs don't like $< (suppressed from doc/Makefile)
! 1280: 21- ellap sometimes assumed wrongly that coeffs of the curve were integers
! 1281: 22- flag 0 and 1 in ellap had been mixed up
! 1282: 23- print an extra \n before an error message if last output did not
! 1283: include it
! 1284: 24- component(any non recursive type) gave a SEGV
! 1285: 25- suminf / prodinf / prodeuler assumed they treated a real expression
! 1286: 26- lindep / algep had problems with numbers having a rational component
! 1287: 27- last significant digits of bessel* and hyperu were wrong (now only the
! 1288: last one is)
! 1289: 28- expi now returns a long as documented (expi(gzero) returned 0 on 64-bit
! 1290: machines!)
! 1291: 29- g++ could not compile libpari.a (casts missing, extraneous extern "C",
! 1292: faulty inline, etc.)
! 1293: 30- cleaned up the enums in gp.h
! 1294: 31- incorrect target veryclean in doc/Makefile
! 1295:
! 1296: Changed:
! 1297: 1- '_' is now valid in GP identifiers
! 1298: 2- removed subsections from table of contents. pages in the manual are now
! 1299: numbered consecutively
! 1300: 3- gexpo now accepts exact 0 arguments (return -HIGHEXPOBIT)
! 1301: gexpo for complex numbers now return max(gexpo(Re), gexpo(Im))
! 1302: 4- parts of lib/gprc.default
! 1303: 5- the second argument of subgrouplist is now optional
! 1304:
! 1305: Removed:
! 1306: 1- buggy label/goto functions
! 1307: 2- (now unused) error messages: labeler, gexpoer2
! 1308: 3- _ as shorthand for conj()
! 1309: 4- (useless, undocumented) function gnormalize
! 1310: 5- some files in the lib directory (functions, gp)
! 1311:
! 1312: Added:
! 1313: 1- some files in the lib directory (README, pari.xbm, xgp)
! 1314:
! 1315: ==============================================================================
! 1316: Done for version 2.0.1.alpha (released 29/11/1997):
! 1317:
! 1318: Fixed:
! 1319: 1- multiple factors forgotten when factoring univariate pols over Z
! 1320: 2- extraneous modifications of the random seed (period of random
! 1321: generator was ridiculously small for some buchxxx functions). Change
! 1322: the bench results (in a non essential way)
! 1323: 3- bad terminal size determination
! 1324: 4- aliases incorrectly killed (possible SEGV)
! 1325: 5- incrementing/decrementing array elements with the (valid) syntax
! 1326: v[i]++ / v[i]-- caused a weird error message
! 1327: 6- subgrouplist() could end up by a SEGV on Linux systems
! 1328: LG 7- on HP-UX, flag -Aa not taken into account in Configure (caused it to
! 1329: fail on has_TIOCGWINSZ.c)
! 1330: LG 8- added a missing #define _INCLUDE_POSIX_SOURCE in galois.c
! 1331: (7 & 8 independently fixed by OV)
! 1332: GN 9- the script examples/cl.gp called vecconcat() instead of concat()
! 1333: GN 10- make install-sta rebuilt gp-sta unnecessarily
! 1334: GN 11- many, many typos in the tutorial
! 1335: 12- tu / fu applied incorrectly to a bnfclassunit
! 1336: 13- bnfclassunit did not output a valid object (matrix whose elements were
! 1337: rows instead of columns)
! 1338: 14- conversion bug from t_QUAD to t_REAL/t_COMPLEX
! 1339: 15- off-by-1 error in the history recovery after an error
! 1340: 16- in fprintferr() (debug messages), embedded %Z did not work correctly
! 1341: 17- rnfequation over Q yielded a SEGV
! 1342: 18- string() in compatibility mode corrupted the stack
! 1343: 19- it is now safe to have colours in prompt and input line under readline
! 1344: 20- default colours restored upon exiting
! 1345: 21- default colors in lib/gprc.default used 0 instead of -1 for "no color"
! 1346: 22- psi and lngamma could give wrong results when the argument was not real
! 1347: 23- the make test-graphic bench was missing a newline
! 1348: 24- Pol(break) gave a SEGV
! 1349: 25- x=1; Pol(1) gave a stupid error message
! 1350: IZ 26- tutorial.tex was unnecessarily rebuilt
! 1351: 27- typos in ggcd (cases nobody will ever access: gcd of a non-reduced
! 1352: LG fraction with an intmod, etc.)
! 1353: LG 28- incorrect handling of integrals of vectors
! 1354: 29- gcd of polynomials with non-exact coeffs gave stupid results (they are
! 1355: still often wrong, since the mathematical notion is rather imprecise)
! 1356: 30- typos in rnfkummer (incorrect flag handling)
! 1357: 31- typo in idealpowprime (negative exponent gave wrong denominator)
! 1358: 32- multiplication t_COMPLEX x t_COMPLEX used 4 mult. instead of 3
! 1359: 33- some modular functions (j, f, f2) rewritten to take advantage of new eta
! 1360: function (trueta)
! 1361:
! 1362: Changed:
! 1363: 1- ?? (gphelp) starts in detex mode (-d) from a console window. tmp files
! 1364: now placed according to the $TMPDIR environment variable (in /tmp by
! 1365: default)
! 1366: 2- /usr/local/lib/pari/data is a better place for the Galois resolvents
! 1367: (which are not included yet in the standard distribution)
! 1368: 3- The example for prompt in gprc.default to discuss escape sequences under
! 1369: readline
! 1370: 4- Configure now starts by searching the toplevel directory for a temporary
! 1371: readline installation
! 1372: 5- The output of default(colors) was confusing. It is a string now
! 1373: 6- third argument of polinterpolate can be arbitrary and is now optional
! 1374: ("x" by default) (it had to be numeric)
! 1375: 7- directory configure renamed config, some of the Makefiles in there as
! 1376: well (to avoid confusion)
! 1377: 8- the low_stack macro to facilitate dynamic stack expansion
! 1378: 9- if, back to GP main loop, the last command was a print1(), output an
! 1379: extra newline. This way the prompt is guaranteed to be anchored on
! 1380: column 1 (suppresses a readline display bug as well)
! 1381: 10- Due to 9, pari.el now supposes the prompt starts in col. 1
! 1382: 11- Better handling of version numbers (LG)
! 1383: 12- decodefactor() renamed to factorback()
! 1384:
! 1385: Removed:
! 1386: 1- The (unused, undocumented) Malloc_Procs functions and macros
! 1387: 2- The (now unused) error message numvarer
! 1388: 3- some (useless, undocumented) targets in the top Makefile
! 1389: 4- (useless, undocumented) function polgcd()
! 1390:
! 1391: Added:
! 1392: 1- This file !
! 1393: 2- new flags -ch, -cb, -cu (colour support) to gphelp (see its header)
! 1394: IZ 3- OS/2 (+ enough tools...) supported by Configure
! 1395: 4- file examples/Inputrc (example of .inputrc for readline)
! 1396: 5- Weber f1 function implemented
! 1397: 6- Karatsuba multiplication t_REAL x t_REAL (development code, not used by
! 1398: PARI yet). Test it with install if you wish
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>