=================================================================== RCS file: /home/cvs/OpenXM_contrib/pari-2.2/Attic/CHANGES,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- OpenXM_contrib/pari-2.2/Attic/CHANGES 2001/10/02 11:16:55 1.1 +++ OpenXM_contrib/pari-2.2/Attic/CHANGES 2002/09/11 07:26:37 1.2 @@ -12,14 +12,18 @@ DS = Denis Simon GH = Guillaume Hanrot GN = Gerhard Niklasch GT = Glenn Thobe +GTo= Gonzalo Tornaria HC = Henri Cohen IS = Igor Schein IK = Iwao Kimura +ISo= Ignat Soroko IZ = Ilya Zakharevich KO = Kiyoshi Ohgishi LG = Louis Granboulan MD = Mark Dickinson MS = Michael Stoll +MSo= Michael Somos +MW = Mark Watkins OR = Olivier Ramare OV = Oliver Voigt PM = Peter Montgomery @@ -29,10 +33,364 @@ TP = Thomas Papanikolaou XR = Xavier Roblot YU = Yoshiaki Uchikawa +Done for version 2.2.4 (released ??/07/2002) [hopefully]: + Fixed + 1- add default 'new_galois_format' to make 2.2.3 C-22 optional (by default, + old format will be used, preserving compatibility) + BA 2- FreeBSD: DL_DFLT_NAME value was incorrect + 3- Configure: TIOCGWINSZ not detected on Linux + BA 4- FpV_roots_to_pol not reduced when applied to a singleton + 5- (a.x = [a]); "a".x ---> [a] \\ should be ["a"] + 6- (a.x = [a]); print("a".x) ---> a0.E-28x \\ should be ["a"] + 7- (a.x = [a]); 1.x ---> error \\ should be [1] + 8- wrong rnfidealnorm[rel | abs] (wrong result if O_L not free O_K-module) + 9- gcd(x + 1, x + 1/2) --> 1 \\ should be 1/2 [introduced in 2.2.1] + 10- gcd for multivariate polynomials over finite fields slower than + in characteristic 0 + 11- [library:] typo in vpariputs: pariputsf("%Z%Z",x,y) did not work + (prints x and address of y) +IZ 12- [gnuplot + dynamic link:] allow building even when dlopen() not available + 13- [CVS:] warnings about unknown files (added .cvsignore files) + 14- f()=return \\ return "void" + g()=return(f()) \\ return eval("void") = 0 + now g() returns "void" also + 15- f(x=11,y=x)=local(t=ff(),u=t);1 --> parse error + 16- conjvec([[],[],[]]) --> SEGV + 17- galoisisabelian(x) --> SEGV + 18- nfeltreducemodpr(nfinit(x),1,1) --> SEGV + 19- idealmul(nf, principal ideal, prime ideal) returned wrong result + [introduced sometime in 2.2] + 20- elltors(ellinit([...], 1)) --> SEGV + 21- try to make sure life of GP variables is not too short. Was: + v = [0,0]; v + [v=0,v=0] --> SEGV + u = Mod(x*Mod(1,2),polcyclo(25)*Mod(1,2)); sum(i=1,4,u=u^32) --> SEGV + 22- typo in to_Fp_simple [ bnfcertify(bnfinit(x^2-40!)) --> type error ] + 23- memory leak in gp when handling '&' arguments + 24- removed hack in gcopy [ did not reset the isclone() flag because + gunclone checks isonstack(). But other routines may want to use it ]. + 25- apparent oo loop in bnfcertify [when computing lower bound for + regulator] + 26- ideallistarch(nfinit(x),[1,1],0); --> SEGV [bad input] + 27- factor(x-I) --> x - #<16382> + 28- ellsigma(...,matid(1)) --> SEGV [bad input] + 29- ideleprincipal([],1) --> SEGV [bad input] + 30- factorback(matid(1),nfinit(x)) --> SEGV [bad input] + 31- incomplete help message for vecsort + 32- polredabs fails to reduce + x^8-2*x^7-34*x^6+78*x^5+265*x^4-628*x^3-389*x^2+1237*x-449 + [typo in chk_gen_init: skipfirst not initialized properly] +MW 33- (recent) typo in localred (char 2) + 34- 2.2.3-C20 had broken backward compatibility: restore + [inefficient, useless] previous output of nfelt*modpr routines + 35- idealappr(nfinit(y),matid(2),1) --> SEGV [bad input] + 36- sqrtn(0,...) ---> error + 37- galoisinit(x^4 + 5264*x^3 + 8034856*x^2 + 4205424384*x + 504485485632) + --> weird error + 38- qfsign([;]) --> SEGV +MW 39- torsion group of [0,0,0,-6648,208633] reported as C2 instead of C6 + 40- bnfinit: very rare stack corruption + 41- bnfinit: used too much memory when needing huge number of relations + [when computing fundamental units] + 42- bnrL1(bnr with conductor 1) --> SEGV + 43- "impossible inverse modulo ..." when using addprimes() + ROUND 2 +MSo44- [gp: \x] missing 'break' statement in escape() + 45- wrong bound in nf_LLL_cmbf (nffactor) [no counter example to + the old bound, but proof was wrong anyway...] + 46- [gp:] memory leak when assigning to multidimensional arrays (x[i][j]=1) + 47- added user-friendly error message if Configure not run properly + fix + INSTALL.tex about make gp.dbg / gp.prf + 48- matcompanion(x*y) --> weird error + 49- typos in hilbert(), e.g + hilbert(Mod(1,2), y) --> SEGV, + hilbert(-1+O(2^3), 12 + O(2^3)) accepted wheras 2-adic precision too + low to decide +BA 50- [FreeBSD:] PORTOBJFORMAT undefined by the system --> Configure fails + 51- rnfisnorm() [errors, SEGV]. Had to change the prototype. +BA 52- Oxxx/Makefile was not compatible with BSD make. + 53- errors in files read from .gprc, containing trap() --> SEGV + 54- bezoutres(Pol(sin(x)+Pi),Pol(cos(x))) --> "bug in subresext" + 55- nfsubfields had a different output format when using galoissubfieds + 56- polcoeff(1/x, -3) --> SEGV + 57- (-2/x)/(-1/x) --> -2/-1 +BA 58- [GP internals:] trap() had an invalid prototype [DI,DI] + 59- M[,2][1]=1 --> error; M[1,][2]=1 --> no effect [ now <==> M[1,2]= 2 ] + 60- [GP:] newline in multiline comments /* */ was not ignored + 61- [GP:] when using default 'colors' for input at \gn>1, first debugging + msg could be colored -Done for version 2.2.1 (released ??/09/2001): + Changed + 1- remove most global variables from gp.c (put them in struct gp_data). + 2- use better bounds for size of factors in nffactor() + 3- tuning for van Hoeij's factorizer (factor + nffactor) + 4- automatic concatenation for strings: use longest match for expression. + print("a"[1]) is not valid since "a" is not a vector + print("a", [1]) prints 'a[1]' +IZ 5- [gphelp:] allow uninstalled operation from $TOPDIR or $TOPDIR/Oarch +IZ 6- [gphelp:] better error messages in case TeX compilation fails + 7- [development version:] add version number for this file to the gp + header when using CVS +IZ 8- [library:] unified access to diffptr (NEXT_PRIME_VIADIFF macro) + 9- buchall: re-use the same random seed when doubling prec (for units) + 10- major cleanup in thue / thueinit + 11- major improvements in rnfkummer (use elements in factored form): + faster, give smaller elements + 12- improved quadray(D < 0) when relative degree is huge + 13- improved bnfisprincipal when class group large: use factorisation + (+idealred) instead of arch. components (require much less precision) + 14- allow arbitrary prime degree in rnfkummer + 15- [library:] allow trapping invmoder and recovering the offending INTMOD + 16- improved factor over Z[X] for _huge_ degrees (factorizations mod p) + 17- minor change in ordering for primedec output [use cmp_prime_over_p] + 18- [library:] moved (formerly) gp-specific write* and print* to libpari + 19- nffactor: call factornf when deg(pol) << deg(nf) + remove a priori + overlift for d-1/d-2 test [major overkill] + 20- input format to rnfisnorm() [use rnfisnorminit] + Added + BA 1- Add PARI_VERSION and PARI_VERSION_CODE to paricfg.h + BA 2- Add pari_release at top of dft.Config.in + 3- rnfpolredabs: flag to use partial factorization + 4- [gprc:] test against VERSION number in .gprc + 5- [gprc:] multiline constructs + IZ 6- mnemonics for flags + 7- internal flag nf_GEN_IF_PRINCIPAL to bnfisprincipal [isprincipalall] + 8- routine rnfisnorminit() + BA 9- [Makefile:] bzdist target + 10- [library:] CATCH / TRY mechanism [ encapsulate err_catch ] + + Removed + 1- (useless, undocumented) macros buchgen*, buchinit* + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Done for version 2.2.3 (released 10/06/2002): Fixed + 1- bnrinit(bnfinit(subst(polsubcyclo(89,8),x,-x)),4) --> SEGV [make sure + isprincipalfact is used in makecygen, even in case of precision problems] + 2- bnrisprincipal --> warning + "not an element in ..." [missing nf_FORCE] + 3- oo loop in isprincipalfact when increasing bnf precision + 4- stack corruption in ellap (LARGE p) + 5- zeta(s) destroyed the Bernoulli cache when using the functional equation + 6- oo loop in random_relation (called from bnfinit) + 7- fixed lower bound for p in nfsubfields (could get oo loop: pol never + squarefree mod p) + 8- [Vecsmall([1, 2])][1][2][1] --> SEGV + 9- typo in t_FRAC + t_PADIC [only numerator of t_FRAC used] + 10- factorback(t,nfinit(x)) --> SEGV +IZ 11- shift(x > 0,, flag!=0) didn't act as the docs said [flag now ignored] + 12- lindep(Vec(x^48)) --> oo loop + 13- could get NaN in max_modulus (polroots) --> havoc later + 14- missing normalizepol() in centermod(t_POL,) + 15- [Follow-up to 2.2.2-F10] even more recent pdftex failed again + 16- not enough GC when printing a huge t_PADIC + 17- factorpadic(x*(x+1),3,10) would corrupt polx --> SEGV later + 18- delayed carry treated improperly in red_montgomery + 19- F() = 0; local(x) ==> confusing error message +IZ 20- OS/2: make bench didn't work [env wouldn't start shell scripts] +BA 21- sqrtn(Mod(1,7),2,&z)-->z=1 should be -1 +HC 22- Standard transcental functions exp, sin, cos, ^, *, are now orders of + magnitude faster for t_POL arguments of small degree. +HC 23- fixed a severe bug in p-adic/integer addition (1+3^4+O(3^10))+3 + didn't work. +HC 24- Corrected p-adic initell. + 25- ellj / eta (t_SER) truncated result to seriesprecision + 26- possible overflow in u_FpM_gauss (from ZM_inv) + 27- various problems with C++ compilers + 28- polredabs could fail to reduce "obvious" input, e.g x^2 + n*x + n^2 + 29- gcd(x,y,1) didn't check its arguments + 30- typo in elltors: could forget a point of order 2 + 31- gdivgs(t_RFRAC,x) incorrect (if numerator had denominator) + 32- serreverse(O(x) or x + O(x^2)) --> SEGV + 33- dbltor(0) returned 2^-308, instead of 10^-308 + 34- precision problems in thue/thueinit + setrand(5);tnf=thueinit(x^3 + x^2 - 43690*x - 3529208) --> error in mplog + 35- typo in bnfnarrow ("impossible inverse") + 36- subst(x,x^0,x) --> floating point exception +ISo37- many typos in the documentation + 38- [DOS/Windows]: incorrect conversion between 'double' and t_REAL + 39- polrootspadic(4*x^2-1,2,2) --> impossible inverse: Mod(2, 16). + [specific to 2, and non-monic equations] + 40- discrepancy between bnfsunit output and docs [ bnfS[5][2] was t_MAT ] + 41- matdet: pivoting strategy incorrectly chosen ("incorrect type in gexpo") + 42- polcompositum output ordering depended on random seed + 43- plotrecthraw(0,[0]) --> SEGV + 44- plothraw([],[]) --> SEGV +IZ 45- ix86 inline assembler compilation problem [divll] +XR 46- forgotten case in Round4 [ nfdisc(x^12-10*x^11-57*x^10+740*x^9+353*x^8-16130*x^7+17749*x^6+100120*x^5-108466*x^4-292200*x^3+128380*x^2+380800*x+133112) +--> impossible inverse: Mod(2, ...) ] + 47- sin(1e-100) ---> 9.999999999999999999735998397 E-101 [ precision loss ] + 48- idealpow(nf,x, n < 0, 1) did not reduce the result + 49- gcd(0, -1) --> -1, content([0, Pi]) --> 3.14, content([0,Pi,Pi]) --> 1 +BA 50- compilation problem on OSF (RTLD_GLOBAL undefined) +BA 51- [X-Windows] hi-res plot: window not redrawn properly (BackingStore pb) + 52- problems with tex2mail output (wrong alignment, wrong colors) + 53- contfrac(sin(Pi/4),,2) --> impossible assignment + 54- infinite recursion in gaffect(t_POL, scalar) + 55- content([-1]) was -1 [ should be 1 ] + 56- stack corruption in u_FpV_polint (used by modular bivariate resultant) + 57- polroots() used too high a precision when checking errors a posteriori + (--> slow) + 58- contfrac(1/x) --> SEGV + 59- typo in sinh(0) --> wrong zero exponent + 60- exp(O(x^-1)) = O(x^(-1)) [ouch...] + 61- dilog(O(x^10)) = O(1) + 62- cosh(O(1)) --> division by 0 + 63- sqrt(4*x^2) --> not an integer exponent for non invertible series in gpow + 64- besselj(0,O(1)) [or besseli] --> precision<=0 in gprec. + 65- O(1)' --> O(x^-1) + 66- gcd(O(2^1), O(2^10)) --> O(2^10) + 67- polrootspadic(x^2+8*x+4,2,2) --> "impossible assignment" + 68- one could write() an object to a binary file, corrupting it +MW 69- ellap(ellinit([0,0,1,-7077,235516]), 1075060289) --> "zero argument in + an arithmetic function" +MW 70- ellap(ellinit([0,0,1,-7077,235516]),1135392007) --> SEGV +BA 71- user's manual index truncated if LANG=fr_FR + 72- lex(string1, string2) could return something not in {-1,0,1} + 73- bnfisprincipal(bnf,x, 0) was not instantaneous when bnf.no = 1 + 74- no GC in poleval + 75- make clean did not remove libpari-2.2.* + + Changed +BA 1- improved Fp_isom +IZ 2- remove all dependance on __OPTIMIZE__ for inlining [cf 2.0.14 F-24] + 3- implementation of psi() [very slow + wrong results at low accuracy] + 4- cleaned up forvec() [no more global variables] + 5- improvements in bnrstark (precompute common data) +BA 6- improved ffinit() + 7- rewrote time-critical parts of bnrstark + 8- all 'input filter' code removed from GP. es.c:filtre() now handles the + full filtering [and has become reentrant] + 9- isprime() now guarantees primality +BA 10- improved polsubcyclo() +BA 11- new interface for galoissubcyclo +HC 12- gamma function for integral/rational arguments + 13- faster factornf / nfgcd + 14- removed readline-specific code from gp.c + 15- allow bnrstark over Q + 16- 'subgroup' argument made optional in bnrL1, bnrstark, rnfkummer + 17- use relative van Hoeij algorithm in nffactor [can handle huge number + of modular factors] + 18- rewrote factorff() to use new modular functions + 19- rewrote primedec() to use new modular functions + 20- rewrote most *modpr functions + 21- modified diagnostics for integral LLL to match floating point version + 22- INCOMPATIBILITY: polgalois(); changed 3rd component of result so that + it gives the numbering among all transitive subgroups of S_n [ was ad + hoc up to 7, then as described above for n >= 8 ] + 23- INCOMPATIBILITY: nf.zk is now T2-LLL-reduced + 24- idealtwoelt was very slow when a small prime with many divisors + divided the index (use approximation theorem) + 25- content(scalar) = abs(scalar) [when it makes sense] + 26- changed the interface to ispseudoprime and isprime + 27- [internal] element_muli: check input is consistent + 28- rewrote all LLL algorithms (use Householder, not Gram-Schmidt; do not + use Gram matrix; unified code). + 29- INCOMPATIBILITY: the internal components of nf[5] have changed (MC and + T2 not needed anymore) + 30- INCOMPATIBILITY: [library] polred & polredabs do not take a 'prec' + argument anymore + 31- unified nfinit, polred* [use dedicated structs internally] + 32- rnfconductor(..., 1) doesn't need GRH anymore + 33- extracted FpXQ_gener from idealstar + 34- allow more types in gdivround + 35- improved root_bound (first step in factor() over Z[X]) for huge pols. + 36- faster bernfrac / bernvec + 37- INCOMPATIBILITY: removed gentimer() / genmsgtimer(). Use TIMER/msgTIMER + 38- let nfsubfields call galoissubfields (much faster when field is Galois) + 39- Configure (locatelib): don't look for lib*.so.x [ pb on Linux with + [readline | ncurses]-devel.rpm. + + Added + 1- mplog2() function --> faster mplog() + 2- gcd for Gaussian integers +HC 3- APRCL primality test + 4- (strong) Lucas primality test + Baillie-Pomerance-Selfridge-Wagstaff test +BA 5- Facilities for permutation groups (perm.c). +BA 6- New functions galoissubgroups, galoisubfields. +HC 7- Implemented all Bessel functions J, I, N, K, H1, H2, and Bessel functions + for power series and polynomials. +HC 8- Implemented PSLQ [preliminary] +GTo 9- Implemented Cipolla's algorithm for sqrt(Mod(x, p)) + 10- library functions FpM_ker, FpM_deplin, diviiround, centermodii + 11- library function gerepileall + 12- library functions corepartial, core2partial + 13- library functions affui, itou, stor, itor + 14- library function lllint_ip (in place) + 15- library functions Q_primitive_part, Q_primpart, Q_remove_denom, Q_denom + 16- allow polredabs to use a partial factorisation of disc(nf) [as polred, + but inconsistent values for flag. Backward compatibility problem here...] + 17- routine ellminimalmodel() +IZ 18- systems/ directory (currently for OS/2 only) +IZ 19- [OS/2:] install() for OS/2 system (using builtin dlopen) +IZ 20- gnuplot and X11 are now simultaneously supported + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Done for version 2.2.2 (released 10/01/2002): + Fixed + 1- qfbred(Qfb(4, 17, 18)) --> SIGFPE + 2- broken compilation in arith.c when CC != gcc + 3- nfhilbert (local case pr | 2) expected POLMOD argument without check + 4- poldegree(P, t) slow when t != varn(P), and may not work in library mode + 5- polrootspadic only worked when leading coeff was a unit + 6- paddicappr was very slow (esp. when p was large) + 7- Configure: check for 'double endianness' [used for double --> t_REAL + conversion]. Previous check was failing on ARM architecture. + 8- forsubgroup state not properly restored after ^C + 9- libpari.so included symbols from libc without linking it explicitly + (Debian requirement, and cleaner anyway) + 10- recent pdftex failed to compile users.tex (\pdfannotlink undefined) + 11- !nf.sign[1] was parsed as (!nf.sign)[1] + 12- matrix(0,1) --> "identical index variables in matrix" [from 2.2.1 F48] + 13- bnfinit could miss some relations in the "small norm" phase + 14- x % y incorrect when y < 0 inexact (2 % -3. --> -1.) + 15- typo in gcdreal (result < 0) [introduced in 2.2.1] + 16- some obscure problems in rnfkummer + 17- not enough GC in hnflll + 18- sqrt(25 + O(2^5))^2 - 25 = O(2^4) + 19- not enough GC when writing a t_PADIC + 20- user member functions were very slow (unnecessary copy) + 21- cd Oxxx; make -j4 bench ran things in the wrong order + 22- poltchebi, pollegendre gave bogus output for negative degrees + 23- possible SEGV or oo loop in polrootsmod when p not a prime + 24- nfnewprec(bnf) could change bnf.gen (due to round-off errors) + 25- SEGV in gcd(x,y) when operands have coeffs of the form Mod(t_INT,t_POL) + 26- not enough GC in poldivres (= t_POL % t_POL) + 27- issquare(Mod(3,27)) = 1 [from 2.2.1 C 10] + 28- [BUG] message in 'elliptic' bench [made polroots more canonical] + + Changed + 1- allow compressing *.dvi files for the online help system + 2- index bound was restricted to MAXLONG in subgrouplist. Made it a GEN + 3- try to guess correct precision earlier in polgalois/polroots + 4- allow GP pointers to 'matrix components', e.g issquare(25,&x[i][j]) + 5- changed assignment semantics to make it closer to C: x = y understood as + (evaluate Y:=y, then set x:=Y), e.g i=0; i += (i=2) sets i to 4 (was 2) + 6- output VECSMALLs as 'Vecsmall([...])' + 7- more efficient polcoeff [also: made it independent of MAXVARN] + 8- retuned bnfinit (let subfactorbase increase further): + setrand(1);bnfinit(x^4 + 1159*x^2 + 335241) would never finish. + 9- specified precisely lex() [see manual]. Now: + lex([0,0],[0]) = 1 (was -1), lex(0,[0]) = -1 (was 0) + 10- allow factorback(x, e) for prod x[i]^e[i] + 11- don't store empty lines in history [cf 2.2.1 F57] + 12- extend x \ y, x \/ y and divrem(x,y) +XR 13- improvements in bnrstark (try harder to find modulus, need less memory) + 14- global(x): ignore if x already global (used to raise a warning) +BA 15- install: add RTLD_GLOBAL to dlopen flags [so that symbols can be used + in other .so] + 16- removed hack in gp_init.c [used "constant default args" to call print0] + + Added +BA 1- New function 'vectorsmall'. + 2- allow setting variable in divrem + 3- GP operator #l for length(l) + 4- a warning in zsign ("increase precision?") when dubious result + 5- Montgomery reduction (only used in powmodulo() for now) + 6- [experimental] basic tuning utilities (src/test/tune.c) [make tune] + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Done for version 2.2.1 (released 18/10/2001): + + Fixed 1- typo in factornf (factor of degree 3 --> error message) 2- rnflllgram(), idealinv() didn't check their arguments 3- [readline] \r would complete using files matching r* @@ -68,7 +426,7 @@ BA 23- fix accuracy problems in vandermondeinverse IZ 30- typo in Configure [rl_save_prompt and _eprintf not found in target libs] MD 31- oo loop in ellap [uninitialized array length in apell1] 32- stack corruption in addfrac [wrong result for large denominators] - 33- resmod2n [called from powmodulo] could return unnormalized integers +MD 33- resmod2n [called from powmodulo] could return unnormalized integers 34- not enough GC in nfinit for huge degrees [get_mul_table] 35- intformal(1/2/t^2) --> apparent oo loop 36- polredabs(degree 1 polynomial) --> x [could be very slow] @@ -87,13 +445,26 @@ XR 47- factorpadic(, not a prime, ) --> SEGV BA 49- better arguments checking for galoisfixedfield 50- psi(I) --> incorrect type in rtodbl XR 51- increase precision automatically when needed in quadhilbertreal + 52- idealstar(bnfinit(polcyclo(5)),11).clgp --> stack error + 53- default(format,"g0.4"); 3./10 --> 0.300004577 [now: 0.3000] + 54- subst() didn't check its arguments (e.g SEGV on t_STR) + 55- qfbclassno(x < 0): wrong algo when x non fundamental + 56- obscure bugs with types FRACN/RFRACN [when simplifies to INT/POL] +IZ 57- readline history: while inputing continuation lines, the partial + command was not put into history until full command was run + 58- not enough GC in polroots (dft) for huge degrees + 59- Cygwin: don't try to build gp-dyn.exe [crashes] + 60- use vsnprintf to fix a long-standing bug in PARI output (using formats) + used a fixed-length buffer that could overflow. If vsnprintf is not + found by Configure, the bug remains. Changed 1- removed useless parameter prec in many bnr* and rnf* functions 2- major update of bnr* functions [use elements in factored form] 3- use /tmp instead of /var/tmp as default tmp directory [faster on Solaris] BA 4- Fp_PHlog (Pohlig-Hellman) can use a factorization of the subgroup order - 5- major update of buchall() [bnfinit]: accurate precision increase, cleanup + 5- major update of buchall() [bnfinit]: accurate precision increase, use + multiplicative archimedean components (fewer logs), cleanup 6- [libpari:] rename permute/permuteInv to GP names numtoperm/permtonum 7- scalar + [;] --> error [made it [;]] BA 8- factorback, chinese, lcm and gcd now accept a single vector @@ -104,7 +475,7 @@ BA 8- factorback, chinese, lcm and gcd now accept a s 13- rnfequation: use modular (bivariate) resultant 14- polynomial gcd (srgcd): uses modular algo (modulargcd,nfgcd) if possible 15- unified internal hnf* functions - 16- improved nfsubfields [better Hensel lift] + 16- improved nfsubfields [Hensel lift, allow nfsubfields(pol) instead of nf] 17- merged all "integer logarithms" + "safe ceil" functions (mylogint, get_e, floor_bound, myceil) 18- readline: TAB on empty parentheses following a function name has the @@ -114,12 +485,16 @@ IS 20- obscure compiler bug in rootpol.c:max_modulus() 21- make bench ('elliptic'): explained [BUG] message 22- allow lift(t_PADIC) 23- faster polroots for Q of the form P(x^k) - 24- allow nfsubfields(pol,) [had to be nf] - 25- allow subst(t, x^n, x) - 26- ?user_fun: do not include function text if help available from addhelp + 24- allow subst(t, x^n, x) + 25- ?user_fun: do not include function text if help available from addhelp [always include it for ??user_fun] - 27- default values for used defined function arguments are evaluated when + 26- default values for used defined function arguments are evaluated when the function is called [used to be "when it's defined"] + 27- allow subgrouplist(znstar(5)) [didn't accept groups in general form] + 28- taught GP about GP2C-style type declaration [ignored] + 29- 0. [realzero()] is now coded on 2 words (was 3, with third one ignored) +IZ 30- readline history: lines are remembered as they were input (whitespace + was deleted) Added BA 1- function pith() [= pi(x), naïve implementation] @@ -133,6 +508,13 @@ IZ 8- readline: F1 has same effect as M-h, and F1F1 a 9- function writebin XR 10- new error message "precer" (precision too low in...) 11- allow minimal handling of t_VECSMALL under GP +IZ 12- add error messages (as in err(shier2)) to emacs tag file + 13- add error messages (as in err(shier2)) to vi tag file +IZ 14- add flag to shift() to enable consistency with 2-complement semantic +IZ 15- default 'prompt_cont' for continuation lines +IZ 16- default 'readline' to switch readline on/off in readline-able binaries +IZ 17- capabilities to 'bittest' (return bitmap, 2-complement arithmetic) +GH 18- inline assembler micro-kernel for alpha + recent gcc (at least 2.95.3) Removed 1- obsolete functions twototwo, threetotwo, threetotwo2 @@ -1628,7 +2010,7 @@ HC 4- functions where it makes sense now admit an opt 6- remove {} and \ from readline history 7- improve treatment of sample programs in gphelp -d 8- uniformized debugmem messages - 9- simplify the coinit function (Michael Somos) +MSo 9- simplify the coinit function 10- changing the function set through default(compatible,) no longer resets installed functions 11- renamed nfker-->nfkermodpr, nfgauss-->nfsolvemodpr