# $Id$
Bug numbers refer to the BTS at http://pari.math.u-bordeaux.fr/Bugs/
Done for version 2.9.4 (released 08/01/2018):
[last column crossreferences current development release 2.10.0]
Fixed
1- [from 2.9.3] subst(Mod(-a,a^2-2),z,0) -> invalid object [#1988]
2- subst(1+x^2+O(x^3),x,y) -> 1 + y^2 + O(y^4) [#1950] [F87]
XR 3- padicfields(3,6) -> FPE [#1947] [F89]
4- nfislocalpower could compute ZV_pval(0 vector,) -> oo loop[#1955][F90]
BA 5- iferr(1/0,E,1,break()) -> SEGV [F91]
6- missing roots in nfroots (when r2>0) [#1956,#1957] [F92]
BA 7- factormod(...,p,1) was incorrect for large p [F93]
BA 8- foo = vectorsmall(1);for(i=1,1, foo[1]); -> error [#1958] [F94]
BA 9- v=Vecsmall([2]); Fl_neg(v[1],3) when Fl_neg is installed [#1958] [F95]
10- qfminim with 'm' omitted (infinite capacity) could lose some vectors
Also affected polredabs [#1963] [F95]
11- inaccuracy in ellL1 / ellanalyticrank (usually last digit) [F97]
12- nffactor factors could be non-monic [#1967] [F99]
13- bestapprPade(,explicit B): wrong result [#1946] [F100]
14- bestappr(Mod(10,307), 40) -> 10 (instead of 3/31) [F101]
15- mathnf([x;1]) -> SEGV [#1971] [F102]
BA 16- ispower((x^3+ffgen([2^127-1,3])*x+1)^2,2,&r);r was wrong [#1976][F103]
17- SEGV in install() when bad prototype supplied [#1977] [F106]
18- ellzeta(., real number) possibly wrong result [#1981] [F107]
BA 19- sqrtn(Mod(9, 101), -2) -> wrong result [F108]
20- multiplying t_SER with t_INTMOD entries (mod a composite) whose
leading term cancels -> SEGV [#1986] [F109]
21- lambertw(t_SER) could create invalid t_FRACs [F110]
22- matintersect did not always return a basis [F111]
23- nfinit([T, listP]) could error out when a small prime
outside listP divided the index [#1993] [F112]
24- memory leak due to cgetg_block / gunclone_deep usage [F116]
25- memory leak in ellminimalmodel when e memoized periods/roots [F117]
BA 26- [win32] plot colors were shifted by 1 [F118]
27- RgX_translate(P,c) with c equal to \pm 1 (e.g. as t_REAL or t_PADIC)
incorrectly replaced c by its t_INT approximation [#1995] [F119]
BA 28- matsupplement(Mod(matrix(5,1),2)) --> SEGV [#1996] [F120]
29- PostScript engine: missing 'stroke' in plotbox method => some
commands (e.g. colors) could be ignored [F121]
Done for version 2.9.3 (released 13/7/2017):
[last column crossreferences current development release 2.10.0]
Fixed
1- K=bnfinit(x^2+2323); P=idealprimedec(K,23)[1]; [F50]
bnfisprincipal(K,P); \\ oo loop
BA 2- Mat()[1..0,1..0] -> SEGV [F59]
PB 3- galoissubcyclo(1,1,fl) ignored fl [#1914] [F60]
EB 4- GP was incorrectly issuing fflush(NULL) [#1913] [F62]
5- issquare(Mod(1,67)*x^4+Mod(14,67)*x^2+Mod(49,67)) -> SEGV [#1915][F63]
6- polroots(t_POL whose coeffs vary by a factor > 2^100000) -> SEGV [F64]
7- nfisincl(nf1, nf2) didn't work [#1921] [F65]
8- setting sopath in gprc then calling install() -> SEGV [#1922] [F66]
9- nfislocalpower did not accept a bnf in place of a nf [F67]
10- subst(t_SER, x, 0 t_POL) [#1925], e.g [F68]
subst(x+O(x^2),x,0*x) -> 1 + O(x) [ instead of 0 ]
subst(x+O(x^2),x,Mod(0,3)*x) -> O(x^0) [ instead of Mod(0,3) ]
11- valuation(Mod(0,3)*x,x) -> 0 [ instead of oo ] [F69]
12- factor(x^2 * (1+O(5^2))) -> domain error [F70]
13- Vecsmall(t_STR with extended (8-bit) ASCII) -> platform dependent
+ can't be converted back with Strchr [F72]
BA 14- [pthread] do not use pthread when nbthreads=1 [F74]
15- sumdiv(arg. in factored form, k < 0) => error or wrong result [F75]
16- Mod(0,1)^0 -> invalid t_INTMOD [F76]
17- gamma and lngamma inaccurate near negative integers [F77]
BA 18- nfisisom, nfisincl and factor were still using factornf [F78]
PB 19- nfinit(t_POL of deg 1, 3) => incorrect change of variable [F79]
20- subst(t_SER, x, x+O(x^N)) was slow [ e.g. ellj(x+O(x^10000)) ] [F80]
BA 21- setrand(2);polclass(-5032,27) -> wrong result [F81]
22- polredabs(non-monic t_POL, 1) => potentially wrong map [F82]
23- if 'a < 'b < 'c, charpoly(Mod(a, a^2 + Mod(b,b^2+1)), c) => 1 [F83]
24- mathouseholder: missing sanity check (SEGV, didn't accept t_COL)[F84]
25- bestapprPade did not handle positive valuation correctly [#1945][F85]
PB 26- subst(Mod(1/z, y), z, x) -> wrong answer [#1949] [F86]
Done for version 2.9.2 (released 5/4/2017):
[last column crossreferences current development release 2.10.0]
Fixed
1- ZG_normalize destroyed its input [F11]
2- [install] prototype code D0,U, did not work [F12]
BA 3- use of complex default function argument could lead to error [F13]
4- factorpadic(2*x^4+x^2,2,2) -> division by 0 [#1876] [F14]
5- incgam(110, I) very inaccurate [F15]
BA 6- ellinit over number field was not compatible with generic ops. [F16]
BA 7- [breakloop] dbg_up could confuse the breakloop [F17]
HC 8- sumnummonieninit(,,a);sumnummonien(n = a, ...) with a > 1 wrong [F18]
9- sumnummonieninit([a,b], t_CLOSURE) => incorrect initialization [F19]
10- lngamma(1+epsilon) much slower than in 2.7; eg. 10^-4 at \p200 [F20]
BA 11- lfun(...,t_SER,n>=1) returned a wrong result [F21]
12- lfun(,, negative derivation order) => internal bug [F22]
BA 13- ellidentify: check curve is over Q [F24]
14- gdivgs(t_RFRAC,s) could create invalid objects [F25]
15- chareval(G,chi,x,[[...], o]) didn't work (off-by-1) [F26]
16- polsturm(x^2-1,[-1,1]) -> SEGV [#1884] [F27]
17- typo in description of "call" symbolic operator [ _(_) ] [F28]
PB 18- matinverseimage could find spurious solutions [#1888] [F29]
19- ellsea could leak variables (=> "no more variables" error) [F30]
20- ellsea leaked clones [F31]
21- 1/x - 1/x returned gen_0 (instead of Pol(0)) [F32]
22- printf("%d",factor(2*3*5*7)) => SEGV [F33]
23- bnrinit(bnf,idealfactor(bnf,1)) -> SEGV [#1890] [F35]
BA 24- lfuncreate([1,0,[0],1,1,1,1]) -> SEGV (invalid input) [F36]
25- thue(imaginary quadratic of disc -3f^2, n) could return half-int [F37]
BA 26- [libpari] Z_ZV_mod caused gerepile error [F38]
27- bestappr(1+0.*I) -> 1 + 0*I instead of 1 [F39]
28- memory corruption in qfminim [#1894] [F40]
29- polylog(x) used realprecision accuracy instead of precision(x) [F41]
30- exp or log(I*1.0) used realprecision instead of precision(x) [F42]
PB 31- M = ffgen(2017^3)*[0, 1; 0, 0]; M^-1 -> SEGV [#1887] [F43]
BA 32- lfun(lfungenus2(...),...) was much slower than intended [F44]
BA 33- nfsubfields(polcyclo(88), 20) -> wrong result [#1892] [F45]
BA 34- [mpi] dynamically linking with libpari did not work [F46]
35- sin(1 + 1.0*I) used realprecision accuracy instead of [F47]
precision(x); same for cos, tan, arg, expm1, sinc.
HIL 36- polclass could access invalid memory [F49]
37- nfvalrem() overflowed in case of negative valuation [F51]
38- ellminimalmodel over number field could divide by zero [#1899] [F52]
39- incorrect GC in nfgcd [#1903] [F53]
40- missing GC in rnfisabelian [F54]
41- missing GC in vectorsmall [F56]
BA 42- missing GC in idealramgroups [F57]
BA 43- ellweilpairing failed for supersingular curves in char 2 [#1910] [F58]
Done for version 2.9.1 (released 1/12/2016):
[last column crossreferences current development release 2.10.0]
Fixed
1- subst(1+x^3+O(x^6),x,x+O(x^4)) -> SEGV [#1865] [F1]
BA 2- lfunartin was using too much stack [F2]
BA 3- fflog in char 3 or 5 was slower than intended [F3]
4- RgX_blocks only worked for t_INT or t_POL coeffs [F4]
5- spurious bnrdlisclist entries (with negative number of real
places...) when modulus not a conductor [F5]
BA 6- modular algorithms could fail for very large input [F6]
BA 7- [mingw] writebin did not work [F7]
BA 8- forprime(N=2^100,oo,...) did not work [F8]