version 1.1, 2001/10/02 11:16:55 |
version 1.2, 2002/09/11 07:26:37 |
|
|
GH = Guillaume Hanrot |
GH = Guillaume Hanrot |
GN = Gerhard Niklasch |
GN = Gerhard Niklasch |
GT = Glenn Thobe |
GT = Glenn Thobe |
|
GTo= Gonzalo Tornaria |
HC = Henri Cohen |
HC = Henri Cohen |
IS = Igor Schein |
IS = Igor Schein |
IK = Iwao Kimura |
IK = Iwao Kimura |
|
ISo= Ignat Soroko |
IZ = Ilya Zakharevich |
IZ = Ilya Zakharevich |
KO = Kiyoshi Ohgishi |
KO = Kiyoshi Ohgishi |
LG = Louis Granboulan |
LG = Louis Granboulan |
MD = Mark Dickinson |
MD = Mark Dickinson |
MS = Michael Stoll |
MS = Michael Stoll |
|
MSo= Michael Somos |
|
MW = Mark Watkins |
OR = Olivier Ramare |
OR = Olivier Ramare |
OV = Oliver Voigt |
OV = Oliver Voigt |
PM = Peter Montgomery |
PM = Peter Montgomery |
Line 29 TP = Thomas Papanikolaou |
|
Line 33 TP = Thomas Papanikolaou |
|
XR = Xavier Roblot |
XR = Xavier Roblot |
YU = Yoshiaki Uchikawa |
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 |
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) |
1- typo in factornf (factor of degree 3 --> error message) |
2- rnflllgram(), idealinv() didn't check their arguments |
2- rnflllgram(), idealinv() didn't check their arguments |
3- [readline] \r<TAB> would complete using files matching r* |
3- [readline] \r<TAB> would complete using files matching r* |
Line 68 BA 23- fix accuracy problems in vandermondeinverse |
|
Line 426 BA 23- fix accuracy problems in vandermondeinverse |
|
IZ 30- typo in Configure [rl_save_prompt and _eprintf not found in target libs] |
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] |
MD 31- oo loop in ellap [uninitialized array length in apell1] |
32- stack corruption in addfrac [wrong result for large denominators] |
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] |
34- not enough GC in nfinit for huge degrees [get_mul_table] |
35- intformal(1/2/t^2) --> apparent oo loop |
35- intformal(1/2/t^2) --> apparent oo loop |
36- polredabs(degree 1 polynomial) --> x [could be very slow] |
36- polredabs(degree 1 polynomial) --> x [could be very slow] |
Line 87 XR 47- factorpadic(, not a prime, ) --> SEGV |
|
Line 445 XR 47- factorpadic(, not a prime, ) --> SEGV |
|
BA 49- better arguments checking for galoisfixedfield |
BA 49- better arguments checking for galoisfixedfield |
50- psi(I) --> incorrect type in rtodbl |
50- psi(I) --> incorrect type in rtodbl |
XR 51- increase precision automatically when needed in quadhilbertreal |
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 |
Changed |
1- removed useless parameter prec in many bnr* and rnf* functions |
1- removed useless parameter prec in many bnr* and rnf* functions |
2- major update of bnr* functions [use elements in factored form] |
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] |
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 |
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 |
6- [libpari:] rename permute/permuteInv to GP names numtoperm/permtonum |
7- scalar + [;] --> error [made it [;]] |
7- scalar + [;] --> error [made it [;]] |
BA 8- factorback, chinese, lcm and gcd now accept a single vector |
BA 8- factorback, chinese, lcm and gcd now accept a single vector |
Line 104 BA 8- factorback, chinese, lcm and gcd now accept a s |
|
Line 475 BA 8- factorback, chinese, lcm and gcd now accept a s |
|
13- rnfequation: use modular (bivariate) resultant |
13- rnfequation: use modular (bivariate) resultant |
14- polynomial gcd (srgcd): uses modular algo (modulargcd,nfgcd) if possible |
14- polynomial gcd (srgcd): uses modular algo (modulargcd,nfgcd) if possible |
15- unified internal hnf* functions |
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, |
17- merged all "integer logarithms" + "safe ceil" functions (mylogint, |
get_e, floor_bound, myceil) |
get_e, floor_bound, myceil) |
18- readline: TAB on empty parentheses following a function name has the |
18- readline: TAB on empty parentheses following a function name has the |
Line 114 IS 20- obscure compiler bug in rootpol.c:max_modulus() |
|
Line 485 IS 20- obscure compiler bug in rootpol.c:max_modulus() |
|
21- make bench ('elliptic'): explained [BUG] message |
21- make bench ('elliptic'): explained [BUG] message |
22- allow lift(t_PADIC) |
22- allow lift(t_PADIC) |
23- faster polroots for Q of the form P(x^k) |
23- faster polroots for Q of the form P(x^k) |
24- allow nfsubfields(pol,) [had to be nf] |
24- allow subst(t, x^n, x) |
25- allow subst(t, x^n, x) |
25- ?user_fun: do not include function text if help available from addhelp |
26- ?user_fun: do not include function text if help available from addhelp |
|
[always include it for ??user_fun] |
[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"] |
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 |
Added |
BA 1- function pith() [= pi(x), naïve implementation] |
BA 1- function pith() [= pi(x), naïve implementation] |
Line 133 IZ 8- readline: F1 has same effect as M-h, and F1F1 a |
|
Line 508 IZ 8- readline: F1 has same effect as M-h, and F1F1 a |
|
9- function writebin |
9- function writebin |
XR 10- new error message "precer" (precision too low in...) |
XR 10- new error message "precer" (precision too low in...) |
11- allow minimal handling of t_VECSMALL under GP |
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 |
Removed |
1- obsolete functions twototwo, threetotwo, threetotwo2 |
1- obsolete functions twototwo, threetotwo, threetotwo2 |
Line 1628 HC 4- functions where it makes sense now admit an opt |
|
Line 2010 HC 4- functions where it makes sense now admit an opt |
|
6- remove {} and \ from readline history |
6- remove {} and \ from readline history |
7- improve treatment of sample programs in gphelp -d |
7- improve treatment of sample programs in gphelp -d |
8- uniformized debugmem messages |
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 |
10- changing the function set through default(compatible,) no longer |
resets installed functions |
resets installed functions |
11- renamed nfker-->nfkermodpr, nfgauss-->nfsolvemodpr |
11- renamed nfker-->nfkermodpr, nfgauss-->nfsolvemodpr |