[BACK]Return to CHANGES CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / pari-2.2

Annotation of OpenXM_contrib/pari-2.2/CHANGES, Revision 1.1

1.1     ! noro        1: AW = Aleksander Wittlin
        !             2: BA = Bill Allombert
        !             3: BD = Bill Daly
        !             4: BH = Bruno Haible
        !             5: CB = Cliff Bergman
        !             6: CW = Carl Witty
        !             7: DB = Dominique Bernardi
        !             8: DC = Dan Christensen
        !             9: DE = Denis Excoffier
        !            10: DF = David Ford
        !            11: DS = Denis Simon
        !            12: GH = Guillaume Hanrot
        !            13: GN = Gerhard Niklasch
        !            14: GT = Glenn Thobe
        !            15: HC = Henri Cohen
        !            16: IS = Igor Schein
        !            17: IK = Iwao Kimura
        !            18: IZ = Ilya Zakharevich
        !            19: KO = Kiyoshi Ohgishi
        !            20: LG = Louis Granboulan
        !            21: MD = Mark Dickinson
        !            22: MS = Michael Stoll
        !            23: OR = Olivier Ramare
        !            24: OV = Oliver Voigt
        !            25: PM = Peter Montgomery
        !            26: PW = Paul van Wamelen
        !            27: TH = Teluhiko Hilano
        !            28: TP = Thomas Papanikolaou
        !            29: XR = Xavier Roblot
        !            30: YU = Yoshiaki Uchikawa
        !            31:
        !            32:
        !            33: Done for version 2.2.1 (released ??/09/2001):
        !            34:
        !            35:   Fixed
        !            36:     1- typo in factornf (factor of degree 3 --> error message)
        !            37:     2- rnflllgram(), idealinv() didn't check their arguments
        !            38:     3- [readline] \r<TAB> would complete using files matching r*
        !            39:     4- wrong result in ZY_ZXY_resultant when degree dropped in ERS
        !            40:     5- factor(x^2 + I*1.) --> stack corruption
        !            41:     6- \r directory was silently accepted
        !            42:     7- check arguments in polcompositum()
        !            43: TH  8- [Cygwin:] fixed paths for readline on cygwin 1.*
        !            44: XR  9- possible overflow in ComputeCoeff [ bnrstark() ]
        !            45:    10- numtoperm(2,x) --> SEGV [check arguments now]
        !            46:    11- rnfkummer could fail with "missing units"
        !            47:    12- factornf(P, non-monic t) --> error
        !            48:    13- forsubgroup/subgrouplist didn't check their arguments nor accepted SNF
        !            49:        matrices
        !            50: XR 14- typo in nilord4 --> SEGV, e.g.
        !            51:        nfdisc(x^16-363*x^14+53550*x^12-4091823*x^10+170172414*x^8 \
        !            52:          -3663509067*x^6+33703350345*x^4-63300912912*x^2+32451860736)
        !            53:    15- some messages didn't distinguish between MBytes and millions of Bytes
        !            54:    16- typo in BuildTree [hensel lift]: SEGV
        !            55:    17- (rare) oo loop in polroots, e.g. x^5-2*x^4-32*x^3+72*x^2+218*x-491
        !            56:    18- oo loop in ellpointtoz on certain rare inputs
        !            57:    19- stack corruption in factorff
        !            58: BA 20- better interface for galoissubcyclo
        !            59: BA 21- galoisfixedfield(,,2) now works with non Galois subfields
        !            60: BA 22- nfgaloisconj now use `d-1'-test + better strategy
        !            61: BA 23- fix accuracy problems in vandermondeinverse
        !            62:    24- missed some simplifications when handling multivariate t_RFRAC
        !            63:    25- [Cygwin:] incorrect default 'path' (used : instead of ;)
        !            64:    26- element_sqr didn't check its arguments (SEGV if bad input)
        !            65:    27- possible stack corruption in polroots (+ improved GC there)
        !            66:    28- typo in nfsubfields (incorrect bound: could miss a subfield)
        !            67:    29- typo in zsimpjoin (concat error in bnrdisclist, intr. in 2.2.0)
        !            68: IZ 30- typo in Configure [rl_save_prompt and _eprintf not found in target libs]
        !            69: MD 31- oo loop in ellap [uninitialized array length in apell1]
        !            70:    32- stack corruption in addfrac [wrong result for large denominators]
        !            71:    33- resmod2n [called from powmodulo] could return unnormalized integers
        !            72:    34- not enough GC in nfinit for huge degrees [get_mul_table]
        !            73:    35- intformal(1/2/t^2) --> apparent oo loop
        !            74:    36- polredabs(degree 1 polynomial) --> x  [could be very slow]
        !            75:    37- polredabs() could use a basis which was not LLL reduced
        !            76: BA 38- pariformats (e.g %Z) incorrect on 64bit machines
        !            77:    39- polhensellift(x,[x,1],2,2) --> "bug in multiplication"
        !            78:    40- glitches in readline completion (random() * ne<TAB) --> inserted args)
        !            79: IZ 41- CLK_TCK may reside in time.h
        !            80:    42- misleading definition for ?omega / ?bigomega
        !            81:    43- on \q, "Good bye" --> Goodbye
        !            82:    44- install() accepted gpnames which were not valid identifiers
        !            83:    45- bnfinit(x^4+65,,[.1]) --> SEGV   (whenever c < c2)
        !            84:    46- when host badily configured (~ not expanded), gp would die on startup
        !            85: XR 47- factorpadic(, not a prime, ) --> SEGV
        !            86:    48- matrix(2,2,i,i, ...) allowed, with weird result
        !            87: BA 49- better arguments checking for galoisfixedfield
        !            88:    50- psi(I) --> incorrect type in rtodbl
        !            89: XR 51- increase precision automatically when needed in quadhilbertreal
        !            90:
        !            91:   Changed
        !            92:     1- removed useless parameter prec in many bnr* and rnf* functions
        !            93:     2- major update of bnr* functions [use elements in factored form]
        !            94:     3- use /tmp instead of /var/tmp as default tmp directory [faster on Solaris]
        !            95: BA  4- Fp_PHlog (Pohlig-Hellman) can use a factorization of the subgroup order
        !            96:     5- major update of buchall() [bnfinit]: accurate precision increase, cleanup
        !            97:     6- [libpari:] rename permute/permuteInv to GP names numtoperm/permtonum
        !            98:     7- scalar + [;] --> error  [made it [;]]
        !            99: BA  8- factorback, chinese, lcm and gcd now accept a single vector
        !           100:     9- Use I \cap Z instead of NI in hnfideal_inv
        !           101:    10- improved issquare(t_INTMOD)
        !           102:    11- improved subresultant routines (new function pseudodiv)
        !           103:    12- command-line options to Configure (installation directories)
        !           104:    13- rnfequation: use modular (bivariate) resultant
        !           105:    14- polynomial gcd (srgcd): uses modular algo (modulargcd,nfgcd) if possible
        !           106:    15- unified internal hnf* functions
        !           107:    16- improved nfsubfields [better Hensel lift]
        !           108:    17- merged all "integer logarithms" + "safe ceil" functions (mylogint,
        !           109:        get_e, floor_bound, myceil)
        !           110:    18- readline: TAB on empty parentheses following a function name has the
        !           111:        same effect as M-h (used to insert args).
        !           112: IZ 19- faster computation of prime number table [better cache use]
        !           113: IS 20- obscure compiler bug in rootpol.c:max_modulus() [don't modify tau]
        !           114:    21- make bench ('elliptic'): explained [BUG] message
        !           115:    22- allow lift(t_PADIC)
        !           116:    23- faster polroots for Q of the form P(x^k)
        !           117:    24- allow nfsubfields(pol,)  [had to be nf]
        !           118:    25- allow subst(t, x^n, x)
        !           119:    26- ?user_fun: do not include function text if help available from addhelp
        !           120:        [always include it for ??user_fun]
        !           121:    27- default values for used defined function arguments are evaluated when
        !           122:        the function is called [used to be "when it's defined"]
        !           123:
        !           124:   Added
        !           125: BA  1- function pith() [= pi(x), naïve implementation]
        !           126:     2- new target for Makefile: gp.dbg
        !           127: BA  3- library functions FpX_roots_to_pol, FqX_roots_to_pol
        !           128: BA  4- library function FpX_FpXQ_compo (Brent & Kung)
        !           129:     5- library function FpM_inv, FpM_gauss, ZM_inv, QM_inv
        !           130:     6- library function primitive_part
        !           131: IZ  7- readline: allow switching readline editing on/off [for commandtools]
        !           132: IZ  8- readline: F1 has same effect as M-h, and F1F1 as M-H (short/long help)
        !           133:     9- function writebin
        !           134: XR 10- new error message "precer" (precision too low in...)
        !           135:    11- allow minimal handling of t_VECSMALL under GP
        !           136:
        !           137:   Removed
        !           138:     1- obsolete functions twototwo, threetotwo, threetotwo2
        !           139: XR  2- error message truer2 (superseded by precer)
        !           140:
        !           141: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        !           142: Done for version 2.2.0 (released 30/04/2001):
        !           143:
        !           144:   Fixed
        !           145: BA  1- gpflog could print some lines twice
        !           146:     2- return() could forget objects on heap
        !           147:     3- polhensellift didn't accept factors which were not squarefree
        !           148:     4- Configure missed some shared libraries (when only .so.version was there)
        !           149:     5- possible symlink attacks against mpqs()
        !           150:     6- internal requests for precision of bnfinit(x) [ = Q ] could yield SEGV
        !           151:     7- compatible = 3 not taken into account when reading a file
        !           152:     8- cbezout(0,0) = 1 (should be 0)
        !           153:     9- when lines > 0, output driver didn't reset properly after user output
        !           154:    10- nfdisc(x^5+2*x^4+3*x^3-3*x^2+122*x-1) --> impossible inverse
        !           155:    11- bug in gcc-2.95 -O3 -fomit-frame-pointer [Linux]: SEGV in quicksqri
        !           156:    12- addrfrac: could return a t_RFRAC whose denominator wasn't a t_POL
        !           157:    13- bnfcertify (zimmertbound): off by two error when reading bound
        !           158:    14- very inefficient Hensel lift (used ideas from Shoup's NTL)
        !           159:    15- incorrect assumption on factor degrees in polcompositum (SEGV in rare
        !           160:        cases)
        !           161:    16- Vec(VECSMALL) --> incorrect object
        !           162:    17- galoispermtopol didn't check permutation length (--> SEGV on bad input)
        !           163: XR 18- rnfinit(nf, T) -> bug in multiplication if nf = Q
        !           164:    19- Pol(cotan(x)) -> SEGV
        !           165:    20- factor(tough polynomial over Z[X]) --> possible SEGV when padic
        !           166:        precision is increased [e.g factor(polzagier(60,0))]
        !           167: XR 21- bug in ideal bound computation in rnfnormgroup
        !           168:    22- bnrisprincipal(...,y+z) --> SEGV
        !           169:    23- GP could forget about a function whose redefinition was stopped by a
        !           170:        syntax error (sometimes with a delay!)
        !           171:    24- bnfisnorm result would include pols in MAXVARN: e.g. Mod(1, #)
        !           172: BA 25- pbs in Fp_factor_irred (factoring over Fq a pol. defined over Fp)
        !           173:    26- missing macros for gphelp (tex-mode) in chapter 5
        !           174:    27- nfsubfields(nfinit(polcyclo(13))) --> impossible inverse Mod(0, 29)
        !           175:    28- argument checks for element_mulid, nf_get_r1 (access to nf.sign)
        !           176:    29- typo in quadhilbertimag (SEGV for very large discriminants)
        !           177:    30- wrong precision used in numerical derivation
        !           178: BA 31- isprime(n < 2, 1 or 2) gave wrong result
        !           179: IZ 32- \r C:\a.gp wouldn't work     [ : and \ forbidden... ]
        !           180: BA 33- bad PARI prototypes in init.c [were confusing GP2C]
        !           181: XR 34- nfdisc: fixed cache system in nilord (esp. precision handling)
        !           182: BA 35- nfgaloisconj(polcyclo(40)): accuracy lost
        !           183:        nfgaloisconj(polcyclo(11)+1): oo loop
        !           184: IS 36- typo in squfof tuning on 64bit machines
        !           185:    37- -lm doesn't exist on MacOS X
        !           186: BD 38- typo in src/kernel/l0asm.c: ulong not recognized by MSVC
        !           187: IZ 39- TeX quasi-parsing in gphelp
        !           188:    40- ^C in gp would kill an xdvi launched by gphelp via ?? [detach from tty]
        !           189:    41- factor(P in Z[X]): wrong bound used in LLL_cmbf --> "no factor"
        !           190:    42- one extra blank line printed with some error messages [errcontext]
        !           191:    43- no typechecks in subgrouplist and forsubgroup
        !           192:    44- round4 [dbasis]: make sure polmodi gets a polynomial, not an int (SEGV)
        !           193:    45- various typos in rnfkummer (SEGV or 'non-maximal rank in nfhermite')
        !           194:    46- Configure -l (no argument) didn't work anymore
        !           195: BA 47- incorrect quoting in src/make_vi_tags (make ctags)
        !           196:    48- 1/[;] --> error, whereas [;]^-1 --> [;]  [ now, allow 1/[;] ]
        !           197:    49- ??real  only gave the help on t_REALs, not on real()
        !           198:    50- eigen: "missing eigenspace" [roundoff pb in ker() compared to exact 0]
        !           199:    51- error messages on GP metacommands (\...) indicated wrong context
        !           200:    52- bnr functions might fail with "indefinite matrix in lllgram" [prec pb]
        !           201:    53- nfhilbert(nf,a,b, pr | 2) would give bogus result if nf in variable 0 (x)
        !           202: MD 54- real(1 / (a+quadgen(...)*b)) was a / (a^2 + b^2)  [assumed quadgen(-4) !]
        !           203:    55- wrong HNF (reduction not finished) when nblines >> nbcol [hnf(,0) only]
        !           204:    56- rare problem in isprincipal (large non Galois base field)--> wrong
        !           205:        result (generators not required) or infinite loop.
        !           206:    57- compatibility problems with readline-4.2 (build would fail)
        !           207: BA 58- pari format %Z (pariputsf) treated incorrectly on 64bit machines
        !           208: XR 59- typo in smallvectors (polredabs): possible oo loop
        !           209:
        !           210:   Changed
        !           211:     1- DOS distribution archives (GPM removed)
        !           212: XR  2- round 4 algorithm: compute characteristic polynomials via Newton sums
        !           213: XR  3- nffactormod now calls factmod / factmod9 when possible
        !           214: XR  4- don't compute discriminant in nffactor/nfroots + better bounds in nfsqff
        !           215:     5- input loops rewritten (filtre more flexible + unified common code)
        !           216:     6- better modular arithmetic for polynomials (+ uniformized names)
        !           217:     7- bnfinit: "looking hard" part overdone in random relations. Tuned down.
        !           218: XR  8- added flag in rnfconductor to check extension is abelian (under GRH)
        !           219:     9- made Vec("pari") return ["p","a","r","i"] instead of ["pari"]
        !           220:    10- renamed library function gsize() to sizedigit()  [conflict with gtk]
        !           221: XR 11- bnrstark: check if N0 is too large (=> computation impossible)
        !           222: IK 12- let lisGEN() return NULL when EOF is met (was oo loop)
        !           223:    13- algorithm for zeta(), gamma() [initial GP code by HC]
        !           224:    14- improved rnfnormgroup() [reduce number of calls to isprincipal]
        !           225: IZ 15- flags for OS/2 build + use generic [pre|suf]fix for object files
        !           226: IZ 16- readline: hit_return() would not work after Esc-H
        !           227:                  extend online help recognition capabilities (Esc h/H, F1)
        !           228:    17- install the whole distribution (see ?12)
        !           229:    18- clean up in the bnrdisclist ray class group internal functions
        !           230:    19- naming scheme for development versions library: libpari-2.2.so.0.0.0
        !           231:    20- new Configure flags --share-prefix, --host
        !           232:    21- allow library functions to return NULL to the GP interpreter
        !           233:    22- let A^-1 and 1/A return a left inverse of A if it exists [A had to be
        !           234:        square]
        !           235:    23- retuned factorization over Z[X] (+ "d-1 test" in naive recombination)
        !           236:    24- sort factorpadic() output
        !           237:
        !           238:   Added
        !           239:     1- files README.WIN, config/[arch-osname|locatesymbol], doc/tex2mail.1
        !           240: GN  2- Jebelean extended gcd + rational number reconstruction
        !           241: XR  3- new flag to rnfconductor (check extension is abelian)
        !           242: IZ  4- set of default colors (boldfg)
        !           243:     5- modular polynomial arithmetic ([uni|bi]variate resultant over Z,
        !           244:        characteristic polynomial of algebraic numbers, nfgcd).
        !           245:        [undocumented, experimental]
        !           246:     6- Pohlig-Hellman discrete log over Fp and nf.zk / pr
        !           247: BA  7- flag to galoissubcyclo (also output conductor)
        !           248:
        !           249:   Changed
        !           250:     1- start using the new modular functions [polcompositum]
        !           251: BA  2- sqrtn, aka mpsqrtnmod (modular n-th root) uses Fp_shanks now
        !           252:
        !           253:   Removed
        !           254:     1- obsolete undocumented functions oldidealinv, idealinv0
        !           255:     2- buggy function hnfhavas (hnflll is a better alternative)
        !           256:
        !           257: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        !           258: Done for version 2.1.0 (released 17/11/2000):
        !           259:
        !           260:   Fixed
        !           261:     1- non portable \e in es.c (pb with Sun cc)
        !           262:     2- ^C while prettyprinter in action --> gp crash
        !           263:     3- polresultant(a,b,x,2) --> b
        !           264:     4- exp(log(1.+x+y)) --> division by 0
        !           265: TH  5- support cygwin version 1
        !           266:     6- TeXmacs interface
        !           267:     7- GP parser codes (sqrtint, idealprimedec)
        !           268:     8- trap (break loop) + NO readline + ^C at input time --> exit.
        !           269:     9- qfminim(,,,1) --> nonsensical result (typo)
        !           270:    10- SPARC + gcc-2.97 --> bug in addsmulsi (register reset too soon)
        !           271:    11- trapping allocatemem() could crash GP
        !           272:
        !           273:   Changed
        !           274:     1- release PARI under the GNU GPL. Remove COPYRIGHT file, add COPYING
        !           275:
        !           276: ===========================================================================
        !           277: Done for version 2.0.21 (released 27/10/2000):
        !           278:   Fixed
        !           279:     1- trap(gdiver2,a,1/0) <C-D> trap(,a,1/0); trap(gdiver2,a,1/0) --> crash
        !           280:     2- lllgramintern could reduce a wrong lattice (after precision problems)
        !           281: XR  3- not enough GC in bezout()
        !           282:     4- use hnfmodid in ideallllred  (work mod I \cap Z, not mod N(I))
        !           283: IS  5- C++ compilation problem (compl is a C++ operator + casts)
        !           284:     6- factor(x^2 - 16810110*x + 62994937599000) --> division by 0
        !           285: BA  7- Pocklington-Lehmer didn't stop factorisation after sqrt(N)
        !           286:     8- exp(log(Pi+x+y)*1.) --> SEGV (still gives an error, but a decent one)
        !           287:     9- factorff needed a prime field F_p where p was single precision
        !           288:    10- more digits than were significant could be printed (ex: precision(Pi,1))
        !           289:    11- rnfisnorm didn't accept vectors on Zk basis as argument
        !           290:    12- [cygwin] fixed timer (always returned 0)
        !           291: IS 13- function prototypes (missing 'extern')
        !           292:    14- quadray(bnf, ...) didn't work when bnf.disc < 0. Could also return
        !           293:        a relative equation over an intermediate field
        !           294:    15- deficient argument checks: asinh(2*x-1), agm(1,1-x), zetakinit(2*x-1),
        !           295:        idealinv( , wrongtype), nfnewprec([2*x-1]), thueinit(non-monic or
        !           296:        degree 1), lcm(x, 0) rnfidealmul(2*x-1,0), galoisfixedfield(2*x-1),
        !           297:        qfbnupow(2*x-1, 0), polred([x,x]), bezout(Mod(x,x^2+1),0),
        !           298:        numtoperm(-1,0), polred(nf), idealhnf(nf,y+z), factorpadic(,y,),
        !           299:        nfelftreduce, rnfsteinitz, idealappr(not an nf, ...): SEGV
        !           300:    16- check variable numbers in algtobasis: nfalgtobasis(nfinit(P(y), x))
        !           301:    17- factorcantor(x^4 - x^3 - 2*x - 1, 3) --> SEGV [typo!]
        !           302:    18- matsupplement(non-exact entries): fixed zero test (--> |x| < eps)
        !           303:    19- precision(I*1.) --> +oo (should be realprecision)
        !           304:    20- global() could check uninitialized memory
        !           305:    21- default(prettyprinter,"non-existent-file") ---> SIGPIPE and GP crash
        !           306:    22- gamma(1+O(3^2)+x) --> SIGFPE
        !           307:    23- typo in cxgamma (gamma(-4.1+Pi*I/2) --> exponent overflow)
        !           308:    24- Odos/paricfg.h defined PARIINFO incorrectly
        !           309:    25- inconsistenty t_POLMOD specification: Mod(x,y)+16 --> invalid object
        !           310:    26- bnfsunit error (impossible I-->S) when large class group
        !           311:    27- qfminim([;],...) / qfperfection([;]) --> SEGV
        !           312:    28- idealpow(,,,1) only reduced at the end, not after each multiplication
        !           313:    29- typo in zbrent (always used bisection)
        !           314: BA 30- cotan(x) wasn't accepted
        !           315:    31- wrong internal prototype for thetanullk (prec not taken into account)
        !           316:    32- various bugs in gphelp -detex (??\a)
        !           317:    33- trap + ^C + next would interrupt \r or read()
        !           318: IZ 34- external prettyprinter incompatible with colors
        !           319:    35- idealval used much larger numbers than necessary
        !           320:    36- sqrtint very inefficient (computed with full precision all along)
        !           321:    37- bnfisprincipal couldn't deal with some non-Galois fields
        !           322:    38- listcreate allowed creating longer lists than GP could later handle
        !           323:    39- INPUT colors was "leaking out" (affected status messages)
        !           324:    40- idealpowred(, power > 2^32) --> wrong result
        !           325:    41- when lines > 0, output driver didn't reset properly after overflow
        !           326:    42- huge precision losses in bnfinit computations (--> truncation error)
        !           327:    43- mateigen([1,2;3,4]) wouldn't work at default precision
        !           328:    44- leftover debugging statements in gphelp -to_pod
        !           329:    45- zeta(x) didn't always use the precision of x (contrary to the other
        !           330:        trans. functions)
        !           331:    46- some Warnings from MIPSPro 7.2.1 compiler (contributed by PM)
        !           332: BA 47- gdiv(SER,POL) --> SEGV when POL has lgef < lg
        !           333:    48- check relative pol is monic before calling a rnf* function
        !           334: XR 49- cleaned up bnrL1 character computations
        !           335: XR 50- round 4: possible problems when increasing p-adic precision
        !           336:    51- stack corruption in mppgcd(huge t_FRAC, huge t_FRAC)
        !           337: BA 52- abs(t_SER) not allowed
        !           338:    53- nfdisc(non monic polynomial,, disc factorization) returned wrong answer
        !           339:    54- rnfidealnormrel(rnfinit(nfinit(y^2-2),x),2) --> SIGBUS
        !           340:    55- hardcoded paths in a few scripts (tex2mail, gpflog, make_vi_tags)
        !           341:
        !           342:   Changed
        !           343: BA  1- more efficient quadratic Hensel lift
        !           344:     2- made ya optional in polinterpolate
        !           345: BA  3- more efficient factorff when pol belongs to Fp[X] (based on Fp_isom)
        !           346:     4- catch SIGFPE
        !           347:     5- made poltchebi efficient
        !           348:     6- write all real zeroes in exponential format (0e28) in format 'g'
        !           349:     7- bnfsunit: try to compute S-units even when the class group is large
        !           350:                  reduce class group generators
        !           351:     8- 0.e N now inputs a real 0 of decimal exponent N (was N-defaultprecision)
        !           352:     9- try to avoid errors due to precision loss (while computing archimedian
        !           353:        components) in bnfnewprec/bnfmake
        !           354:    10- restore \o2 to previous meaning, use \o3 for alternate prettyprinter
        !           355:    11- normalized output of idealfactor (sort factors)
        !           356:    12- better TeXization (\left / \right)
        !           357:    13- allow color changes in error messages (when sample input is given)
        !           358:    14- format for bnf[9] (new isprincipal)
        !           359:    15- cleaned up isprincipal + bnfinit (small_norm, getfu, class_group_gen)
        !           360: XR 16- added flag for D>0 in quadhilbert: if non-zero, try more modulii
        !           361:    17- idealred: reduce huge ideals as Z-module first (using lllintpartial)
        !           362:    18- TeXmacs interface
        !           363:
        !           364:   Added
        !           365:     1- library function zerovec
        !           366:     2- van Hoeij's algo. for modular factors recombination (factor over Z[X])
        !           367:     3- algdep for p-adic numbers
        !           368: IZ  4- default values for 'colors' (light/dark) and 'prettyprinter' (tex2mail)
        !           369:     5- hnflll implementation (old one was preliminary and didn't work at all)
        !           370: GN  6- squfof implementation
        !           371:     7- numerical derivation
        !           372: XR  8- GP interface to hensel_lift functions (polhensellift)
        !           373:
        !           374:   Removed
        !           375:     1- quadrayimagwei, preliminary implementation to quadray(D < 0)
        !           376:
        !           377: ===========================================================================
        !           378: Done for version 2.0.20.beta (released 07/06/2000):
        !           379:   Fixed
        !           380:     1- gp -p1e -->SEGV
        !           381:     2- nfinit([x,1]) --> SEGV
        !           382:     3- ensure stack large enough [allocatemem(1) painted user in a corner]
        !           383:     4- make sure mpinl.o is linked (binaries may fail to build otherwise)
        !           384:     5- make sure sqrt(Mod(a,b)) terminates
        !           385:     6- memory leak with PARI pointers (issquare(4,&x))
        !           386:     7- 'make clean' didn't affect doc
        !           387:     8- Configure didn't detect some SuperSparc + Linux combination
        !           388:     9- forprime (and friends) could crash when loop index was tampered with
        !           389:    10- trap(, -1, (1/0)) == -1 ---> -1 (analyseur not reset)
        !           390: XR 11- bnrstark initializations (incorrect when field not totally real)
        !           391:    12- member functions not very robust [e.g. ellinit(e,1).roots --> SEGV]
        !           392:    13- compiler warnings (gcc -O -Wall)
        !           393:    14- trap() not robust enough in library mode (nested handlers)
        !           394:    15- (x^2+3)/(2*x)*x --> invalid RFRAC
        !           395:    16- factorpadic result used too high a precision (+improved handling of
        !           396:        nonmonic polynomials)
        !           397:    17- sqrt(Mod(0,1)) --> oo loop (+ improved a bit mpsqrtmod)
        !           398:    18- no GC in norml2
        !           399: IZ 19- tex2mail had difficulties with rational functions
        !           400:    20- (rare) SIGBUS in quadclassunit(non-fundamental discriminant)
        !           401:    21- g()=f()==0 --> syntax error
        !           402:    22- } as last char of an input file (missing a final \n) caused problems
        !           403:    23- ??keyword@ didn't work properly (pattern modified between chapters)
        !           404: BA 24- bug in galconj.c:corediscpartial (could return half integer)
        !           405:    25- factorff and ffinit "not random enough"
        !           406: TH 26- Configure doesn't handle cygwin new directory structure
        !           407: CW 27- polsturm(x,0,1) = 1 (should be 0)
        !           408:    28- [library:] gentimer(3) didn't work
        !           409: PW 29- various bugs in qfminim(,,2) [bound was rounded up + stack corruption]
        !           410:    30- ellap(e,2) gave wrong result when 2 | e.disc
        !           411:    31- factorint: isprime() used on factors even within smallfact()
        !           412: GN 32- SEGV in mpqs main sieving routine (unsigned comparison)
        !           413:    33- prevent polredabs from keeping small vectors accumulating in a subfield
        !           414:
        !           415:   Changed
        !           416:     1- renamed .DOC files to .txt (Explorer was getting confused...)
        !           417:     2- moved MANIFEST to config/MANIFEST
        !           418: IZ  3- meaning of flags > 1 in plothraw
        !           419: IZ  4- output of \x (a bit more verbose)
        !           420:     5- unified basic t_QFR routines (use exponential distance internally)
        !           421:
        !           422:   Added
        !           423: BA  1- Pocklington-Lehmer primality prover
        !           424: BA  2- Fp_isom (library)
        !           425: BA  3- Mod(a,b)^(c/d) for a,b,c,d integers
        !           426:     4- flag to vecsort (decreasing order)
        !           427: BA  5- function sqrtn
        !           428:
        !           429: ===========================================================================
        !           430: Done for version 2.0.19.beta (released 17/03/2000):
        !           431:   Fixed
        !           432:     1- buffer overflow in ploth (when extrema too large)
        !           433:     2- trap(,"") didn't work
        !           434: IS+BA 3- various fixes necessary for g++
        !           435:     4- prototype inconsistency in level1.h (evalexpo/evalvalp)
        !           436:     5- trouble with pgcc -mk6 + variable k6 in elliptic.c
        !           437: HC  6- nfnewprec(bnf) could contain objects of low accuracy
        !           438: XR  7- check subgroup argument in bnrL1
        !           439:     8- typo in ideal_two_elt (oo loop)
        !           440:     9- pb with GNU as + preprocessor on Sparc
        !           441:    10- incorrect result in matdet over Z[1/n] (Gauss-Bareiss) [gdivexact]
        !           442:    11- solve(x=0,1,deriv(x)) --> SEGV
        !           443:    12- ??' --> weird error
        !           444:    13- generic SNF (polynomial entries) couldn't handle 0s on diagonal
        !           445:    14- incorrect handling of 0 ideals in some functions
        !           446: XR 15- typos in bnrL1
        !           447:    16- bad input not handled in rnfcharpoly()
        !           448: IZ 17- delay rounding in rectplot structures until plotting device
        !           449:    18- Mod(1,x) / matid(2) --> incorrect object
        !           450:    19- avoid getrusage on alpha (pb with gp-dyn)
        !           451:    20- incorrect file inclusions when using gas on Sparc (-->undefined symbols)
        !           452:    21- massive cancellations in zetak(nfz,) when current prec lower than nfz's
        !           453: XR 22- bnrstark(): fixed inconsistency between 32bit & 64bit versions +
        !           454:        check maxprime() before starting the computation
        !           455: PW 23- hyperu bad input bug
        !           456: PW 24- intnum(x=1,2,0) --> oo loop
        !           457:    25- sin(x + y) --> error
        !           458:    26- next(i > 1) didn't work (part of the last loop could be executed)
        !           459:    27- typo in polrootspadic(p, 2, *) [singular case]
        !           460:
        !           461:   Changed
        !           462: XR  1- bnrL1 now takes a congruence subgroup as second argument
        !           463:     2- allow some functions to modify bnf/bnr structures (matal + cycgen)
        !           464: CB  3- modified TeX macros for pdftex
        !           465:     4- have abs(t_COMPLEX) give an exact result if possible [abs(0*I) was 0.0]
        !           466: IS  5- improved generic gcc compilation flags
        !           467:     6- in qfbclassno(), compute in G^2 to get rid of cycli factors
        !           468:     7- improved bnrdisc/bnrconductor
        !           469:
        !           470:   Added
        !           471: BA  1- function galoissubcyclo()
        !           472: BA  2- (for now internal) function inverseimage_mod_p()
        !           473: BA  3- optional arguments (vertical range) to plot()
        !           474: IZ  4- `ticks' on hi-res plots
        !           475: IZ  5- prettyprinter default and tex2mail file
        !           476: BA  6- new function Fq_ker
        !           477:
        !           478: ===========================================================================
        !           479: Done for version 2.0.18.beta (released 20/12/1999):
        !           480:   Fixed
        !           481:     1- wrong method chosen in isinexactfield for 0 polynomials
        !           482:     2- stack corruption in sylvestermatrix(0,...): Mod(x,x)^-1 --> SEGV
        !           483:     3- garbage left on stack in ginv(1 / n)
        !           484:     4- typo: carreparfait --> gcarreparfait in nfiso0()
        !           485:     5- for (A=1, 2, A = -A) --> SEGV
        !           486: IZ  6- [gnuplot] couldn't set terminal as the first graphing operation
        !           487: DE  7- typo in kernel/sparcv7/level0.S: err --> pari_err
        !           488:     8- TeXmacs interface (use new protocol)
        !           489:     9- call simplify() before applying GP '==' and '!=' operators
        !           490:       Ex: x;n;k;m; (n+m)==(k+1-k)*(n+m) was false.
        !           491:    10- sumdiv(N,...) required single precision N
        !           492: BA 11- bound problems in nfgaloisconj()
        !           493:    12- infinite loop in do_agm()
        !           494:    13- "Warning: in Gauss lg(a)=1..." from isprincipalall0
        !           495:    14- specific error for precision problems with p-adic ell. curves
        !           496: IZ 15- ploth() plots are 1/2-pixel off
        !           497: BA 16- result was not always complete in nfgaloisconj()
        !           498:    17- type(1/y, RFRACN) --> SEGV + check compatibility before applying type()
        !           499:    18- made 'secure' safer. Confirm before write, prevent from changing 'help'
        !           500:    19- gettime() called the wrong timer(): was reset in debug mode
        !           501:    20- missing case (doubling) in apell1
        !           502:    21- gmod(x, mod) replaced by gmul(x, gmodulcp(gun,mod)) in poldivres
        !           503:        [obscure bugs when dividing complicated polynomials with mixed
        !           504:         polmods/intmods].
        !           505:    22- Make sure result is a t_POL before doing a setvarn in caract2_i()
        !           506:    23- precision problems in ClxModulus (bnrstark()) [check leading term!=0]
        !           507:    24- elltors() could miss some points: determine needed precision first
        !           508:    25- clean up files after an error (not only under GP)
        !           509:    26-  divisors(highly composite integer) --> "cryptic" error message
        !           510:    27- 'make clean' wasn't thorough
        !           511:    28- ellpointtoz(e, [0,0]) could correspond to the inverse point
        !           512:    29- "ideals not coprime" in rnfsteinitz
        !           513: BA 30- typo in Configure [CPP] (cc --> CC)
        !           514: BA 31- member functions for galoisinit
        !           515:    32- allowed power series in Mod(). Fixed cryptic error messages.
        !           516:    33- precision problems in zsigne
        !           517:    34- value of 'gzip' found by Configure overwritten in TOP_Make.SH
        !           518: XR 35- precision loss in Round 4
        !           519: XR 36- ensure that fundamental unit is computed in quadray (if D > 0)
        !           520: XR 37- precision fixes in stark.c (inconsistencies 32/64 bit + early abort)
        !           521:    38- bug in P*Q for polynomials over (non prime) finite fields if Q is
        !           522:        defined over the prime field
        !           523: XR 39- [stark.c]: bugs in RecCoeff3, reduced memory use in ComputeArtinNumber
        !           524:    40- core dump on infinite recursion under GP
        !           525:    41- use appropriate precision in torselldoud (could be much too large)
        !           526:    42- removeprimes(addprimes) didn't work
        !           527:    43- (at least part of) numerical instability of LLL over R
        !           528:    44- f() = bug(x, &y) ---> syntax error
        !           529: XR 45- inefficiencies in ComputeArtinNumber for large modulus
        !           530: HC 46- no GC in dirmul
        !           531:    47- meaningless heap count for user functions
        !           532:    48- setrand(16);quadclassunit(48893) --> infinite loop
        !           533:    49- rnfpolred(bnfinit(y^2+1),x) --> SEGV
        !           534:    50- float overflow in polroots (e.g polroots(x^3 + 2^1024*x + 1))
        !           535:    51- charpoly(Mod(1,x^2+1)) --> SEGV
        !           536:    52- added GC in polsturm
        !           537: BA 53- bugs involving rarely used type combinations in generic operations
        !           538:    54- check x >= 0 in lllgramint(x)
        !           539:    55- in rnfdedekind: use rnfhermitemod, not rnfhermite (slooow)
        !           540: XR 56- updated factorpadic to use new Round 4
        !           541: BA 57- nfgaloisconj: discrepancies between 32/64 bits architectures
        !           542:    58- random(1 << 32) could have 32 bits
        !           543:    59- missing newline in error messages on startup (reading .gprc)
        !           544:    60- silent codeword overflows (e.g. O(x^100000))
        !           545: IZ 61- updated gnuplot support
        !           546:    62- x="a"; eval(x) --> error
        !           547:    63- general flakiness with buffer handling under GP
        !           548:        (Ex: input() + allocatemem --> SEGV)
        !           549:    64- [1] == 2 --> error (instead of 0)
        !           550:    65- lngamma(-0.106) --> SEGV
        !           551:    66- quadray(-11,3) --> x^2
        !           552: XR 67- typo in nilord2 (wrong value for modular reduction)
        !           553:    68- unsafe division t_SER / t_SER with clonable components
        !           554:    69- polroots(1E-28*I*x^2+1) --> bug in roots (conjugates)
        !           555:    70- typo in cxlngamma [ lngamma(-7.4927-0.418564*I) --> SEGV ]
        !           556:    71- polroots(polynomial of very small Norm wrt prec) behaved badly (SEGV)
        !           557:    72- polylog(1, Mod(1,2)) --> SEGV
        !           558:    73- zeta(22!/23) --> SEGV
        !           559:    74- not enough GC in rnformax
        !           560:    75- over-reactive 'secure' default (+ moved it later in default .gprc)
        !           561:    76- sqrt(Mod(15,y^2+1) + O(x^5)) --> SEGV
        !           562: BA 77- typo in isinexactfield
        !           563:    78- sum(x=1,10, expr1; seq) : seq silently ignored
        !           564:    79- ellan and elltaniyama didn't check their arguments
        !           565:    80- simplify(t_POLMOD) could create invalid objects (mod not a t_POL)
        !           566:    81- primes(-1) --> SEGV
        !           567:    82- addprimes(0) wasn't rejected
        !           568:    83- various inconsistant error bessages (e.g. factor("a"))
        !           569:    84- estimate for the precision of unit embeddings in isprincipalall
        !           570:    85- global("b") --> polvar corrupt
        !           571:    86- hnfmod --> hnfmodid whenever possible
        !           572:    87- check arguments in incgamc
        !           573:    88- non-rectangular matrices could trigger a SEGV (in error msg!)
        !           574:    89- qfminim(,,2) didn't like mixed t_REAL/ t_FRAC entries (typo)
        !           575:    90- inconsistant spacing after GP error messages
        !           576:    91- regrouped code between idealred and idealmin
        !           577:    92- prevent 'install' in secure mode
        !           578: DS 93- typo in bnfisnorm(,,flag > 1) [extraneous gtrans]
        !           579:    94- don't reset pariErr in err_recover()
        !           580:    95- highlevel.c had become dependant from gp.c
        !           581: XR 96- incorrect output of quadray(D,,1) when D>0 and rayclass is trivial
        !           582:    97- typo in lllall_trivial --> matkerint([0;0]) didn't work
        !           583: BA 98- incorrect object for gerepileupto in gscalcol
        !           584:    99- try to detect bad input (e.g quad. form not > 0) in (integral) LLL
        !           585: XR100- typo in nffactor ("keep the value of i")
        !           586: IS101- work around an obscure gcc bug (gcc-2.96, alpha-linux) in stark.c
        !           587:   102- rnfcharpoly(nfinit(y^2+1),1,1) --> SEGV
        !           588: BA103- tan(t_COMPLEX) gave bogus result
        !           589: BA104- trace([;]) --> SEGV
        !           590:
        !           591:   Added
        !           592: IZ  1- [gnuplot] look up directory tree for gnuplot related files
        !           593:     2- improved on-line help wrt to defaults and ambiguities
        !           594:        (? default/some_default, ? some_default)
        !           595:     3- library functions gentimer, genmsgtimer, get_timer
        !           596: HC  4- optional argument to direuler (length of result)
        !           597:     5- low-level kernel function for integer squarings (twice faster)
        !           598:     6- error trapping in library mode and under GP
        !           599:     7- break loop to investigate errors under GP
        !           600:     8- "sprintf-rounding" under GP
        !           601: IZ  9- string justification in high-res plot
        !           602: IZ 10- bit operations ( bit[ and | or | neg | negimply | xor ] )
        !           603: XR 11- add new flag value in bnrstark/quadray: try to find a better modulus
        !           604:
        !           605:   Changed
        !           606:     1- default binary produced by Configure -g is now static
        !           607:     2- improved the heuristics in ellisoncurve
        !           608: HC  3- extend the range of direuler (maxp was 2^16)
        !           609:     4- trial divide by the "private primes" before the primality tests
        !           610:     5- don't double stack automatically
        !           611:     6- disable ff_poltype correction (for lack of decent finite fields) in gmul
        !           612:     7- slight optimization to hnf / hnfmod (skip zeroes)
        !           613: XR  8- nfsqff: choose a prime ideal with few factors + better heuristic bound
        !           614: IS  9- default CFLAGS on linux-alpha
        !           615:    10- improved factorcantor / factorff
        !           616:
        !           617:   Removed
        !           618:     1- sunview "support" (didn't work, hard to test, X11 is a better standard)
        !           619:
        !           620: ===========================================================================
        !           621: Done for version 2.0.17.beta (released 24/09/1999):
        !           622:
        !           623:   Fixed
        !           624: XR  1- typo in zarchstar (result possibly incorrect when more than two places)
        !           625:     2- check_unit not severe enough ([;] --> session could die !)
        !           626:     3- wrong error message when using global var as argument to user function
        !           627:     4- typo in boundfact(t_FRAC) --> SEGV
        !           628:     5- buchall: don't compute xarch if not needed
        !           629:     6- remove limit on string size + silent overflow, e.g Str(10^5000)
        !           630:     7- "break status" not checked often enough: [break, 1] --> SEGV
        !           631:     8- rewrote errcontext (use print_text to fit messages on terminal)
        !           632: BD  9- added workarounds against some MSVC annoyances (Windows version)
        !           633: IZ 10- typo in Gnuplot.h
        !           634:    11- typo in Configure ("2>&1 >/dev/null" replaced by ">/dev/null 2>&1")
        !           635:    12- simplified incgam[23] + typo (mulrr --> gmul)
        !           636: IZ 13- typo in LD_LIBRARY_PATH setting (benches)
        !           637:    14- inconsistency in gadd(0., FRAC) (should give 0. if FRAC small enough)
        !           638:    15- libraries/headers ordering inconsistent in Configure (report: IZ and KO)
        !           639:    16- typo in ff_poltype [symptom: (Mod(1, y^2 + 1)*x + 1)*x --> garbage]
        !           640:    17- qfbprimeform(4, [2]) --> SEGV
        !           641:    18- overflow in  factorcantor(2*x^3+3*x^2+x, 2^31-1)
        !           642:    19- memory corruption in apell1 + no garbage collection,
        !           643:        rewrote the function to parallel apell0, replaced hashing by sorting,
        !           644:        use Montgomery's trick, removed the p < 10^25 limit
        !           645: IS 20- cc -64 warning in mp.c:vals()
        !           646:    21- bad free in gp_expand_path
        !           647:    22- extract([;], "..") --> SEGV
        !           648:    23- not enough GC in hnfall
        !           649:    24- recover gracefully when precision too low in lindep/algdep
        !           650: IS 25- cleaned up unused variables, fixed some missing casts
        !           651:    26- algdep(x) --> undefined behavior when x exact. Replace by decimal
        !           652:        approximation
        !           653: IS 27- C++ keywords (new, class) occurred as variable names
        !           654:    28- arguments of ideallistarch not checked
        !           655:    29- Mod(t_FRAC or t_PADIC, t_INT) --> garbage
        !           656:    30- gcmp1(t_REAL) always false: polylog(2, 1) --> error
        !           657:    31- (spurious) compiler warnings about variables used before initialization
        !           658:    32- memory (possibly) freed twice in buchall + unsafe allocation of matcopy
        !           659:    33- online help for matsnf not updated
        !           660:    34- rnfequation() didn't check its arguments correctly
        !           661:    35- removed spurious special case in compute_class_number()
        !           662:    36- typo in the compatibility macros mpabsz / mpnegz (missing ;)
        !           663:    37- "lost pointers in gerepile" in bnfisprincipal(Q, ...)
        !           664:    38- bnfisprincipal(..., Pol(0)) accepted
        !           665:    39- [Configure] Makefile name didn't necessarily match object directory
        !           666:    40- zetak(nfz, integer + 0.) --> stack corruption
        !           667:    41- for(i=1, ..., zetak(nfz, any complex number)) went slower and slower
        !           668:    42- poltchebi(.,y), pollegendre(.,y) didn't work
        !           669:    43- confusing "array index out of allowed range" message (e.g [1-0])
        !           670: IS 44- fixed obscure compiler optimization bugs in smithall() and eint1()
        !           671: GN 45- weird results in ellisoncurve() due to misguided precision heuristics
        !           672:    46- typo in forvec([],...): lisexpr() --> lisseq()
        !           673:    47- check arguments in ploth()
        !           674: XR 48- rare bug in bnrL1 (wrong value!)
        !           675:    49- precision problems in polredabs
        !           676:    50- division by 0 in rnfordmax [typo in mymod()]
        !           677:    51- removed all dangerous occurences of constpi/consteuler (cf 41-)
        !           678:    52- typo in det() [forgot to divide by a pivot]
        !           679:    53- divide by 0 error in lllgramintern (precision problem)
        !           680:    54- suminf(k=1,suminf(j=1,.067^(k+j)/k^4/(k+j))) ran forever
        !           681:    55- factor(2*x + 2) --> [2*x + 2, 1] (instead of stripping the content)
        !           682:    56- (ultra-rare) stack corruption in mpqs_solve_linear_system()
        !           683:    57- rl_refresh_line() prototype changed across readline's versions
        !           684:    58- incorrect handling of INTMODs modulo integers of different magnitude
        !           685: XR 59- matsnf(3 x 3 matrix, 4) --> SEGV
        !           686:    60- some pathological bnfinit() computations (strive to get maximal rank)
        !           687: XR 61- precision problems in nfsqff() [increase precision for T2-norm bound]
        !           688:    62- time wasted checking generators of the form [x,0,...,0] in polredabs
        !           689:    63- variables deleted too late in freeall()
        !           690:
        !           691:   Changed
        !           692: XR  1- modulus choice in bnrstark
        !           693:     2- make sure that addii(x,y) returns gzero, not icopy(gzero)
        !           694:     3- cutoff in ellap to use Jacobi sums (457 --> 100)
        !           695:     4- pariputsf("%Z",(long)g): removed the casts (not needed)
        !           696:     5- cleaned up hnfspec
        !           697:     6- look for at least MIN_EXTRA extra relations in buchall
        !           698:     7- simplified calling interface to hnfspec/add
        !           699:     8  Used hnfspec in bnfsunit, changed the way S-units are found
        !           700:     9- output of bnfsunit modified (removed res[3], made res[2] suitable
        !           701:        for hnfadd)
        !           702:    10- listput and listinsert now return the inserted element, not the list
        !           703:    11- check_break_status rewritten: was very inefficient
        !           704:    12- Used parser code DG whenever it was possible (moved reorder to init.c)
        !           705:    13- faster isunit()
        !           706:    14- added GC in expr()
        !           707:    15- buchall(): increase subfactorbase without starting over
        !           708: GN 16- minor tuning in pollardbrent() for huge integers (call ECM sooner)
        !           709:    17- renamed directories dos -> Odos, o.xxx.xxx --> Oxxx.
        !           710:        Moved win32/* --> Odos
        !           711: OR 18- new version of pari.el
        !           712: XR 19- new modular round 4 implementation (nilord2)
        !           713: BA 20- improved algorithms in galconj.c
        !           714:
        !           715:   Added
        !           716:     1- an optional argument to next()
        !           717:     2- MANIFEST
        !           718: YU  3- support for FreeBSD ELF binary format
        !           719:     4- file CVS.DOC
        !           720:     5- support for Windows CE (Nigel Smart + coworkers)
        !           721: BA  6- functions related to Galois theory: galoisinit, galoisfixedfield, etc
        !           722:     7- [library] trivial function realun()
        !           723:
        !           724:   Removed
        !           725:     1- #define HIGHBITM1 (useless)
        !           726:     2- files config/tar_[include | exclude] (obsoleted by MANIFEST)
        !           727:
        !           728: ===========================================================================
        !           729: Done for version 2.0.16.beta (released 29/06/1999):
        !           730:
        !           731:   Fixed
        !           732:     1- paricfg.tex (needed to compile INSTALL.tex) missing if Configure is
        !           733:        not run. Added a test in parimacro.tex
        !           734:     2- non-portable casts in galconj.c
        !           735:     3- 64-bit graph benches (extra spaces)
        !           736: IZ  4- typos in plotgnuplot.c
        !           737:     5- unnecessary plothsizes in "graph" bench (fails if no X server)
        !           738:     6- typo in ff_poltype
        !           739: IZ  7- check rectwindow in rectcopy and rectclip
        !           740: IZ  8- /opt/local/lib missing in Configure's library path
        !           741: IZ  9- [Math::Pari] needs pariErr->die _before_ pariErr->flush
        !           742: IZ 10- wrong valence code for plotcolor, plotclip
        !           743: IS 11- obscure inlining bug (pgcc 1.1.3 -O3) in stark.c:ComputeKernel0()
        !           744:    12- gcc -E doesn't define __GNUC__. Add it explicitly to KERNELCPPFLAGS
        !           745:    13- whatnow(sigmak) didn't tell the arguments have been swapped
        !           746:    14- [1]~ * [[1]] --> SEGV
        !           747:    15- lim=(av+ x * bot) >> y can overflow if large addresses are available
        !           748:        (e.g Linux...). Use lim_stack() instead
        !           749:    16- algdep(I,1), lindep([I,1]) entered an infinite loop
        !           750:    17- removed the maxHastad (= 50) limit in algdep/lindep
        !           751:    18- typo in polrootspadic(,,1) --> SEGV
        !           752:    19- GC not frequent enough in idealval
        !           753:    20- in split_ideal (isprincipal), LLL-reduce first if ideal is big
        !           754:    21- factorpadic(,,,1) didn't work anymore
        !           755:    22- round 2 (= nfbasis(,2)) used too much memory
        !           756:    23- idealval did not accept all types of ideals
        !           757: GN 24- unsafe stack handling in auxdecomp
        !           758:    25- polroots[mod|padic] returned a t_VEC, not a t_COL (as polroots)
        !           759:    26- check coeffs of polynomials with coeffs in nf (rnf* functions)
        !           760:    27- typos in polredabs0 (get_Bnf + nf_RAW in storeallpols)
        !           761: BA 28- nfgaloisapply could forget to clean up the stack
        !           762:    29- typo in gp_rl.c (rl_save_prompt <--> rl_restore_prompt)
        !           763: DE 30- arch="sun4" non reconnu par Configure
        !           764:    31- uninitialized variable (prec) in quadhilbertimag
        !           765: IS 32- pari.el.in was not updated when gphelp was moved from miscdir to bindir
        !           766:    33- rnfkummer(bnrinit(bnfinit(y^2-y-1),101,1),[1,0;0,2]) --> gerepile error
        !           767: IZ 34- update gnuplot interface
        !           768:       a) Strings were put too low in gnuplot terminal;
        !           769:       b) Allow setting of output file sizes, as in plotterm("gif=300,200");
        !           770:       c) Allow querying of possible output terminals, via plotterm("?")
        !           771:       d) Update to newer Gnuplot-interface-layer (Gnuplot.h)
        !           772:          allows compilation on Linux (stdout was bad as an initializer),
        !           773:          corrects bugs in processing of terminal options
        !           774:    35- in buchall, allow minfsb to increase before doubling cbach
        !           775:        (bnfinit(x^4+5*239*x^2+5*239^2) couldn't be computed)
        !           776:    36- bnfnewprec can't handle bnf = bnfinit(,2) --> SEGV (now, error)
        !           777:    37- typo in pseudorem (didn't recognize 0 properly)
        !           778: GH 38- weird bugs in thue() on alpha: typo int <--> long in thue.c
        !           779:    39- bnrisconductor assumed moduli had small norm (< VERYBIGINT)
        !           780:    40- bnfnewprec didn't accept imaginary quadratic fields ("missing units")
        !           781:    41- inefficiency in zarchstar (VERYBIGINT --> BIGINT)
        !           782:        (rnfconductor(bnfinit(y^3+972*y-12),x^2+x+1) ran forever)
        !           783:    42- too much memory used in rnfordmax (+ removed some inefficiencies)
        !           784:    43- try to recover in nffactormod if input not prime (SEGV)
        !           785:    44- SEGV in nffactormod if degree(pol) > 100
        !           786:    45- factornf(p(x), q(x)) was accepted (and produced incorrect objects)
        !           787:    46- nfisincl / nfisiso made use of the bug above
        !           788:    47- subgrouplist(bnr) with trivial ray class group --> SEGV
        !           789:    48- background color was assumed to be "white" (by gphelp and gp)
        !           790:        Made it "transparent" by default
        !           791:    49- pages shifted by 1 in User's Manual's table of contents
        !           792:    50- Mod(x, x^2+1) + x return Mod(2*x, x^2+1), not x + Mod(x,x^2+1)
        !           793:        (fixed gadd, gmul, gdiv)
        !           794:    51- for certain flag combinations buchrayall unsuitable for gerepileupto
        !           795:        (+ cleaned up the code)
        !           796:    52- ^C in smithclean corrupt existing objects
        !           797:    53- silent overflow in qfbhclasso
        !           798:    54- nfreducemodpr didn't check its arguments
        !           799:    55- confusing error messages when precision too low in initell
        !           800:    56- polx[0] modified in nfsubfields(P(y))
        !           801:    57- various memory optimizations in bnrstark
        !           802:    58- incorrect debugging output in calc_bloc (at \g6)
        !           803:    59- rare memory corruption when garbage collecting in mppgcd
        !           804:    60- type t_STR not treated correctly in changevar
        !           805:    61- C-long overflow in ellan
        !           806:    62- memory use in the incgam* functions
        !           807:    63- bad input bug: qfperfection(indefinite matrix) --> SEGV
        !           808:    64- mateigen dropped some eigenvectors when precision was too low
        !           809:
        !           810:   Changed
        !           811:     1- err() --> parierr() [conflict with system library in Redhat 6.0]
        !           812:     2- use Doud's algorithm in elltors [initial patch: HC]
        !           813:     3- new (internal) function get_mul_table (for nfinit, padicff)
        !           814:     4- disable LD_LIBRARY_PATH before running benches
        !           815:     5- strtoGEN() --> strtoGENstr() + added flag
        !           816:     6- optimized stack usage in pollardbrent (in place)
        !           817:     7- don't try to compute units in buchrayall if bnf doesn't contain them
        !           818:     8- simplified misc/gprc.* (esp. colors)
        !           819:     9- use C long to keep track of exponent in regula
        !           820:    10- src/kernel/sparcv7/level0.s --> level0.S + include preprocessing stuff
        !           821:    11- extended matsnf flags: immediate cleanup (backward compatible)
        !           822:    12- arguments swapped in veceint1
        !           823:    13- allow @ markers (??keyword@) in extended help (was apropos only)
        !           824:    14- do all computations in mppgcd in place (as in Changed-6)
        !           825: OR 15- new pari.el (cf emacs/pariemacs.txt)
        !           826:    16- search multiple lines in apropos extended help (???key)
        !           827:
        !           828:   Removed
        !           829:     1- make test duplicated the "make bench" computations. Removed the
        !           830:        test and dotest targets
        !           831:     2 -veceint1() function. Can be reached in library mode or using a flag to
        !           832:        eint1
        !           833:
        !           834:   Added
        !           835:     1- default 'secure'
        !           836:     2- optional flag to Str()
        !           837:     3- expand environment variables in filenames
        !           838:     4- TODO file
        !           839:     5- man page for gphelp
        !           840:     6- Trivia section in the pari/gp man page
        !           841:
        !           842: ===========================================================================
        !           843: Done for version 2.0.15.beta (released 21/05/1999):
        !           844:
        !           845:   Fixed
        !           846:     1- ?? (TeX mode) didn't work anymore
        !           847:     2- rl_save_prompt incorrectly detected on a.out systems
        !           848:     3- allow extra_relation() (bnfclassunit) to abort
        !           849:     4- allow cbach to double once more before triggering PLEASE REPORT
        !           850:        (introduced in 2.0.14)
        !           851:     5- check for non-monic pol in smallbuchinit
        !           852:     6- vecex<TAB> --> SEGV on some Linux systems (typo in match_concat)
        !           853:     7- exceedingly rare but possible overflow in forvec(, flag == 1)
        !           854:     8- factorff(x^7-3,3,y^3+2) --> SEGV
        !           855: DC  9- ghpelp doesn't exit when problems arise in TeX processing
        !           856:    10- made idealprimedec random again (also use det_mod_P_n to compute norm)
        !           857:    11- inefficiencies in nfeltval (computing norm is a waste of time)
        !           858:    12- did same prime twice when collecting garbage in modulargcd (=> error)
        !           859:    13- ffinit(huge prime,) output a weird error message
        !           860:    14- highly inefficient memory use in nfsubfields
        !           861: IS 15- [cygwin] typo in Makefile generation
        !           862:    16- file leak in mpqs (COMB)
        !           863:    17- allow prime_to_ideal to be called with a t_INT argument (for quadray)
        !           864:    18- typo in nf_shanks (calling Fp_shanks with wrong parameters)
        !           865:    19- polun (possibly) destroyed in bnrstark
        !           866: IS 20- keep logfile in synch with screen output
        !           867:    21- reset DEBUGLEVEL correctly on ^C (was sometimes set to 0)
        !           868:    22- bnrstark does not require anymore the modulus to be the conductor
        !           869:    23- check bnrstark's arguments in the right order (bnrstark(1,0) --> SEGV)
        !           870:    24- inefficiencies in idealval (removed element_mulh)
        !           871:    25- idealadd unsuitable for gerepileupto
        !           872: HC 26- quadray should work in all cases now and give better polynomials
        !           873: XR 27- bnrstark should return smaller polynomials
        !           874:    28- very inefficient pseudo-remainder routine (psres)
        !           875:    29- forstep(x=a,b, 1/2, ...) --> SEGV (signe -> gsigne)
        !           876: IS 30- [Cygwin] Configure fix (use $HOSTTYPE instead of uname -m)
        !           877:    31- polcoeff(a*x^-1*y^-1+O(x^2)+O(y^2),-1,y) --> 0
        !           878: HC 32- (false) accuracy problem in mpsc1 ("truncation error")
        !           879:    33- don't use mpqs_diffptr in mpqs_find_k, set it in mpqs_create_FB
        !           880:    34- (very rare) "precision loss in truncation" in buchall
        !           881:    35- C-long overflow in zarchstar
        !           882:    36- C-long overflow in zprimestar
        !           883:    37- (old versions of) GNU as not recognized correctly
        !           884: BA 38- ?? in TeX mode could not process some sections (missing macros)
        !           885:    39- factor(polynomial with t_PADIC coeffs) didn't work (factorpadic
        !           886:        assumed coeffs were integers)
        !           887:    40- T=[1,x; x,1]; charpoly(T,Z) produced object with wrong variable
        !           888:        ordering
        !           889:    41- polrootsmod(x^n,p) could corrupt the stack
        !           890:    42- Warnings/errors from HPUX and AIX native compilers
        !           891: OR 43- many problems in the emacs interface pari.el (introduced in 2.0.14)
        !           892:    44- factorpadic treated only monic polynomials
        !           893:    45- gphelp TeX mode (use general macros instead of a specific file)
        !           894:    46- under readline, input lines of length > 2048 could trigger SEGV
        !           895:    47- more thorough check in checkbid (accepted prime ideals->SEGV)
        !           896: GH 48- possible stack corruption in thueinit(totally real field)
        !           897: XR 49- various problems in bnrstark (infinite loop in fincke_pohst)
        !           898:    50- in doc/Makefile: removed GNU-style make macros + put a missing TAB
        !           899:    51- sloppy garbage collecting in hnfperm
        !           900:    52- HPUX+cc: work around a compiler bug (wr_float)
        !           901:    53- warnings in make_emacs_tags (perl5.005)
        !           902:    54- Configure --static should not disable install()
        !           903:    55- in rare cases reduction not complete in lllgramall (off-by-1 error)
        !           904:    56- addshiftw (polynomial case) could produce non-normalized polynomials
        !           905:    57- take content into account in modulargcd as in srgcd (not normalized)
        !           906: GH 58- uninitialized variable in poldisc0 (purify warning)
        !           907:    59- inefficiencies in round 4: modular computations [more needed!]
        !           908:        (starting from a patch by DF+XR)
        !           909: GN 60- lllintpartial did not output the right matrix
        !           910:    61- huge memory leaks in bnrstark
        !           911:    62- signed int overflow in allocatemem
        !           912:    63- parisize (local to gp/gp.c) not updated properly
        !           913:    64- *sol not properly initialized in subresall
        !           914:    65- in idealpowred, check whether |n| < 16, not n < 16 (would slow down
        !           915:        bnfinit a lot when class number is large)
        !           916:    66- polrootsmod(x^6-10,25) --> SEGV (now error message)
        !           917:    67- SEGV when renormalizing zero series in gdiv
        !           918: XR 68- unify precision choice in bnrstark (4 different formulae used...)
        !           919: GN 69- infinite loop in mpqs (64bits machines + harsh compiler) when more
        !           920:        factors were found than were hoped for (1 <--> 1L)
        !           921: GN 70- SIGFPE in buchall (double didn't fit in 32-bit integer)
        !           922:    71- also check sign in real0 (internal: called by gauss_pivot)
        !           923:    72- use current realprecision in plot() (was fixed: 28 digits)
        !           924:    73- memory use in subgrouplist(bnr)
        !           925:    74- in bnfcertify: "Too many iterations in isprincipal"
        !           926:    75- auto detect precision in quadhilbertimag ("overflow in I+R")
        !           927:    76- error message numbers in src/kernel/m68k/mp.s
        !           928:    77- polroots(x^3-x-422!) --> "impossible R-> dbl conversion"
        !           929:    78- not enough modular reductions in buchrayall (bnrinit)
        !           930:    79- technical argument in quadclassunit not read correctly
        !           931:    80- factor(x^3-1 + 0.*I) --> gerepile error
        !           932: GN 81- gp -p (close to a p^2) --> p possibly missing in the prime table
        !           933:    82- until narrow class group in quadclassunit is implemented, non-zero
        !           934:        flag raises an error
        !           935: IZ 83- some code numbers in functions_basic (for Math::Pari)
        !           936:    84- precision problem in initell (AGM)
        !           937:    85- "impossible assignment I-->S" in ellrootno
        !           938:    86- missing break in poltype (factor)
        !           939:
        !           940:   Changed
        !           941:     1- ?? (no arguments) opens the users'manual in xdvi
        !           942:     2- print readline version in header on startup
        !           943:     3- compute multiplication table first in element_mulvec[row]
        !           944:     4- nf[5][7] is now stored in two-element form (faster ideal inversion)
        !           945:     5- install gphelp in BINDIR, not MISCDIR
        !           946:     6- simplified output of trivial matrices
        !           947:     7- replaced square_free_factorization by mysquare_free_factorization
        !           948:     8- call LLL before using idealtwoelt
        !           949: GH  9- choose random elements in idealtwoelt, and allow bigger ones in two_elt
        !           950:    10- cleaned up lllgramall/lllgramintern + give quality ratio as argument
        !           951:    11- in rnflllgram, try to survive lllgram errors (findmin)
        !           952:    12- simplified rnfpolredabs (simple interface to polredabs). Should be
        !           953:        much more efficient
        !           954:    13- replace many gdiv by 1 ginv + many gmul in sqred1intern
        !           955:    14- optimized polredabs (always do the initial polred now: it is for free)
        !           956:    15- more efficient ideal multiplication in random_relation (bnfinit)
        !           957:    16- library names nfhermite[mod|basis] <--> nfhnf[mod|basis]
        !           958:    17- subgrouplist function (use Birkhoff algorithm)
        !           959:    18- improve recovery in lllgramintern
        !           960:    19- improved checkgenerator in polredabs (look directly for double roots)
        !           961:    20- for consistency, return S-units in t_POL format (as fundamental units)
        !           962: IZ 21- revamp gnuplot autodetection by Configure
        !           963: BA 22- nfgaloisconj(nf, 4) uses Allombert's algorithm instead of Kluners's
        !           964:
        !           965:   Added
        !           966:     1- install-doc target
        !           967:     2- make install makes a symlink pari.1 --> gp.1
        !           968:     3- ??tutorial/refcard opens tutorial/refcard.dvi in xdvi
        !           969:     4- posibility to extract the complement in vecextract
        !           970: HC  5- Ducos's subresultant algorithm (polresultant(,,2))
        !           971: HC  6- accept a "vector of steps" in forstep
        !           972:     7- examples/classno.gp
        !           973: XR  8- new function bnrL1
        !           974:     9- new function gdivexact (used in subresultant, Gauss-Bareiss...)
        !           975:    10- new function bnfnewprec
        !           976:    11- optional argument to \l and \e shortcut
        !           977:    12- nfinit,polred[abs] accept input of the form [pol, HNF basis for Z_K]
        !           978:    13- q-Pascal triangle (matpascal(n,q))
        !           979:    14- file src/basemath/subgroup.c, new function forsubgroup()
        !           980: IZ 15- function plotclip
        !           981: IZ 16- new file examples/taylor.gp (nice example for plotclip)
        !           982: BA 17- new file galconj.c
        !           983:
        !           984: ===========================================================================
        !           985: Done for version 2.0.14.alpha (released 05/03/1999):
        !           986:
        !           987:   Fixed
        !           988:     1- factormod(2*x+1, 2) --> "factor for general pol. not implemented"
        !           989: IK  2- gphelp could leak temporary files
        !           990: BD  3- for native Win32 build: buffer overflow in get_home, incomplete
        !           991:        paricfg.h, typo in try_pipe (#endif misplaced)
        !           992:     4- nfsubfields: could miss subfields if index > 1
        !           993:     5- removed 3 useless setrand(1) in subfields.c
        !           994:     6- rare and obscure memory bug in inverseimage (lost pointers in gerepile)
        !           995:     7- memory bug in factorpadic4 (prime not copied before result)
        !           996:     8- memory consumption in round2 (allbase)
        !           997: GT  9- m68k version: duplicate symbols from mp.c
        !           998: IS 10- Cygwin: in mpqs.c, open files in binary mode (otherwise fseek goes crazy)
        !           999:    11- bnfisprincipal().gen gives the expected answer
        !          1000: IZ 12- signatures for Math::Pari in highlvl.c / init.c + GNUPLOT
        !          1001:        set-output-file problem
        !          1002:    13- if we think readline needs libiberty, check whether it's installed first
        !          1003: DB 14- PowerMac: header inclusion in highlvl.c, lround def'd in system headers
        !          1004: XR 15- rnfkummer makes sure to return an integer
        !          1005: XR 16- rnfconductor accepts polynomials with rational coeffs
        !          1006:    17- polredabs + internal precision change --> nfnewprec forgets nf[5][1]
        !          1007:    18- don't log lines twice when pariecho is set
        !          1008:    19- glitches in content() (e.g content("a") --> SEGV)
        !          1009:    20- get_sep(2) reacted incorrectly to empty strings
        !          1010:    21- rootmod could destroy its argument
        !          1011:    22- Fp_pow_mod_pol(x, 1,...) should return gcopy(x), not x
        !          1012:    23- galoisconj1 computed wrongly the precision needed (+ prototype change)
        !          1013: IZ 24- remove __OPTIMIZE__ dependence (define GCC_INLINE instead)
        !          1014:    25- off-by-1 error in apell1
        !          1015:    26- misleading error message in minimalexponent()
        !          1016: XR 27- in nffactor, forgot to update precision when increasing exponent
        !          1017:        (+ various typos)
        !          1018:    28- sparc + non-gcc --> kernel2 possibly not included: compilation failure
        !          1019:    29- when echo is set don't print prompt if line is empty
        !          1020:    30- ellpointtoz sometimes return -x instead of x
        !          1021:    31- gp -b 1 --> hangs gp
        !          1022: DE 32- many glitches in manual
        !          1023:    33- mathnf(x, 3) when x hasn't maximal rank (SEGV)
        !          1024:    34- differences in buchall 32bit/64bit (PRECREG too high. bnfinit(x^13-6))
        !          1025:    35- various inefficiencies in nfshanks ("module too large in nfshanks")
        !          1026:    36- memory leak in buchall (= bnf*)
        !          1027:    37- "not a definite matrix in lllgram" after a call to bnf*
        !          1028:    38- typo in factorff(x^3+2,3,y^2+1) --> SEGV
        !          1029:    39- [internal] missing tags (e.g zprimestar) after make ctags
        !          1030:    40- idealstar(*, big prime) --> cryptic error msg (more tolerant now)
        !          1031:    41- have Mod(0,1)^-1 return Mod(0,1) (fixes znstar(prime))
        !          1032:    42- ginv(-1/2) --> 2
        !          1033:    43- heap leak when using local()
        !          1034:    44- overflow in addssmod
        !          1035:    45- changed the syntax of round()
        !          1036:    46- sqrt(1. + O(x)) --> infinite recursion
        !          1037: IZ 47- don't create GP variables when expanding strings
        !          1038:    48- internal variable 'parisize' not properly updated after allocatemem()
        !          1039: IS 49- config/display didn't work properly with ActivePerl
        !          1040: IS 50- Configure didn't handle most recent Cygwin
        !          1041:    51- polinterpolate([],[]) --> SEGV
        !          1042:    52- adapted gp_rl.c to readline 4.0
        !          1043:    53- glitches in whatnow database (new file src/gp/whatnow.c)
        !          1044:    54- all warnings from gcc 2.8.1
        !          1045:    55- uninitialized tetpil in gscal() (bnfreg(x^2+1))
        !          1046:    56- precision problems in polgalois (degree > 7)
        !          1047:    57- config/locatelib prompted a lot of useless work (returning too many
        !          1048:        libraries) and could pick up the wrong library
        !          1049:    58- very rare bug in nfbasis (discriminant ok, but wrong basis)
        !          1050:    59- quadclassunit: make sure sub factor base is big enough (oo loop)
        !          1051:    60- more flexible "colors" default (initial work IZ)
        !          1052:
        !          1053:   Changed
        !          1054:     1- x.fu outputs polynomials (as all bnf* functions), not polmods
        !          1055:     2- improved mppgcd (including vali)
        !          1056:     3- improved division vector/scalar
        !          1057:     4- \x to print a * in front of out-of-stack moduli (t_[INT|POL]MOD)
        !          1058: IZ  5- better commandline usage message
        !          1059:     6- don't buffer log messages going to pari.log
        !          1060:     7- accept [nf, t_POLMOD] where nf is expected
        !          1061:     8- poldisc() and quadgen() accept an optional variable name
        !          1062:     9- when defining user function check for duplicate variable names
        !          1063:    10- [internal] is_entry always uses function_hash (use is_entry_intern)
        !          1064: OR 11- pari.el updated (see emacs/pariemacs.txt)
        !          1065:    12- removed shiftl from lgcdii
        !          1066:    13- use roots_to_pol in polgalois
        !          1067:    14- precision heuristic in gauss_get_prec
        !          1068:    15- cleaned up lllall and lllgramall
        !          1069:    16- sort the output of nffactor, nfroots, factorff and factornf
        !          1070:    17- nfgaloisconj now guaranteed to find all conjugates (use nffactor)
        !          1071:    18- Removed flag 1 in nfisisom/nfisincl: function checks its arguments,
        !          1072:        and uses the best algorithm (both guaranteed complete). Changed the
        !          1073:        names (nfiso/nfincl) in library mode to match GP usage
        !          1074:    19- gerepile(ltop,lbot,0) no longer returns ltop - lbot
        !          1075:    20- improved floor and round(t_FRAC)
        !          1076:    21- removed some duplicate code from nffactor
        !          1077:    22- passing a pointer to GEN in a GP funciton now explicitly requires an &
        !          1078: IZ 23- more verbose error messages for online help
        !          1079:    24- increased a bit poltschirnaus's period
        !          1080:    25- DOS version: don't use more for external help
        !          1081:    26- cleaned up buchall code
        !          1082:    27- removed unnecessary gres from polarit1.c:to_fq()
        !          1083:
        !          1084:   Added
        !          1085:     1- apropos command in gphelp (-k switch), ??? under GP
        !          1086:     2- function global()
        !          1087:     3- function gp_variable to use sums, etc in library mode
        !          1088:     4- [internal] new functions mulmat_real
        !          1089:     5- new functions gerepileupto[leaf|int]
        !          1090:     6- function znlog()
        !          1091: IZ  7- added default(color, "yes" / "no")
        !          1092:     8- --static flag to Configure
        !          1093: GH  9- inline alpha assembler (gcc specific)
        !          1094:
        !          1095:   Removed
        !          1096:     1- isinclfast/isisomfast
        !          1097:     2- rounderror
        !          1098:
        !          1099: ===========================================================================
        !          1100: Done for version 2.0.13 alpha (released 14/12/98):
        !          1101:   Fixed
        !          1102: IK  1- Configure hangs on FreeBSD systems
        !          1103: RD  2- Roland's patch (2.0.11: Fixed- 42) had been incorrectly applied
        !          1104:     3- stack corruption in glcm (if operands > 10^155)
        !          1105:     4- index wrap-around in polsubcyclo (n > sqrt(2^31))
        !          1106:     5- incorrect placement of strings in psdraw
        !          1107:     6- memory corruption in rhoimag0
        !          1108:     7- fix up memory debug mode (\gm) when switching to alternate stack
        !          1109:     8- memory corruption (new_chunk + mulii) in gmul/gdiv (t_FRAC)
        !          1110:     9- escape chars in GP strings sometimes parsed twice (e.g Str("\\") --> "")
        !          1111:    10- nfinit(x^18+16) --> impossible inverse mod(0,2) (bug in eltppm()
        !          1112:        introduced in 2.0.12)
        !          1113:    11- weird SEGVs due to variable handling (changed the 'bloc' structure)
        !          1114:    12- moved highlvl.c to src/gp (libpari was missing symbols from plotport)
        !          1115:    13- polcyclo ignored its second argument (introduced in 2.0.12)
        !          1116: TP 14- minor fixes in paridecl.h (poldivres, gredsp: C++ compiler exits)
        !          1117: HC 15- still sign problems in resultant (see 2.0.12: Fixed-58)
        !          1118:    16- (Solaris):GNU ld doesn't like empty object files: remove kernel2.o
        !          1119: IZ 17- make bench forgot to treat the install() BUG in a special way
        !          1120:    18- factor(x^2 + I) --> SEGV (also with t_QUADs)
        !          1121:    19- factornf(x^3+1,y^2-1) --> stack doubling (now output error msg)
        !          1122: IZ 20- for Math::Pari fix valence of factormod()
        !          1123: IZ 21- outfile rename pari_outfile (conflict with gnuplot headers)
        !          1124:    22- DEBUGLEVEL could be modified and not reset upon interrupt
        !          1125: IK 23- make perl -wc gphelp happy
        !          1126:    24- incorrect use of gettime() in the library (nffactor) --> wrong timings
        !          1127:        (in particular for the 'nfield' bench)
        !          1128:    25- polred/polredabs used different types for output. Made both t_VEC
        !          1129:    26- remove duplicate polynomials in polredabs(x,4) and polred
        !          1130: XR 27- precision fixes in modules/[nffactor|stark].c
        !          1131:    28- in compatible mode, \precision didn't work anymore
        !          1132:    29- typo in Round4 (case "p small" and "p huge" were swapped)
        !          1133:    30- incorrect prototype for conductor in compatible mode
        !          1134:    31- factor((x^2-1)/2) --> SEGV (factpol assumed integer entries)
        !          1135:    32- memory usage in Round2: nfbasis(*, 2) (also cleared some inefficiencies)
        !          1136: IK 33- typo in primitive_pol_to_monic
        !          1137:    34- deplin did not check its arguments
        !          1138:    35- quadray() assumed variable "y" was not in use
        !          1139:
        !          1140:   Changed
        !          1141:     1- glength() returns a C-long integer
        !          1142:     2- in hnfmodid(x,d) reduce mod d immediately
        !          1143:     3- allow vector(n), and matrix(n,m)  (filled with 0s)
        !          1144:     4- under GP, wait for input if line ends with '=' (cf \)
        !          1145:     5- wait for input when a line ends with an '=' sign
        !          1146:     6- modified extended help to (potentially) search the whole manual
        !          1147:     7- in nfdisc, specific error message if discriminant is 0
        !          1148:     8- use divide_conquer_prod() in factorback()
        !          1149: IZ  9- in test suite, add setrand(1) in front of poltschirnaus
        !          1150: IZ 10- M-( bound by default
        !          1151: IZ 11- improved gnuplot support
        !          1152:    12- improved gcmp[1|_1](t_REAL)
        !          1153: OR 13- new pari.el (see emacs/pariemacs.txt)
        !          1154:
        !          1155:   Added
        !          1156:     1- members e, f, p, gen for prime ideals
        !          1157:     2- mathnf([M, M2]) computes mathnf(M), updating M2 (equivalent to
        !          1158:        v=mathnf(M,1) then M2*v[2], but much faster if M2 is small or over a
        !          1159:        finite field)
        !          1160:     3- local() keyword for user function definitions in GP
        !          1161: IZ  4- new functions plotfile(), plotpointsize()
        !          1162: IZ  5- splines for ploth (flag 256)
        !          1163:
        !          1164:   Removed
        !          1165:     1- \k metacommand
        !          1166:
        !          1167: ===========================================================================
        !          1168: Done for version 2.0.12 alpha (released 06/11/98):
        !          1169:
        !          1170:   Fixed
        !          1171:     1- GNU as incorrectly treated by Configure
        !          1172: GN  2- various fixes in mpqs.c (incl. file descriptor leak)
        !          1173: GN  3- [From 2.0.11- Fixed 14] floating point exponents: 1E1 --> possibly 0.1
        !          1174:     4- 1 % Pol(2) still wasn't right [cf 2.0.11- Fixed 31]
        !          1175:     5- src/test/dotest for DOS boxes (running sh)
        !          1176:     6- removed unreachable err() in factor()
        !          1177:     7- system() is defined under EMX, so make it available for DOS
        !          1178:     8- possibly use / as path separator under EMX, check COMSPEC and EMXSHELL
        !          1179:     9- compatible = 3 downcased all the following lines in gprc and caused
        !          1180:        incorrect behaviour of preprocessing statements
        !          1181:    10- unified default commands + better checks (e.g: default(log,0)->SEGV)
        !          1182:    11- memory leak in gp_main_loop: bufferlisit wasn't reset on error
        !          1183:    12- gptimer() not initialized properly if ^C was first command
        !          1184:    13- extra space (sometimes) output by command line completion in DOS
        !          1185:        version
        !          1186:    14- modifying histsize could corrupt the history stack
        !          1187:    15- incorrect error messages in gsqr
        !          1188:    16- not enough garbage collection in rootmod (polgcdnun)
        !          1189: TP 17- compilation using cc -64 on 64-bit SGI
        !          1190: IS+GN 18- "(hit return to continue)" message did not flush stdin
        !          1191: GN 19- ECM rewrite
        !          1192:    20- incorect absi_cmp in buch3.c
        !          1193:    21- useless garbage collecting in sqred2
        !          1194:    22- O(1)^(1/2) --> SEGV
        !          1195:    23- forvec(i=[],...) --> SEGV
        !          1196: GN 24- deriv(x*y, y) --> 0
        !          1197: GN 25- inefficient GC in ispseudoprime()
        !          1198:    26- fixed some (not all) compiler warnings (char * --> unsigned char *)
        !          1199:    27- exp(too large number) now gives a meaningful error message
        !          1200: AW 28- getrusage still not detected on FreeBSD 2.2.5
        !          1201: GN 29- off by 1 error in initprimes() (--> not enough calculated primes)
        !          1202:    30- inefficiencies in factor(t_POL)
        !          1203: HC 31- bug in rnfelementabstorel for Mod(scalar, t_POL)
        !          1204: HC 32- typo in gaussmoduloall
        !          1205:    33- idealred(principal ideal) always returned an archimedean part
        !          1206: HC 34- idealpowprime wrong for negative powers
        !          1207:    35- typo in binomial(n,k) (wrong answer if n<=k)
        !          1208:    36- online help for polinterpolate
        !          1209:    37- incorrect garbage collecting in quickmulii/quicksqri
        !          1210:    38- reformatted the output in test mode (gp -test)
        !          1211:    39- polroots((x-7)*(x-8)*(x+16)) took far too much time
        !          1212:    40- ellap assumed ell was given in characteristic 0
        !          1213: IZ 41- outlook of plot function (better labels, better choice of chars)
        !          1214: RD 42- when factoring over a non prime finite field and found a p-th power,
        !          1215:        forgot about Frobenius
        !          1216: GN 43- rare memory bug in ellfacteur
        !          1217:    44- gscalmat was not suitable for gerepileupto
        !          1218:    45- polredabs(,2) didn't handle non-monic polynomials
        !          1219:    46- check for various overflows (x ^ 1000000, etc.)
        !          1220:    47- printtex(I) --> missing closing brace
        !          1221:    48- setisset() did not check that elements were strings
        !          1222:    49- typo in gdiv(t_POLMOD, t_POLMOD) with different variables
        !          1223: KO 50- missing ; in level1.h (Windows specific code)
        !          1224:    51- forprime(p=0,10,) indeed started at p=0
        !          1225:    52- (cf 2.0.11 Fixed-1) put back 3 cgeti in galois.c (were necessary)
        !          1226:    53- factorpadic could overstate the precision of the result
        !          1227:    54- (very) rare memory corruption in allhnfmod (when cleaning up)
        !          1228: PM 55- prototypes in paridecl.h (fussy IRIX compiler), cc -64 in MACHINES
        !          1229:    56- factormod implemented for all primes (p = 2 and p > 2^31 called
        !          1230:        factorcantor which was much slower)
        !          1231:    57- check for unsuitable input in [factor|roots] (SEGV for multivar. pol)
        !          1232:    58- polresultant sometimes gave the wrong sign
        !          1233:    59- extraneous space in err(impl,"") (= "sorry,... not implemented")
        !          1234:    60- aliases treated incorrectly during error recovery (--> obscure bugs)
        !          1235:    61- obscure bug when normalizing rational functions with real coeffs
        !          1236:        (corrected content())
        !          1237:
        !          1238:   Changed
        !          1239:     1- paricfg.h in dos and win32 extracted by Configure before the release
        !          1240:        (to get version number right)
        !          1241:     2- GPRC logic: try $GPRC, then look in $HOME, /etc (/ and C:/ under EMX)
        !          1242:     3- make sure the output of pari_unique_filename() doesn't exist already
        !          1243:     4- use a stack of files to gracefully handle errors/interrupts without
        !          1244:        leaking file descriptors
        !          1245:     5- replaced fixed-size buffers by dynamically allocated ones (es.c/gp.c)
        !          1246:     6- rename INSTALL.QUICK --> INSTALL.DOC (updated)
        !          1247:               Changelog --> CHANGES (looks better under DOS)
        !          1248:     7- mention ?12 in the header
        !          1249:     8- use ; (instead of :) as PATH separator under DOS, OS/2 or Windows (for
        !          1250:        drive letter)
        !          1251: GN  9- ECM tunings
        !          1252:    10- check for overflow in cget* (instead of silent wraparound)
        !          1253:    11- gp_main_loop cut into (improved) pieces
        !          1254:    13- simplified normalizepol
        !          1255:    14- Warn when trying to replace an existing function with install
        !          1256:        (previously error)
        !          1257:    15- new function mpcopy. replaced some inlined function (rcopy, absi,
        !          1258:        absr, negi, negr) by compatibility macros
        !          1259:    16- gphelp now uses GPDOCDIR and GPTMPDIR
        !          1260:    17- improved rational arithmetic by computing smaller gcds (gredsp removed)
        !          1261: GN 18- improvements in MPQS (use less memory, count relations precisely)
        !          1262:    19- text-mode (non-TeX) extended help printed screen by screen
        !          1263:    20- retuned integer multiplication, and made polkaramul the default
        !          1264:        polynomial multiplication
        !          1265: XR 21- stark.c rewritten
        !          1266: IZ 22- updated the pariperl interface
        !          1267:    23- improved handling of t_INTMODs (less GC)
        !          1268:    24- improved (a lot) factoring/root finding for intmod polynomials
        !          1269:    25- modified poldivres to avoid computing remainder when useless
        !          1270:    26- removed inefficient shiftl/shiftlr from the kernel
        !          1271:    27- from the same sources, Configure can now simultaneously run on
        !          1272:        different architectures
        !          1273:    28- polynomial factorizer now sorts the factors (increasing degree)
        !          1274:    29- ?an_obsolete_function now calls whatnow
        !          1275:    30- .pol operates also on t_POLMOD
        !          1276:    31- random() argument can have arbitrary length
        !          1277: IZ 32- with gnuplot, pick a sensible terminal when X11 is not around
        !          1278: IZ 33- change valences for use with Math::PARI
        !          1279: IZ 34- various interface patches (new file highlvl.c, different prototype
        !          1280:        for foreignAutoload...)
        !          1281:    35- optimized permute()
        !          1282:    36- setrand, getrand, getstack, gettime return a C long, and not a GEN
        !          1283:    37- pari_randseed no longer global. Don't reset random number generator
        !          1284:        when entering certain functions
        !          1285:    38- improved smallvectors() (correcting the "not enough storage" bug)
        !          1286:    39- improved computation of special polynomials ([sub]cyclo,tchebi,legendre)
        !          1287:    40- read() and extern() are timed as a whole now
        !          1288:    41- check if LONG_IS_64BIT is correctly defined in pari_init (in case we
        !          1289:        include the wrong pari.h)
        !          1290: GN 42- use Lehmer-Jebelean to compute inverse mod p (TODO: extended gcd)
        !          1291:    43- moved subcyclo() to bibli2.c
        !          1292:    44- improved polredabs, suppressed flag 8
        !          1293:    45- improved ground(), case t_REAL
        !          1294:    46- modified the internal SMALL nf structure (add matrix M, for polredabs)
        !          1295:
        !          1296:   Removed
        !          1297:     1- doc/Makefile.SOS, since make should succeed even if Configure failed
        !          1298:     2- many error messages from the analyzer (referer*, trucer1,
        !          1299:        matvecter...), better handled by talker2
        !          1300:     3- obsolete test %_ in bench
        !          1301:     4- polkaramul(), which is now the default multiplication
        !          1302:     5- factmoder error message
        !          1303:     6- obsolete function polredabsfast
        !          1304:
        !          1305:   Added
        !          1306:     1- `pipes' for DOS running EMX, i.e extern() and extended help are
        !          1307:        available (perl needed for the latter)
        !          1308:     2- file handling functions pari_fopen, pari_fclose, pari_unlink
        !          1309:     3- new default `debugfiles'
        !          1310:     4- file README.DOS
        !          1311: IZ  5- target etags in top Makefile
        !          1312:     6- target ctags
        !          1313: IZ  7- gnuplot support
        !          1314: HC  8- elliptic functions package (ellzeta, ellwp, ellsigma)
        !          1315: HC  9- quadray function, extending quadhilbert
        !          1316:    10- files src/basemath/polarit3.c and src/gp/highlvl.c
        !          1317:    11- user-defined member functions
        !          1318:    12- possibility to choose sizeof(long) at Configure time when the
        !          1319:        hardware suports it (eg. MIPS)
        !          1320:
        !          1321: ===========================================================================
        !          1322: Done for version 2.0.11 beta (released 30/07/98):
        !          1323:   Fixed
        !          1324:     1- removed all dummy cgeti (--> new_chunk)
        !          1325:     2- stack corruption in gcarreparfait (t_INTMOD)
        !          1326:     3- incorrect Fq-loop in apprgen9
        !          1327:     4- removed useless normalize in gdivgs, gdiv
        !          1328:     5- some {} Warnings from gcc -Wall (unjustified, but doesn't hurt)
        !          1329:     6- incorrect zero series return by deriv
        !          1330:     7- gaffsg(, t_PADIC) misused the valuation (symptom: deriv((1+O(2^2))*x^2)
        !          1331:     8- online help for ellinit
        !          1332: GN  9- default gp built without X11 in presence of some versions of xmkmf
        !          1333:    10- ggval: zero series + simplified the code in there
        !          1334:    11- subst(O(q),q,x) --> O(q)
        !          1335:    12- newtonpoly did not treat correctly zero coefficients
        !          1336: IK 13- getrusage incorrectly detected (at least on Linux/FreeBSD machines)
        !          1337:    14- constante() used far too much memory (+ an int should have been a long
        !          1338:        + an lg should have been an lgefint). Reading in a huge bnf needs much
        !          1339:        less memory now
        !          1340:    15- y[2] checked in divri instead of is_bigint (see 2.0.10, Changed 2)
        !          1341:    16- powgi, default case: missing gcopy + incorrect gerepilemany if y==NULL
        !          1342:        Also, uniformized random GC with gpowgs
        !          1343:    17- stack corruption in hil(x,y,p) when typ(x) > typ(y)
        !          1344:    18- SEGV if DISPLAY was unset and hi-res routine under X11 is called
        !          1345: GN 19- ispseudoprime(negative integer)
        !          1346:    20- removed -static from the CFLAGS of profiling version (didn't build)
        !          1347:    21- linear algebra routines involving polynomials with real coeffs
        !          1348:    22- compiles properly under DOS + EMX
        !          1349: GN 23- Warnings from C++ compiler (include unistd.h and sys/ioctl.h where
        !          1350:        needed)
        !          1351:    24- znprimroot(0) --> infinite loop
        !          1352: GN 25- various fixes in mpqs
        !          1353: GN 26- add safety parentheses to macros in paricom.h
        !          1354:    27- polroots needed too much precision (two extra words)
        !          1355:    28- factor(1. * x + I) ---> rubbish or SEGV (bug in polynomialtype automat)
        !          1356:    29- possible address wrapparound in gerepile* (cast to ulong)
        !          1357:    30- in gerepile: useless special case for t_SER
        !          1358:    31- Pol(1) % 1 returned 1, not 0
        !          1359:    32- matdet([x1,1,1/x1; x2,1,1/x2 ; x3,1,1/x3]) returned wrong result
        !          1360:        (call to gdeuc should have been gdiv in all cases in det())
        !          1361:    33- SEGV in powmodulo (access garbage pointer just before exiting)
        !          1362: GN 34- various problems in rho and mpqs
        !          1363:
        !          1364:   Changed
        !          1365:     1- simplified detint, fibo
        !          1366:     2- simplified GC and optimized gmul: t_SERxt_SER, t_POLxt_POL, and gsqr
        !          1367:        (same types)
        !          1368:     3- streamlined binomial
        !          1369:     4- replaced all abusive cmpsi by the relevant egalii
        !          1370:     5- prototype for error types [gmuler|gadder|gdiver][fi], assign[ri]
        !          1371:        using new function type_name
        !          1372:     6- uniformized the test suites (make test*,bench,...)
        !          1373: GN  7- add random GC in mppgcd. Use modified plus-minus algorithm (new cgcd)
        !          1374:     8- format of bench files (to reduce size)
        !          1375:     9- cleaned up factor and polynomialtype
        !          1376:    10- matdet tries to return a significant 0 when called with a
        !          1377:        non-invertible argument, e.g
        !          1378:          matdet([1+O(3),1+O(3);O(3),O(3)]) --> O(3), not 0
        !          1379:    11- made the output of make bench/test slightly more informative
        !          1380:
        !          1381:   Removed
        !          1382:     1- mpkaramul
        !          1383:     2- error messages expter1 and gaffer13
        !          1384:
        !          1385:   Added
        !          1386:     1- misc/gprc.dos a sample gprc for DOS boxes
        !          1387:     2- Configure --prefix=dir is now recognized (in addition to -p)
        !          1388: ===========================================================================
        !          1389:
        !          1390: Done for version 2.0.10 beta (released 09/07/98):
        !          1391:   Fixed
        !          1392:     1- integer factoring engine (ECM): sisprime killed N
        !          1393: XR  2- file closed twice in MPQS
        !          1394: GN  3- bad argument checking in [next|prec]prime
        !          1395: BD  4- warnings from MSVC compiler
        !          1396:     5- warnings from purify (vpariputs + puissii)
        !          1397:     6- sample program and Makefile in examples/
        !          1398:     7- v=...; forvec(a=v, v=...) ==> SEGV
        !          1399: LG  8- support for HP running NextStep
        !          1400: GN  9- have checkmemory (in cget*) check for overflows
        !          1401: LG 10- avoid a bug in cc compiler (version 4.2) under Solaris (in factmod())
        !          1402: LG 11- some missing prototypes and typecasts (for C++)
        !          1403: GN 12- add LOCAL_HIREMAINDER in mulssmod (factor(17!+1) => SEGV on some PCs)
        !          1404:    13- non portable pari_is_rwxdir
        !          1405: GN 14- lots of typos in the documentation
        !          1406:
        !          1407:   Changed
        !          1408: GN  1- add debugging output to ECM
        !          1409:     2- forvec implementation (+ new flags)
        !          1410: GN  3- rewrote the integer factorizer (use Pollard-Brent + improved ECM +
        !          1411:        new MPQS code from 2.0.9)
        !          1412:     4- disabled pari-matched-insert under Emacs
        !          1413:     5- reorganized vecsort & co
        !          1414:     6- in library mode, classno3 --> hclassno
        !          1415: XR  7- improved the nffactor module
        !          1416: HC  8- elllseries (use ellglobalred + ellrootno)
        !          1417:
        !          1418:   Added
        !          1419:     1- new function in library mode lisGEN()
        !          1420: HC  2- new GP function ellrootno
        !          1421:
        !          1422:   Removed
        !          1423:     1- error message vecsorter2
        !          1424:     2- functions vecindexsort, veclexsort (use vecsort with flag)
        !          1425:
        !          1426: ===========================================================================
        !          1427: Done for version 2.0.9 alpha (released 16/06/98):
        !          1428:
        !          1429:   Fixed
        !          1430:     1- typo in qfbhclassno (SEGV when result in (1/3)Z)
        !          1431:     2- too much memory allocated in factmod /factcantor (use clones)
        !          1432:     3- removed the -DREADLINE_LIBRARY hack, use <readline/readline.h> and
        !          1433:        not <readline.h>
        !          1434:     4- version 2.0.8 did not compile with readline 1.*
        !          1435:     5- after gaffect(0, padic), padic was unsuitable for further gaffect
        !          1436:     6- length(a string) gave number of non code words, not string length
        !          1437:     7- factorpadic(polynomial of degree one) did not convert coeffs to padics
        !          1438:     8- reduction mod p^r forgotten in gaffsg(s,t_PADIC)
        !          1439:     9- default(realprecision,,1) did not return # significant digits
        !          1440:    10- typo in nfmodprinit (return x instead of 1-x)
        !          1441:    11- matinverseimage did not check its arguments
        !          1442:    12- mathess([;]) --> SEGV
        !          1443:    13- matid(-100) --> SEGV
        !          1444:    14- mateigen([;]) --> SEGV
        !          1445:    15- matmultodiagonal([;],Mat(1)) --> SEGV
        !          1446:    16- vecextract([;],"..") --> SEGV
        !          1447:    17- introduced in 2.0.8 (Added 3-): aliases/user function + <TAB> ==> SEGV
        !          1448: GN 18- (t_RFRAC) ^ t_INT took an unreasonable amount of time
        !          1449:    19- prevent quick succession of ^C from corrupting memory in recover()
        !          1450:    20- hyperu could enter an infinite loop due to round-off errors
        !          1451: XR 21- matadjoint(Mat(n)) returned Mat(n), not Mat(1)
        !          1452:    22- matadjoint([;]) returned [[;]] (???)
        !          1453:    22- wrap some long error messages
        !          1454: XR 23- inefficiencies in rnfpolredabs
        !          1455: XR 24- nffactor (wrong format for discriminant computation + problems with
        !          1456:        unseparable polynomials + compute disc only once)
        !          1457: HC 25- typos in kummer.c
        !          1458: GN 26- check environment variable LINES, not ROWS
        !          1459:    27- introduced in 2.0.7 (Fixed 7-): lift(Mod(O(2^0)*x, x^3 - 2)^4) was a
        !          1460:        zero polynomial with non-zero sign (=> pb when normalizing in poldivres)
        !          1461:    28- timer always returned 0 if times() was used (e.g linux-alpha)
        !          1462:    29- kill'ing the argument of a user function corrupted the function
        !          1463:    30- make clean did not remove pariinline.h
        !          1464:    31- incorrect memcopy in identifier, case 's' (removed * sizeof(long))
        !          1465:    32- online help for ?. (nf.nf does not exist)
        !          1466:    33- lisseq0: gnil not respected after break/next. avma=av too brutal
        !          1467:        after return
        !          1468:    34- ellwp assumed precdl > 3
        !          1469:    35- under emacs, \c + hit return froze emacs (Emmanuel Kowalski)
        !          1470:    36- (f()= f()=x); f; didn't set f properly
        !          1471: GN 37- comments in anal.c
        !          1472:    38- qflllgram([;]) --> SEGV
        !          1473:    39- no online help for bernfrac
        !          1474:    40- from 2.0.6 (Fixed-8): in padicff2, forgot to raise ideal to power e
        !          1475:
        !          1476:   Changed
        !          1477:     1- improved (trivially) gneg (case t_INTMOD), gtopoly
        !          1478:     2- use macro is_bigint() instead of tests (ulong)x[2] < VERYBIGINT
        !          1479:        (led to typos as in Fixed-4 in 2.0.8)
        !          1480:     3- improved poldivres by replacing many gsub by 1 gneg + many gadd
        !          1481:     4- in pvaluation check for small integer
        !          1482:     5- internal function rnfelement_*mod (prhall=NULL instead of gzero)
        !          1483:     6- improved mathess
        !          1484:     7- added error message "inconsistent data in" in parierr.h
        !          1485:     8- gpui[gs] renamed to gpow[gs]
        !          1486: GN  9- improved probable-primality tests ('end matching')
        !          1487:    10- moved pseudo primality and ECM stuff into ifactor1.c
        !          1488: GN 11- raise to an integer power using left-shift binary (new functions
        !          1489:        powi and powgi)
        !          1490:    12- add some details in the online help headers
        !          1491: GN 13- nextprime, precprime now accept real arguments
        !          1492: TP 14- improved the alpha micro kernel (addllx and subllx)
        !          1493:    15- simplified poltschirnaus
        !          1494:    16- cleaned up identifier(): #ifdef __hpux__ + call_fun() modified
        !          1495:    17- taylor() improved (one gerepile removed)
        !          1496:    18- unified the treatment of zero series
        !          1497:    19- gerepilemany faster and more efficient memory-wise (copy to heap first)
        !          1498: GN 20- improved stack checking in lllgramall
        !          1499:
        !          1500:   Removed
        !          1501:     1- global variable defaultpadicprecision
        !          1502:     2- function compute_prhall (nfmodprinit is better)
        !          1503:     3- function [g]pseudopremier (miller[rabin] better)
        !          1504:
        !          1505:   Added
        !          1506:     1- function egalii
        !          1507:     2- support for cygwin32 in Configure (Andy Stubbs)
        !          1508:     3- new function gunclone to delete a clone (killbloc should be used by
        !          1509:        the analyser only)
        !          1510:     4- comments in anal.c
        !          1511: TP/XR 5- new function factorint(), using MPQS (_experimental_)
        !          1512:
        !          1513: ===========================================================================
        !          1514: Done for version 2.0.8.alpha (released 07/05/98):
        !          1515:
        !          1516:   Fixed
        !          1517:     1- improved garbage collecting in polroots
        !          1518:     2- zetak did not check its nfz argument properly
        !          1519:     3- warnings from MSVC
        !          1520: GN  4- isprime() did not work for numbers in [2^(BIL-1), 2^BIL-1]
        !          1521: GN  5- precprime sometimes missed a prime
        !          1522:     6- quaddisc(x in Q\Z) did not always work
        !          1523:     7- powering of zero series
        !          1524:     8- factorization of null matrices (SEGV)
        !          1525:     9- mateigen for non-diagonalizable matrices (SEGV)
        !          1526: GN 10- infinite loops in some arithmetical functions when arg = big prime
        !          1527: GN 11- cleaned up paridecl.h
        !          1528:    12- gimag/greal for type t_RFRAC/t_RFRACN (fix: Terje Sparre Olsen)
        !          1529: GN 13- ordinal numbers to number components seen through \x
        !          1530: HC 14- lllgram: incorrect gabage collecting in first "warnmem"
        !          1531:    15- theta(q exact, z) entered infinite loop
        !          1532:    16- typo in gdiventres (x<-->y in last line)
        !          1533: MS 17- gtrunc for p-adics when valp(x) < 0
        !          1534: MS 18- polresultant(u+v,u-v,v) => x + u;  polresultant(u+v,u-v) => 2*u
        !          1535: MS 19- issquare(Pol), where Pol(0) = 0
        !          1536: IZ 20- use 15 points (by default) for recursive plotting as documented
        !          1537:    21- matsnf for singular matrices (supersedes a patch by GN)
        !          1538: LG 22- micro kernel support for HPUX
        !          1539: LG 23- compilation with Sun's C++ compiler (version 4.2)
        !          1540:    24- SEGV when factoring polynomials of huge degree (removed expos[100],etc)
        !          1541:    25- garbage collection in gpuigs
        !          1542: GN/BH 26- micro kernel support for ix86 running SunOS
        !          1543: HC 27- handling of 0x0 matrix in some hnf* functions
        !          1544: HC 28- bug in discrayabslist* (try bnrdisclist(bnfinit(y^2-2),200,,1) in 2.0.7)
        !          1545:
        !          1546:   Changed:
        !          1547:     1- moved hnf and snf from base1.c to alglin2.c (base1.c too big)
        !          1548:     2- use gexpo in linear algebra functions when entries contain real
        !          1549:        numbers (work for inexact polynomial entries now). Still does not
        !          1550:        work properly for p-adics
        !          1551: GN  3- in sigma() fall back to numbdiv() or sumdiv() when k < 2
        !          1552:     4- made comments started in file through read("file") local to file
        !          1553:        (not so \r file)
        !          1554:     5- valuation(0) now returns VERYBIGINT instead of raising an error
        !          1555: MS  6- simplified gegal in case t_FRAC
        !          1556: IZ/GN 7- faster initprimes, using less memory
        !          1557: LG  8- improved Configure
        !          1558:
        !          1559:   Added:
        !          1560:     1- new function write1
        !          1561: MS  2- new Lisp-like quote operator 'a
        !          1562: IZ  3- readline: electric parentheses, move across balanced expressions,
        !          1563:          add formal arguments to completion of GP command (when unique)
        !          1564:     4- micro-kernel for hppa
        !          1565:     5- quiet mode (gp -q) to suppress headers
        !          1566:
        !          1567: ===========================================================================
        !          1568: Done for version 2.0.7.alpha (released 21/03/98):
        !          1569:
        !          1570:   Fixed
        !          1571: XR  1- SEGV in get_regulator for imag. quad. fields
        !          1572:     2- "beautified" output (still ugly, less buggy, ok for simple objects)
        !          1573:     3- error during "print()" could change output default
        !          1574:     4- SEGV when syntax errors in gprc
        !          1575:     5- make install failed when libpari.$sodest had been removed
        !          1576:     6- moved term_width and term_heigth to es.c
        !          1577: HC  7- inefficiency in mulii (Karatsuba used too easily)
        !          1578: XR  8- many problems in stark.c
        !          1579: XR  9- bugs in rnfpolredabs (+ new flag)
        !          1580: GN 10- _many_ typos in tutorial and user's manual. New, much nicer, layout
        !          1581:    11- whatnow not robust enough + faulty call by err_new_fun ==> SEGV
        !          1582:    12- idealadd treated incorrectly the 0 ideal
        !          1583:    13- default(realprecision) gave wrong value when format had been changed
        !          1584:    14- bnfs structure was inefficient for applications (inverted 2nd comp.)
        !          1585:    15- buffersize was incorrectly updated during complicated read()
        !          1586:    16- one-line comments "ignored" if buffersize too small
        !          1587:    17- using eval on object containing killed variables caused a SEGV
        !          1588:    18- contfrac lost last term when first parameter was rational and
        !          1589:        numerators were supplied
        !          1590:    19- problems when dividing with polynomials/series whose leading coeff is
        !          1591:        non-exact 0
        !          1592: BD 20- missing #ifdef ZCAT in es.c
        !          1593: BD 21- check in paricom.h whether min / max are already defined
        !          1594: BD 22- universal_constants freed early in freeall() (problems on Windows NT)
        !          1595: BH 23- update Makefile.dos (nf.h --> parinf.h)
        !          1596: BH 24- changed kernel/ix86/level0asm.c (FUNBEGIN/FUNEND + ALIGN)
        !          1597:    25- cleaned the gauss_pivot functions + garbage collecting in gauss()
        !          1598:    26- mathnfmod did not check its second argument
        !          1599:    27- since 2.0.4 (item 24) install did not work anymore on FreeBSD + gp-dyn
        !          1600:    28- cleaner malloc in plotX.c (to remove Warnings when debugmem > 0)
        !          1601:    29- slightly optimized matdet (gsub --> gadd(,gneg))
        !          1602:    30- ? x=1; Pol(1)
        !          1603:          ***   variable name expected: x,n,
        !          1604:                                        ^---
        !          1605:        is fixed everwhere (wherever an optional variable name is expected)
        !          1606:        setting "x" to some value is now safe
        !          1607: IZ 31- nicer looking plot() function
        !          1608:    32- warnings while building for m68k arch
        !          1609:    33- sqrt(Mod(1,2)) went into an infinite loop
        !          1610:    34- ?? did not resolve aliases
        !          1611:    35- besselk near integers entered an infinite loop
        !          1612:    36- p-adic sqrt (bad valp)
        !          1613:    37- hnfmodid could output wrong results (wrong diagonal) and wreck the
        !          1614:        powering of prime ideals
        !          1615:    38- added garbage collecting in izeta
        !          1616:    39- ??a_number now works as gphelp
        !          1617:    40- in prettymatrix format, matrices 0xn and nx0 are always printed as [;]
        !          1618:    41- 1 - "a" ==> SEGV
        !          1619:
        !          1620:   Changed
        !          1621:     1- reorganized output functions (es.c)
        !          1622:     2- have mulir check if integer is small
        !          1623:     3- part of GENtostr inlined (check_output_length())
        !          1624: HC  4- functions where it makes sense now admit an optional argument for
        !          1625:        "variable number" (intformal, deriv, things having to do with
        !          1626:        polynomials, etc)
        !          1627:     5- lines of any length can be input interactively (previously 1k at most)
        !          1628:     6- remove {} and \ from readline history
        !          1629:     7- improve treatment of sample programs in gphelp -d
        !          1630:     8- uniformized debugmem messages
        !          1631:     9- simplify the coinit function (Michael Somos)
        !          1632:    10- changing the function set through default(compatible,) no longer
        !          1633:        resets installed functions
        !          1634:    11- renamed nfker-->nfkermodpr, nfgauss-->nfsolvemodpr
        !          1635:    12- simplified/extended dummycopy
        !          1636:    13- listput gives more informative error messages
        !          1637:
        !          1638:   Added
        !          1639:     1- default: lines
        !          1640: HC  2- (made known to GP) functions nfmodprinit, nfkermodpr & nfsolvemodpr
        !          1641: XR  3- function bnrstark
        !          1642:     4- install code D& (optional pointer)
        !          1643:     5- function name_var (to use after fetch_var)
        !          1644:     6- concatenation of lists (or row vectors) of objects (overloaded concat)
        !          1645:     7- ranges for vecextract (eg. vecextract(x, "1..3"))
        !          1646:
        !          1647:   Removed
        !          1648:     1- useless code 'F' in analyzer
        !          1649:     2- perl directory (moved the files in ./perl to ./doc)
        !          1650: ===========================================================================
        !          1651: Done for version 2.0.6.alpha (released 22/02/98):
        !          1652:
        !          1653:   Fixed
        !          1654:     1- \x (voir2) did not always print the correct number of words
        !          1655:     2- in changevar, type POLMOD, modulus and polynomial were interchanged
        !          1656:     3- all occurences of former header file names in the documentation
        !          1657:     4- (from 2.0.5. item C5) using allocatemem in a script aborted file reading
        !          1658:     5- expanded the documentation for bnrrootnumber
        !          1659:     6- factor(pol. with rational non integer coeff) could corrupt the stack
        !          1660:     7- Euler gave wrong results when prec > 80502 digits (also cleaned up Pi)
        !          1661:     8- cleaned up ggcd, grando0, tayl and factorpadic2
        !          1662:     9- is_scalar_t --> is_const_t in gvar/gvar2
        !          1663: IZ 10- Configure and example Makefile for OS/2
        !          1664:    11- idealprincipal did not accept n x 1 matrices
        !          1665:    12- idealhnf(nf,a,b) did not work for quadratic fields
        !          1666:    13- matsolve[mod]([;],.) could corrupt the stack or accept incorrect input
        !          1667:    14- modules/galois.c unnecessarily included <sys/stat.h>
        !          1668: BH 15- symbol name problem in level0asm.c (cancels patch by IZ)
        !          1669: XR 16- fixes in stark.c
        !          1670:    17- cleaned all occurences of HIGHVALPBIT and HIGHEXPOBIT
        !          1671:    18- serconvol assumed main variable was "x"
        !          1672:    19- (x + O(x^2))^(3/2) gave a stupid error message
        !          1673:    20- types not checked correctly in gtoser
        !          1674:    21- check more seriously arguments to default()
        !          1675:    22- in Makefile: added some missing $(RM), changed an "ln -s" in $(LN)
        !          1676:    23- extra '\n' after print1 + sequence of warnings
        !          1677:    24- simplified a statement in addii()
        !          1678:    25- typo in classno() (classno(-200183): "division by 0") + cleaned classno
        !          1679:    26- all compiler warnings + most of lint's
        !          1680:    27- make install would not work anymore if emacs was not found
        !          1681:    28- HNF reduction not always complete when rank is small compared to dim
        !          1682:    29- gphelp -d did not handle ~ properly (+ cosmetic changes)
        !          1683:
        !          1684:   Removed
        !          1685:     1- unused files src/kernel/ix86/{asmi386.h,asmi386inline.h}
        !          1686:     2- useless macro gcopyifstack and global variable RAVYZARC
        !          1687:     3- useless error message gcder1
        !          1688:     4- useless (undocumented) function fasthnf
        !          1689:
        !          1690:   Changed
        !          1691:     1- simplified isonstack
        !          1692:     2- extended valid inputs for matsolvemod
        !          1693:     3- don't output a '\n' before an empty matrix
        !          1694:     4- mpsincos no longer static (so that it can be installed)
        !          1695:     5- reorganized gp_initrc() to cater for for non-UNIX arch
        !          1696:     6- the "obsolete function" message now launches whatnow() directly
        !          1697:        (and caters for the special cases "i" and "o" now)
        !          1698:     7- improved stack management in hnf/allhnfmod/fasthnf
        !          1699:     8- moved powering functions to trans1.c
        !          1700:     9- disable logfile while reading .gprc
        !          1701:    10- (slightly) the output of whatnow()
        !          1702:
        !          1703:   Added
        !          1704: BH  1- support for DOS build using EMX (dos directory + fixes)
        !          1705:     2- function cotan() and bernfrac()
        !          1706:     3- a code for pointers (&) for analyzer and install()
        !          1707:     4- ??readline now includes info about completion and online help
        !          1708:
        !          1709: ===========================================================================
        !          1710: Done for version 2.0.5.alpha (released 07/02/98):
        !          1711:
        !          1712:   Fixed
        !          1713: BH  1- LOCAL_HIREMAINDER added twice more in mp.c
        !          1714: LG  2- some symbols declared extern in gp_rl.c to avoid compiler warnings
        !          1715: LG  3- isprime could corrupt the stack (isprime_proto removed)
        !          1716: LG  4- possible redeclaration of macro from system header (MAX in bibli1.c)
        !          1717:     5- typos in the user's manual
        !          1718:     6- removed unused error numbers and fixed their ordering in mp.s
        !          1719:     7- a ; or : after read/extern was not always correctly taken into account
        !          1720:     8- a bug in polroots (possible SEGV in very rare cases) (Paul Zimmermann)
        !          1721:
        !          1722:   Changed
        !          1723: LG  1- (huge) reorganization of PARI kernel and headers
        !          1724:     2- logfile example in gprc.dft to take advantage of "time expansion"
        !          1725: XR  3- stark units module rewritten
        !          1726: HC  4- rnfpolredabs improved
        !          1727:     5- errors now cause GP to close any file it was reading instead of going on
        !          1728:     6- increased the static limit for the number of files opened simultaneously
        !          1729:
        !          1730:   Added
        !          1731: XR  1- function bnrrootnumber
        !          1732:
        !          1733: ===========================================================================
        !          1734: Done for version 2.0.4.alpha (released 26/01/98):
        !          1735:
        !          1736:   Fixed
        !          1737:     1- recovery on startup was not correctly disabled
        !          1738: GN  2- pari.el (see emacs/pari.el-changes)
        !          1739:     3- "" missing around a DLLD caused Configure to fail if shared library not
        !          1740:        available
        !          1741:     4- component of GEN could be created before its root in gadd(t_SER, t_SER)
        !          1742:     5- nffactormod did not like big primes
        !          1743:     6- removed the `.' binary concat operator introduced in last update
        !          1744:        (broke semantics). Instead Str() argument evaluated in string context
        !          1745:     7- solve did not find some obvious zeroes (solve(x=-2,1,x) for instance)
        !          1746:     8- Configure -pg did not work
        !          1747:     9- 68k version didn't work: corrected mp.s, moved some code & defines
        !          1748:    10- subst(x,variable(x),1) did not work
        !          1749:    11- flag acted contrary to doc in matsolvemod
        !          1750:    12- in rare cases the prompt could still start at column > 1
        !          1751:    13- bnfissunit much faster now
        !          1752:    14- idealval could make mistakes with non-integers
        !          1753:    15- Mat([1])[1,] gave a stack error
        !          1754:    16- zetakinit(x-1) as well
        !          1755:    17- zetakinit(K, even integer) gave a wrong result whenever r1(K)>0
        !          1756:    18- typo in whatnow(hermite) and ?bnfsunit
        !          1757:    19- missing newline in user error after print1
        !          1758:    20- various typos and omissions in chapters 1, 2 and 5 of manual
        !          1759:    21- (x-x)==(y-y) returned FALSE
        !          1760:    22- polfactormod(f,0) gave a SIGFPE
        !          1761:    23- some missing #ifdef UNIX
        !          1762: BH 24- install() now works for gp-sta under Linux and OSF
        !          1763: BH 25- gcc Warnings in gp.c + es.c
        !          1764: BH 26- problems when installing from a different non-priviledged account
        !          1765: BH 27- inefficiencies in mpinline.h (replace memory access by a constant)
        !          1766:
        !          1767:   Changed
        !          1768:     1- when logging mode is on, record command line as well as result, and
        !          1769:        flush buffer often
        !          1770:     2- subdirectory lib now called misc. Changed some filenames in it
        !          1771:     3- defaults psfile and logfile are now run through strftime
        !          1772:     4- for benches total time now taken into account ([BUG] was excluded)
        !          1773:     5- noerr is now the LAST error message (for CLISP interface)
        !          1774:     6- cleaned path expansion (default(path,...))
        !          1775:     7- renamed types.h and cast.h (prefixed by "pari")
        !          1776:     8- renamed type Rect to PariRect
        !          1777: DB  9- kernel/kerPPC.s replaced by kernel/kerPPC.c
        !          1778:    10- made static the arrays in check_isin() (for the Mac port)
        !          1779: BH 11- overflow/hiremainder use local variables as much as possible
        !          1780:    12- prompt not printed during a batch job, unless echo is set
        !          1781:        commands not echoed twice in interactive mode
        !          1782:
        !          1783:   Added
        !          1784:     1- gplogfilter script in misc
        !          1785:     2- check for strftime in Configure
        !          1786:     3- support for alpha running linux (include portability fix on keralpha.s)
        !          1787:     4- file MACHINES
        !          1788:     5- made message for "array index out of range" error more precise
        !          1789:     6- more frequent garbage collecting in mathnf
        !          1790: BH  7- inline asm for i386
        !          1791: GN  8- support for native compiler on AIX
        !          1792:
        !          1793:   Removed
        !          1794:     1- support for dynamic linking on AIX (did not work)
        !          1795:
        !          1796: ===========================================================================
        !          1797: Done for version 2.0.3.alpha (released 13/01/98):
        !          1798:
        !          1799:   Fixed:
        !          1800:     1- rare bug in gadd (PADIC + PADIC) which caused one of the arguments
        !          1801:        to be overwritten
        !          1802:     2- typos in refcard
        !          1803:     3- galois.c still couldn't compile on the HP (_INCLUDE_POSIX_SOURCE)
        !          1804:     4- introduced in 2.0.2: item 14 used gexpo incorrectly (bnfinit sometimes
        !          1805:        did not give units it could have computed)
        !          1806:     5- replaced INFINITY by pariINFINITY in rootpol.c (cancels Warning on OS/2)
        !          1807:     6- on OS/2, target ../gp-$dft in o.xxx/Makefile could not be built
        !          1808:        (extraneous $exe_suff)
        !          1809:     7- command line switches so that one can enter them with or without white
        !          1810:        space (new function read_arg in gp.c)
        !          1811:     8- setdcolors so that it can't unset disable_colors if we are under emacs
        !          1812:    11- random did not check its argument correctly (random(2^32) was accepted)
        !          1813:    12- b=10; for(a=1,b, b=2) exited immediately, whereas the upper bound is
        !          1814:        supposed to be evaluated only once
        !          1815:    13- reorganized the error recovery system (initially because errpile could
        !          1816:        cause SEGV on Linux systems)
        !          1817:    14- typo. problems in doc and refcard (interletter spacing in $nfz$...)
        !          1818:
        !          1819:   Changed:
        !          1820:     1- Reorganized Makefile.SH: extraction twice as fast
        !          1821:     2- pari.menu and pariemacs.txt rewritten, pari.el updated
        !          1822:     3- expanded the man gp.1 to mention command line switches
        !          1823:     4- the implied input from non-interactive input command (like extern and
        !          1824:        read) does not go into the GP history (%x) anymore (it never went into
        !          1825:        readline's). The final output (value of last expression evaluated) of
        !          1826:        course still does!
        !          1827:     5- updated chapter 5 of the User's Manual (removed obsolete information)
        !          1828:
        !          1829:   Added:
        !          1830:     1- better settings for handling the Meta key under readline in
        !          1831:        examples/Inputrc
        !          1832: YU  2- support for shared libraries under FreeBSD
        !          1833:     3- colors under Emacs
        !          1834:        1) emulate exactly the "colors" default after a M-x gp
        !          1835:        2) .gp files edited get a special highlighting
        !          1836:     4- a flag to default() to get the result under GP
        !          1837:     5- overloaded the "." (member) operator to concatenate as strings if LHS is
        !          1838:        a string
        !          1839:     6- .gprc accepts some limited preprocessing directive (#if READL and
        !          1840:        #if EMACS (and #ifnot as well)). Updated lib/gprc.default to reflect the
        !          1841:        changes
        !          1842:
        !          1843:   Removed:
        !          1844:     1- some unused, undocumented functions (allocatemem(), checksqid())
        !          1845:        made static some other (op_ReIm)
        !          1846:
        !          1847: ===========================================================================
        !          1848: Done for version 2.0.2.alpha (released 15/12/1997):
        !          1849:
        !          1850:   Fixed:
        !          1851:     1- typos in the documentation for the random() function
        !          1852:     2- removed an extra -emacs flag in pari.el
        !          1853:     3- decodefactor was incorrectly remembered by whatnow (it's factorback now)
        !          1854:     4- test mode did not prevent all prompt expansion (==> bug in make test)
        !          1855:     5- gphelp stopped abruptly when meeting a cross-referencing macro
        !          1856:     6- zetainit now aborts cleanly when disc. too big (caused memory fault)
        !          1857:     7- exceedingly rare bug in the printing of real numbers (missing decimals)
        !          1858:     8- too early rounding in polroots which in rare cases made GP think some
        !          1859:        error had happened
        !          1860:     9- text overflowed the manual pages (and tutorial) on non-A4 paper
        !          1861:    10- polred incorrectly assumed that nf arguments were totally real (in a non
        !          1862:        critical part: that just led to some unnecessary computations)
        !          1863:    11- polred(f,2) could try to overwrite universal integer gzero
        !          1864:    12- check if we are using GNU as or GNU ld in Configure
        !          1865:    13- empty -R argument to $CC when building GP without graphics (==> link
        !          1866:        failed)
        !          1867:    14- bnfinit acts sensibly when fundamental units are too large (before:
        !          1868:        "overflow in R*R")
        !          1869:    15- cleaned up buch2.c (removed ideallllredpart1, removed gerepile in
        !          1870:        class_group_generators(), not_given now called from getfu)
        !          1871:    16- nfgaloisconj(...,2) was unusable (tried an illegal multiplication)
        !          1872:    17- is_totally_split was very inefficient (==> nfgaloisconj was very slow)
        !          1873:    18- some unimportant typos (gexpo) in polgalois
        !          1874:    19- compiling without readline gave a Warning in gp.c (already_hist)
        !          1875:    20- some make programs don't like $< (suppressed from doc/Makefile)
        !          1876:    21- ellap sometimes assumed wrongly that coeffs of the curve were integers
        !          1877:    22- flag 0 and 1 in ellap had been mixed up
        !          1878:    23- print an extra \n before an error message if last output did not
        !          1879:        include it
        !          1880:    24- component(any non recursive type) gave a SEGV
        !          1881:    25- suminf / prodinf / prodeuler assumed they treated a real expression
        !          1882:    26- lindep / algep had problems with numbers having a rational component
        !          1883:    27- last significant digits of bessel* and hyperu were wrong (now only the
        !          1884:        last one is)
        !          1885:    28- expi now returns a long as documented (expi(gzero) returned 0 on 64-bit
        !          1886:        machines!)
        !          1887:    29- g++ could not compile libpari.a (casts missing, extraneous extern "C",
        !          1888:        faulty inline, etc.)
        !          1889:    30- cleaned up the enums in gp.h
        !          1890:    31- incorrect target veryclean in doc/Makefile
        !          1891:
        !          1892:   Changed:
        !          1893:     1- '_' is now valid in GP identifiers
        !          1894:     2- removed subsections from table of contents. pages in the manual are now
        !          1895:        numbered consecutively
        !          1896:     3- gexpo now accepts exact 0 arguments (return -HIGHEXPOBIT)
        !          1897:        gexpo for complex numbers now return max(gexpo(Re), gexpo(Im))
        !          1898:     4- parts of lib/gprc.default
        !          1899:     5- the second argument of subgrouplist is now optional
        !          1900:
        !          1901:   Removed:
        !          1902:     1- buggy label/goto functions
        !          1903:     2- (now unused) error messages: labeler, gexpoer2
        !          1904:     3- _ as shorthand for conj()
        !          1905:     4- (useless, undocumented) function gnormalize
        !          1906:     5- some files in the lib directory (functions, gp)
        !          1907:
        !          1908:   Added:
        !          1909:     1- some files in the lib directory (README, pari.xbm, xgp)
        !          1910:
        !          1911: ==============================================================================
        !          1912: Done for version 2.0.1.alpha (released 29/11/1997):
        !          1913:
        !          1914:   Fixed:
        !          1915:     1- multiple factors forgotten when factoring univariate pols over Z
        !          1916:     2- extraneous modifications of the random seed (period of random
        !          1917:        generator was ridiculously small for some buchxxx functions). Change
        !          1918:        the bench results (in a non essential way)
        !          1919:     3- bad terminal size determination
        !          1920:     4- aliases incorrectly killed (possible SEGV)
        !          1921:     5- incrementing/decrementing array elements with the (valid) syntax
        !          1922:       v[i]++ / v[i]-- caused a weird error message
        !          1923:     6- subgrouplist() could end up by a SEGV on Linux systems
        !          1924: LG  7- on HP-UX, flag -Aa not taken into account in Configure (caused it to
        !          1925:        fail on has_TIOCGWINSZ.c)
        !          1926: LG  8- added a missing #define _INCLUDE_POSIX_SOURCE in galois.c
        !          1927:        (7 & 8 independently fixed by OV)
        !          1928: GN  9- the script examples/cl.gp called vecconcat() instead of concat()
        !          1929: GN 10- make install-sta rebuilt gp-sta unnecessarily
        !          1930: GN 11- many, many typos in the tutorial
        !          1931:    12- tu / fu applied incorrectly to a bnfclassunit
        !          1932:    13- bnfclassunit did not output a valid object (matrix whose elements were
        !          1933:        rows instead of columns)
        !          1934:    14- conversion bug from t_QUAD to t_REAL/t_COMPLEX
        !          1935:    15- off-by-1 error in the history recovery after an error
        !          1936:    16- in fprintferr() (debug messages), embedded %Z did not work correctly
        !          1937:    17- rnfequation over Q yielded a SEGV
        !          1938:    18- string() in compatibility mode corrupted the stack
        !          1939:    19- it is now safe to have colours in prompt and input line under readline
        !          1940:    20- default colours restored upon exiting
        !          1941:    21- default colors in lib/gprc.default used 0 instead of -1 for "no color"
        !          1942:    22- psi and lngamma could give wrong results when the argument was not real
        !          1943:    23- the make test-graphic bench was missing a newline
        !          1944:    24- Pol(break) gave a SEGV
        !          1945:    25- x=1; Pol(1) gave a stupid error message
        !          1946: IZ 26- tutorial.tex was unnecessarily rebuilt
        !          1947:    27- typos in ggcd (cases nobody will ever access: gcd of a non-reduced
        !          1948: LG     fraction with an intmod, etc.)
        !          1949: LG 28- incorrect handling of integrals of vectors
        !          1950:    29- gcd of polynomials with non-exact coeffs gave stupid results (they are
        !          1951:        still often wrong, since the mathematical notion is rather imprecise)
        !          1952:    30- typos in rnfkummer (incorrect flag handling)
        !          1953:    31- typo in idealpowprime (negative exponent gave wrong denominator)
        !          1954:    32- multiplication t_COMPLEX x t_COMPLEX used 4 mult. instead of 3
        !          1955:    33- some modular functions (j, f, f2) rewritten to take advantage of new eta
        !          1956:        function (trueta)
        !          1957:
        !          1958:    Changed:
        !          1959:     1- ?? (gphelp) starts in detex mode (-d) from a console window. tmp files
        !          1960:        now placed according to the $TMPDIR environment variable (in /tmp by
        !          1961:        default)
        !          1962:     2- /usr/local/lib/pari/data is a better place for the Galois resolvents
        !          1963:        (which are not included yet in the standard distribution)
        !          1964:     3- The example for prompt in gprc.default to discuss escape sequences under
        !          1965:        readline
        !          1966:     4- Configure now starts by searching the toplevel directory for a temporary
        !          1967:        readline installation
        !          1968:     5- The output of default(colors) was confusing. It is a string now
        !          1969:     6- third argument of polinterpolate can be arbitrary and is now optional
        !          1970:        ("x" by default) (it had to be numeric)
        !          1971:     7- directory configure renamed config, some of the Makefiles in there as
        !          1972:        well (to avoid confusion)
        !          1973:     8- the low_stack macro to facilitate dynamic stack expansion
        !          1974:     9- if, back to GP main loop, the last command was a print1(), output an
        !          1975:        extra newline. This way the prompt is guaranteed to be anchored on
        !          1976:        column 1 (suppresses a readline display bug as well)
        !          1977:    10- Due to 9, pari.el now supposes the prompt starts in col. 1
        !          1978:    11- Better handling of version numbers (LG)
        !          1979:    12- decodefactor() renamed to factorback()
        !          1980:
        !          1981:    Removed:
        !          1982:     1- The (unused, undocumented) Malloc_Procs functions and macros
        !          1983:     2- The (now unused) error message numvarer
        !          1984:     3- some (useless, undocumented) targets in the top Makefile
        !          1985:     4- (useless, undocumented) function polgcd()
        !          1986:
        !          1987:    Added:
        !          1988:     1- This file !
        !          1989:     2- new flags -ch, -cb, -cu (colour support) to gphelp (see its header)
        !          1990: IZ  3- OS/2 (+ enough tools...) supported by Configure
        !          1991:     4- file examples/Inputrc (example of .inputrc for readline)
        !          1992:     5- Weber f1 function implemented
        !          1993:     6- Karatsuba multiplication t_REAL x t_REAL (development code, not used by
        !          1994:        PARI yet). Test it with install if you wish

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>