|
Listed in the TODO and the version in pkgsrc
was 7 years old.
Fix pkglint complaints.
The changes below are only for 2.13 to 2.15.
The commit message would be to big if all
changes were included.
Changes from changelog:
Bug numbers refer to the BTS at http://pari.math.u-bordeaux.fr/Bugs/
Done for version 2.15.0 (released 19/09/2022):
Fixed
1- slowdown in zeta (e.g. zeta(Pi) at \p500)
2- GC error in idealinv [#2258]
3- qfminim inefficiency (initial bound from non-LLL-reduced matrix) 4- mfshimura in weight 3/2 => oo loop
5- zetahurwitz(s, huge x) => overflow or very slow
6- matsolve([1,1,1/2; 1,0,1/2; 2,1,0], [-1;1;-1]) -> SEGV [#2261]
7- qfminim(Mat(1),,,2) -> precision error [#2262]
8- subst(p, v, t_SER) very slow if p contains many variables [#2264]
9- mfsymboleval for trivial path returned 0 instead of a vector of 0s
when f has multiple embeddings [#2260]
10- 2^(1 + O(3^4)) -> type error
11- Zn_quad_roots(8,0,-1) to compute roots of x^2-1 mod 8 -> [4,[1,3]]
(1 or 3 mod 4) instead of the expected [2,[1]] (1 mod 2) [#2265]
12- tan(1+10^20*I) -> overflow (same for cotan and psi)
BA 13- Mod(2,3)^1000000000000000000001 -> Mod(-1,3) [#2266]
14- subst(O(y) + x, x, (1 - y + O(y^2))*x + O(x^2)) -> SEGV [#2267]
15- (Mod(0,3) + x) + O(x^2) -> x + O(x^2) [now Mod(1,3)*x + O(x^2)]
16- precision too low for units in mfgaloisprojrep
17- missing GC at the end of RgXn_inv
18- (-1)^(1/3) -> -1 instead of exp(log(-1)/3)
19- mfeisenstein(k, trivial characters mod N > 1) not handled correctly
BA 20- missing GC in qfsolve
21- missing GC in nfeltval + better algorithm when valuation is huge
22- rnfidealup(, non-integral ideal) -> division by 0
23- memory leak in ellheight
24- memory leak in bnfinit
25- zeta(-2 + O(x)) => division by 0
26- nfeltdiv(nfinit(x^2+1), 0, 1+x/2) -> SEGV [#2277]
27- numerical instability in polinterpolate [#2278]
28- znchargauss(g,chi,0) -> oo loop
29- bnflog(bnr, ...) -> SEGV
30- elliptic functions: incorrect reduction of z/w1 mod [1,tau] =>
catastrophic cancellation
31- powcx(x, t_COMPLEX with 0 imaginary part) -> crash
32- nfsubfields(t_POL in other var than x,,1) -> SEGV
33- extra terms in power t_SER substitutions [#2281]
f=1+4*t^2+36*t^4+O(t^6); g=q-4*q^3+14*q^5+O(q^7); subst(f,t,g)
-> spurious extra term -400*q^6
34- k=bnfinit(quadpoly(-2923,a)); bnrclassfield(k,3) -> SEGV [#2280]
BA 35- rnfdisc mishandled polynomials with denominators [#2284]
BA 36- elltamagawa(ellinit([-1456/243,93184/19683])) -> wrong result
37- mfsearch would sometimes miss the trivial form
38- typo in allh [affects ECPP tunings]
HC 39- mfisetaquo(mffrometaquo([1,12;193,12])) -> 0
40- polroots(1.E-47*t^6 + 1.E-47*t^5 + 4.E-46*t^4) -> bug in type [#2286]
41- ceil(quadgen(5)) -> 1 instead of 0 [#2288]
42- floor(Mod(0,3)*quadgen(5)) -> crash
43- padicappr(x^2+1, 1/3+O(3)) -> missing valuation and type checks
44- padicappr(x^2+25,5+O(5^2)) -> [O(5),O(5)] instead of
[2*5+O(5^2),3*5+O(5^2)]
45- wrong ispower(t_RFRAC) and issquare(t_RFRAC, &z) [#2289]
46- slow series substitution if valuation huge
f=t^50000+O(t^50001); g=q*Ser(vector(50000,i,1),q); h=subst(f,t,g)
47- 1+O(x)==O(x)
48- cmp() would use possibly uninitialized bits in t_POL codewords
BA 49- qfauto([[1,0;0,1],[0,0;1,0]]) -> SEGV
50- bnfsunit(...)[4] (the S-regulator) did not correspond to its
definition in the documentation [ was using log(p) instead of
log(Norm P)) for P in S above p ]
BA 51- rnfdisc could return corrupted result
52- quadtofp suffered from catastrophic cancellation [#2298]
z=66992092050551637663438906713182313772
-47370562574818466708936539960450008968*quadgen(8); z*1. -> 0.75
BA 53- concat(List([1])[1..0]) ->SEGV (instead of error) [#2299]
BA 54- List([1])[1..0]==List() -> 0 instead of 1
55- ZX_squff(T) did not follow its specification if T(0) = 0
56- (-1)^(-1/2) -> I instead of -I
57- lfuntheta inaccurate in large weight [#2305]
58- GC error in ZX_Uspensky(, flag = 0)
BA 59- ellisomat(ell/nf not integral) -> oo-loop or wrong result
BA 60- (f(~v)=v[1]=1);(g(v) = f(~v)); my(V=[0]);g(V);V -> [1] instead of [0]
due to missing copy on write [#2304]
61- hypergeom([1/12,1/12],2/3,3) -> wrong result (incorrect
limiting case of transformation formula)
62- overflow in mulu_interval(,ULONG_MAX) [#2309]
63- ellE(1) -> domain error [#2312]
64- log1p(-1 + 10^-10) -> oo time
65- bernvec entries were wrong from B_{2*4064} on [#2311]
66- plotrecthraw for multi-curves
67- RgXn_powu(,,1) wrong result [#2314]
68- erfc incorrect on negative imaginary axis [#2315]
69- mfgalpoistype bug for dihedral types (when conductor at oo is not
stable under Galois) [#2293]
BA 70- [32bit] forfactored(n=223092868, 223092871, ) -> SEGV [#2318]
71- Fp_issquare(0, p) would return 0
72- For z=x+wy a t_QUAD, z.pol returned the modulus z.mod instead of the
t_POL x+'w*y
73- allow eulerianpol(0) (= 1)
74- allow polylog(0,x) (was broken when eulerianpol was introduced)
BA 75- concat(t_LIST,t_LIST) was leaking memory
76- missing type checks in ellchangepoint (SEGV)
77- polsturm(-5500*x^4+440*x^3+21780*x^2-9680*x-29040,[-oo,-4])->corruption
78- ellheight(E,,Q) -> SEGV
79- besselj(80,66) -> oo loop
80- lfun(1, 0.0) "normalizing a series with a 0 leading term" [#2329]
81- (0. + O(x) == 1) returned 'true'
82- lfun(1, 0., 1) -> division by 0
83- fix lfuncost when root number is unknown (more a_n are needed)
84- idealismaximal(nfinit(x),Mat(2)) -> 0 [#2333]
85- O(29^(-1)) == 1 was FALSE (same for -1)
86- Mod(0, 2*x^0) == 1 was FALSE (same for -1)
BA 87- [X11] resizing a window could keep traces of previous drawing
BA 88- x->x+0x1 was not displayed correctly
89- bnfinit(Q) was not using current precision [#2335]
90- lfuncreate(x^2 + 1/2) -> internal error. Allow rational coefficients.
91- polresultant(t_POL with t_RFRAC coefs,...) -> internal errors
92- znchardecompose(znstar(2,1),[],2) -> SEGV [#2339]
93- genus2red(150*x^6+180*x^5-270*x^4+2040*x^3-1350*x^2+3060*x+270)
-> internal bug [#2331]
94- missing roots in nfroots(t_POL,) [#2345]
95- factorpadic: ensure leading coefs are powers of p [#2352]
96- nfsnf: wrong results [#2353]
XR 97- rare SEGV in nfdisc. [#2356]
BA 98- factor((Mod(1,2)*((t^2+1)*x^4+(t^4+1)*x^2+1))) -> division by 0
99- internal type errors in mfsymboleval [#2360]
100- incorrect chargalois for trivial group [#2341]
101- minpoly(Mod(1/(x-(t+1))*Mod(1,2),(t+1)*x^2+t*x+1)) -> error [#2363]
BA 102- factor(Mod(1,2)*x^5+a*x^3) -> div by 0
AP 103- nfgrunwaldwang: fix infinite loop [#2343]
104- ti=thueinit(3*x^3 + 5*x^2 - 14*x + 54,1); thue(ti,1) -> error [#2365]
105- algdep(t_POLMOD x) -> x.mod instead of correct result
106- bnrinit(,,,cycmod) failed to delete elementary divisors equal to 1
BA 107- bnrclassfield: incorrect result when fundamental units are large, e.g.
bnrclassfield(bnfinit(nfsplitting(a^3-a^2-202*a-3080),1),2) [#2371]
108- M8=mfinit([8,5/2]); mfatkininit(M8,8)[1] was 0 and shouldn't be
109- polylogmult instability
default(realprecision,366);a=(1+sqrt(5))/2;w=(1+sqrt(-3))/2;
polylogmult([1,1,1,1],[1/a,a,1,w]) -> error
110- valuation(x*(y^2-1), y+1) -> oo loop [#2381]
111- round(t_FRAC, &e): e was always -oo
112- FpM_center_inplace would crash for p = 3 [#2387]
BA 113- [gp interpreter] fix memory leak in pop_lex
114- numerator(1/x+1/y, 'x) -> x*y
115- colors = "no" (or "") handled incorrectly [#2402]
116- thue(thueinit(x^3-3*x^2+1,1), 2187) -> domain error in mplog [#2397]
117- Bessel function of huge order -> oo loop [e.g. besselj(220, 112)]
118- elltwist(E,) would ignore E's real precision
Added
HC 1- new GP function eulerreal
BA 2- fplll: fast, dpe and heuristic variants
3- dirpowerssum: allow a completely multiplicative function
4- [libpari] atanhuu, atanhui, powcx, powcx_prec, cx_approx0
5- new GP function lfunparams (initial implementation P. Molin)
6- [libpari] row_Q_primpart
BA 7- [libpari] RgXQ_trace, RgX_chinese_coprime, RgXQV_factorback
8- [libpari] FpM_intersect_i, Flm_intersect_i
HC 9- add optional argument to ramanujantau + parallelize code
HC 10- new GP functions bessljzero, besselyzero
BA 11- [libpari] Fle_ellweilpairing, Fle_elltatepairing, Flj_to_Fle
Fl_ellptors
BA 12- [libpari] ZC_divexactu, ZM_divexactu
HC 13- allow hypergeom(N, D, t_SER)
14- [libpari] qfbsqr, qfbcomp, qfbpow, qfbpowraw, qfbsqr_i, qfbcomp_i,
qfbpow_i, qfbpow, qfbpowraw, qfr3_compraw, qfr5_compraw
15- general composition of binary quadratic forms (in different orders)
BA 16- New GP functions ellrank, ellrankinit : implement 2-descent on
elliptic curve following a GP script by Denis Simon.
BA 17- [libpari] RgXY_derivx, RgX_recip_i
18- [libpari] RgC_RgV_mulrealsym, RgM_to_RgXV_reverse
BA 19- New GP function ellsaturation
20- [libpari] ZX_Z_eval
BA 21- [libpari] elltors_psylow
22- ellinit([j]); no need to use ellfromj
23- ideallist(nf, negative bound) to return ideals of norm |bound|
(in factored form)
24- rnfconductor(bnf,pol,flag): add flag=2 to only return the conductor
and its factorization (which comes for free)
HC 25- New GP functions nflist, nfresolvent
BA 26- [libpari] Hermite_bound
27- substvec: support t_VEC replacement values
BA 28- New GP function ell2cover
BA 29- nfsplitting: flag to get the embedding
BA 30- New GP function galoissplittinginit
HC 31- lambertw(y): support all values y > -1/e [#1472]
HC 32- lambertw: add optional 'branch' argument; support and complex, p-adic
and power series inputs
BA 33- [libpari] ZXC_to_FlxC, ZXM_to_FlxM
BA 34- [libpari] New function families F3v, F3m
BA 35- New GP function setdebug
36- allow shortcut \g n feat for setdebug("feat", n)
37- New GP function poltomonic [#2200]
38- in GPRC, support default(key,val) and setdebug(dom,val)
39- New GP function polsubcyclofast
40- [libpari] prV_primes, ideals_by_norm, nfV_to_scalar_or_alg, quadpoly_i
41- new bit in nfinit flag: don't perform LLL on nf.zk
BA 42- new flag value in nfisincl
43- [libpari] hclassno6u_from_cache, uhclassnoF_fact, hclassnoF_fact,
vandermondeinverseinit, vandermondeinverse, trans_evalgen,
sunits_mod_units, Qp_exp_prec
BA 44- [libpari] RgXQ_minpoly
45- [libpari] quadclassnos, quadclassnoF, unegquadclassnoF,
uposquadclassnoF, coredisc2_fact, coredisc2u_fact, uquadclassnoF_fact
quadclassnoF_fact, Z_issquarefree_fact
46- new GP functions quadunitnorm, quadunitindex
LGr 47- allow endpoints in solve() to by +oo or -oo
48- allow Vec(t_STR, n) and Vecsmall(t_STR, n)
49- new GP function: harmonic
50- allow digits(integral t_PADIC)
51- new GP function qfbcornacchia
52- [libpari] gc_all
BA 53- [libpari] Zp_inv, Zp_invlift, Zp_div, Zp_log, Zp_exp
BA 54- [libpari] FpXn_div, Flxn_div, RgXn_div, RgXn_div_i, FpXQXn_div, F2xn_div
55- [libpari] maxomegau, maxomegaoddu, ZV_snf_rank, ZV_snf_rank_u,
zv_snf_rank, F3c_to_ZC, F3c_to_mod, F3m_to_mod, ZX_unscale_divpow,
ZX_affine
56- new GP function snfrank
HC 57- allow lngamma(t_PADIC of negative valuation)
58- file LICENSE (for Software Heritage archiving)
BA 59- [libpari] RgXV_prod
BA 60- new GP function serdiffdep
61- new module for hypergeometric motives, see ??hgm. GP functions
hgmalpha hgmbydegree hgmcyclo hgminit
hgmtwist hgmcoef hgmeulerfactor hgmissymmetrical
lfunhgm hgmcoefs hgmgamma hgmparams
BA 62- new GP function lfuneuler
TF 63- new GP functions subcyclohminus, subcycloiwasawa, subcyclopclgp
64- new GP function bnrcompositum
65- [libpari] gdivgu, gdivgunextu, divrunextu, gmulgu, gmulug
66- [libpari] Zp_log, Zp_exp
67- new GP function intnumosc, sumnumsidi
BA 68- [x86_64,arm64] AVX,NEON support for hyperellratpoints
BA 69- [libpari functions ZX_digits, ZXV_ZX_fromdigits
NM 70- new GP function elltrace
BA 71- [libpari] FpXQXV_red, FpXQXT_red
BA 72- [libpari] ZpXQX_ZpXQXQ_liftroot, ZqX_ZqXQ_liftroot
73- [libpari] ZV_snfclean
74- allow bnrchar to construct a Dirichlet character (with a znstar input)
75- new GP functions nfeltissquare, nfeltispower
BA 76- [libpari] FlxqX_nbfact_by_degree
BA 77- [libpari] RgXY_cxevalx
78- allow f*g and f^n for qfbcomp/qfbpow also for extended (real) forms
79- [libpari] qfbpows
BA 80- [libpari] FlxM_to_FlxXV, FlxXC_sub
BA 81- [libpari] FlxqXC_FlxqXQ_eval, FlxqXC_FlxqXQV_eval
BA 82- new GP function qfminimize
BA 83- new GP functions hyperelldisc, hyperellminimalmodel,
hyperellminimaldisc, hyperellred
84- new GP function setdelta
BA 85- [libpari] RgX_homogenous_evalpow, QXQX_homogenous_evalpow
BA 86- [libpari] FpX_roots_mult
BA 87- [libpari] RgX_affine
HC 88- new GP function lerchphi, lerchzeta
BA 89- new GP function hyperellisoncurve
BA 90- [libpari] nfM_ker
91- [libpari] Qp_zeta
BA 92- [libpari] RgX_mul2n
93- [libpari] rfrac_to_ser_i
94- [libpari] FlxC_FlxqV_eval_pre, FlxC_Flxq_eval_pre,
Flx_FlxqV_eval_pre, Flx_Flxq_eval_pre, Flx_Frobenius_pre,
Flx_div_pre, Flx_divrem_pre, Flx_extgcd_pre, Flx_gcd_pre,
Flx_get_red_pre, Flx_halfgcd_pre, Flx_mul_pre, Flx_oneroot_pre,
Flx_oneroot_split_pre, Flx_rem_pre, Flx_roots_pre, Flx_sqr_pre,
Flxq_div_pre, Flxq_inv_pre, Flxq_invsafe_pre, Flxq_mul_pre,
Flxq_powers_pre, Flxq_powu_pre, Flxq_sqr_pre,
Flx_powu_pre, Flxn_div_pre, Flxn_mul_pre, Flxn_sqr_pre,
FlxqX_fromNewton_pre, FlxqX_Flxq_mul_pre, FlxqX_Flxq_mul_to_monic_pre,
FlxqX_FlxqXQV_eval_pre, FlxY_FlxqV_evalx_pre, FlxY_Flxq_evalx_pre,
FlxqX_Newton_pre, FlxqX_get_red_pre, FlxqX_invBarrett_pre,
FlxqX_powu_pre, FlxqXn_mul_pre, FlxqXn_sqr_pre, FlxqXn_inv_pre,
FlxqXn_expint_pre, FlxY_eval_powers_pre, FlxY_evalx_powers_pre,
FlxY_evalx_powers_pre, FlxqX_divrem_pre, FlxqXQ_inv_pre,
FlxqXQ_invsafe_pre, FlxqXQ_sqr_pre, FlxqX_rem_pre, FlxqX_sqr_pre,
FlxqXQ_pow_pre, FlxqXC_FlxqXQV_eval_pre, FlxqXQ_div_pre,
FlxqXQ_mul_pre, FlxqX_halfgcd_pre, FlxqX_mul_pre, FlxqX_extgcd_pre,
FlxqXQ_powers_pre, FlxqXQ_powu_pre, FlxqX_normalize_pre, FlxqX_red_pre,
Kronecker_to_FlxqX_pre, Flx_dotproduct_pre, FlxqX_div_pre,
FlxY_Flxq_evalx_pre, FlxqXC_FlxqXQV_eval_pre, Flx_is_smooth_pre,
Flxq_pow_pre, Flxq_pow_init_pre, Flxq_pow_table_pre,
Flx_matFrobenius_pre, FlxqV_dotproduct_pre, FlxqX_FlxqXQ_eval_pre,
Flxq_auttrace_pre, Flxq_minpoly_pre, Flxq_lroot_fast_pre, Flxq_lroot_pre
Flxq_matrix_pow_pre, Flx_ddf_pre, Flx_factor_squarefree_pre,
Flx_nbfact_pre, Flx_nbfact_Frobenius_pre, Flx_resultant_pre,
Flxq_autpow_pre, FlxqX_gcd_pre, FlxY_evalx_pre, FlxqXQ_autsum_pre,
FlxqXQ_minpoly_pre, FlxqXQ_autpow_pre, FlxqXQ_auttrace_pre,
FlxqX_Frobenius_pre, FlxqX_factor_squarefree_pre, FlxqE_weilpairing_pre
TF 95- new GP function factormodcyclo
TF 96- new libpari functions FpX_factcyclo, Flx_factcyclo
97- new libpari functions ZV_sort_shallow, ZV_sort_uniq_shallow,
tridiv_boundu
BA 98- rnfabelianconjgen
99- new libpari functions abmap_kernel, abmap_subgroup_image, ZV_ZV_mod,
ZM_ZV_mod
100- bnr_char_sanitize, bnr_subgroup_sanitize
TF 101- GP function znsubgroupgenerators
102- [libpari] RgV_is_prV
103- improve idealfactorback [using ideamulpowprime]
Changed
HC 1- faster implementation of eulervec + cache result
2- sumnummonieninit(,1): faster algorithm (complex step)
3- atanh(rational) now uses binary splitting
BA 4- FqV_to_FlxV, FqC_to_FlxC, FqM_to_FlxM: replaced by
ZXC_to_FlxC, ZXM_to_FlxM
5- FpM_intersect and Flm_intersect now guaranteed to return an
Fp-basis; use FpM_intersect_i if you only need a generating set
6- ZXX_to_Kronecker -> RgXX_to_Kronecker, ZXX_to_Kronecker_spec
-> RgXX_to_Kronecker_spec
7- [libpari] nbessel -> ybessel
8- faster implementation of mfinit and mfbasis in weight 1
9- ZabM_ker: replace final exact check by probabilistic check modulo a
63-bit prime
10- [libpari] ZC_u_divexact -> ZC_divexactu
11- unify real and imaginary binary quadratic forms, include discriminant
types t_QFI and t_QFR are replaced by t_QFB
12- allow Qfb([a,b,c]) and Vec(t_QFB)
13- qfbredsl2(q, S): change format of S: was [D,isD], is now isD
BA 14- [libpari] gp_read_stream now return NULL when EOF is reached (was gnil)
15- elltwist now returns an ellinit, and accepts the same input formats
as ellinit ([a1,a2,a3,a4,a6], [a4,a6], Cremona label)
16- gen_search / vecvecsmall_search: remove flag; the result is now
positive if the element is found else -i if element should be
inserted at position i.
17- allow t_COL of objects in gconcat1 / shallowconcat1
18- [libpari] Z_smoothen now uses (and returns) t_VEC arguments.
Use Z_lsmoothen to input small primes as a t_VECSMALL.
19- poliscyclo: replace Bradford-Davenport's Graeffe method by their
invphi algorithm (much faster)
BA 20- [libpari] QXX_QXQ_eval renamed to QXY_QXQ_evalx
21- [libpari] ZX_Zp_root(f,a,p,): assume 0 <= a < p
BA 22- [libpari] gen_factorback now take an extra parameter one.
23- [libpari] mplambertx_logx, mplambertX, mplambertxlogx_x
24- [libpari] absZ_factor_limit_strict no longer guarantees that q is
composite: this is useless for applications and possibly expensive
25- default(debugfiles,) is now obsolete, use setdebug("io",)
26- [libpari] quadclassno now has a second argument (to recover the
attached fundamental discriminant)
27- faster qfbclassno for non fundamental positive discriminants
(use quadunitindex)
28- removed appa.tex from users.dvi; inline the text in INSTALL.tex
29- divrunu, divgunu: use a single division in all cases (faster even if
denominator has 2 words)
30- allow random(negative integer N) -> a random integer in [-n,n], n=|N|-1.
31- allow sqrtint and sqrtnint for nonnegative real number argument
32- allow logint for positive real number argument
33- improve gamma and lngamma for t_FRAC inputs
34- renamed normalize -> normalizeser
35- nfinit/nfdisc/nfbasis: use lazy factorization by default [#2326]
36- in idealtyp(ideal, fa), allow setting fa to NULL
BA 37- system now return the shell return value.
38- allow valuation(x) when x is a t_PADIC, a t_POL or a t_SER
39- libpari function precision() now always return a 'prec' (integer > 2).
It used to return 2 for real 0 of non-negative exponent.
40- grndtoi(GEN x, long *e): allow setting e = NULL
BA 41- [libpari] pari_thread_start: do not allow threads started this way to
launch more threads.
BA 42- genus2red: 3rd component is now a pair [P,Q] such that y^2+Q*y=P is
minimal everywhere.
43- faster implementation of binomial
Removed
1- [libpari] obsolete functions qfi, qfr, qfi_1, qfr_1, redreal,
redrealnod, rhoreal, rhorealnod, qfrcomp, qfrcompraw, qfrsqr,
qfrsqrraw, qfisqrraw, qficompraw, qfipowraw, qfipow, qficomp,
qfisqr, redimag
2- [libpari] obsolete types t_QFI, t_QFR
3- [libpari] nfinitall is now obsolete; use nfinit with the same arguments
4- [libpari] order is now obsolete; use znorder
|
|
Bug numbers refer to the BTS at http://pari.math.u-bordeaux.fr/Bugs/
Done for version 2.7.5 (released 09/11/2015):
[last column crossreferences current development release 2.8.0]
Fixed
1- forprime engine could skip (fast) sieve in favour of (slow)
nextprime [#1711] [F113]
2- 0^[1] -> domain error [#1713] [F114]
3- memory leaks (clones) in ellchangecurve [#1716] [F115]
4- zeta inaccurate around 0 [#1714] [F116]
5- bnrrootnumber did not support the trivial character [0,..,0] [F118]
6- default(log,1) when logfile is write-protected later lead to SEGV [F119]
BA 7- 2-adic gamma function: fix accuracy loss [F120]
8- A==A -> 0 for A a t_SER of huge accuracy (so that A-A overflows
valuation) [#1734] [F121]
XR 9- P=Pol([1,-2,12,-12,-181,-4,-6899,9780,6360,702,-45]);
for(i=1,10000,setrand(i);nfdisc(P)) -> crash [#1735] [F122]
10- select(x->x,Vecsmall([1,2,3]),1) -> crash [#1737] [F123]
BA 11- [libpari] RgV_to_RgX_reverse did not work if v[1] or v[2] was 0 [F125]
12- bnfinit could fail at low precision [#1736] [F126]
13- Rg_to_ff: incorrect type in zk_to_ff [#1755] [F127]
BA 14- nfsubfields could fail [#1758] [F128]
15- rare SEGV in ArtinNumber [#1759] [F129]
Done for version 2.7.4 (released 19/06/2015):
[last column crossreferences current development release 2.8.0]
Fixed
1- divisors([2,1]) -> SEGV [#1664] [F84]
2- acos([Pol(1)]) -> GC bug [#1663] [F85]
3- primes([1,Pol(2)]) -> SEGV [#1668] [F87]
4- buffer overflow after default(format,"f.precision") [F95]
5- qfminim(A, 0, ...) -> stack overflow [#1682] [F97]
6- div_scal_rfrac could create an invalid t_POL [#1651] [F99]
7- polroots(t_POL with leading coeff = 0) -> fp exception [#1690] [F100]
8- \r cannot deal with very long filenames [#1616] [F101]
9- rnfisabelian(nf, non monic t_POL) -> SEGV [#1693] [F102]
10- possibly incorrect result in nfdisc(T,listP) [F104]
11- wrong dim(Ker) returned by ZM_pivot => SEGV in Z-linear algebra
routines. E.g. setrand(1);quadclassunit(-612556842419) [#1700] [F105]
12- moebius(factor(18)) -> 1 instead of 0 [#1702] [F106]
13- ispower(-167^10) => domain error [#1703] [F107]
14- ispowerful(factor(0)) != ispowerful(0) [F108]
15- expm1(2*I) => wrong result [F109]
16- gamma(1+a*x+O(x^2)) => error [#1707] [F110]
17- printsep() printed its argument in random format instead of f_RAW [F111]
18- nfdisc(x^10 - 29080*x^5 - 25772600) -> oo loop [#1710] [F112]
Added
ED 1- mingw64 support [A111]
Done for version 2.7.3 (released 18/02/2015):
[last column crossreferences current development release 2.8.0]
Fixed
1- [from 2.7.2] ??bnrL1 and ??ellL1 did not work anymore
2- thue(f^e*g, ...), e even, (f,g)=1 missed solutions such that f<0 [F22]
XR 3- bnrL1(bnrinit(bnfinit(x^2-168),[6,[1,1]],1)) -> bug in ArtinNumber [F55]
4- nfisincl(t_POL, t_POL) could lead to wrong negative results [F58]
5- polresultant(1+x*z^2,1+y*z^4,z) -> GC error [#1614] [F59]
BA 6- ellcard over non-prime fields could return wrong results [F60]
7- [libpari] FpX_roots could produce GC errors [#1618] [F61]
8- weber(1+I) was missing its imaginary part [F62]
9- (1+I)*(1+1/2*I) => wrong result (type errors) [#1619] [F63]
10- contfracpnqn([a]) => [1,a;0,1] instead of [a,1;1,0] [F64]
11- primes([2^50, 2^50+200000]) => stack overflow [F65]
12- issquare((x+1/2)^2,&z); z => 1.0*x+0.5 instead of x+1/2 [F66]
13- possibly missing roots in nfroots (when using Trager) [F68]
14- quadray(bnf, ideal) did not work [F69]
15- thue(-14*x^3 + 10*x^2 + 63*x - 5,1) -> "short continued fraction" [F70]
16- thue(29*x^3+130*x^2-35*x-48,1) -> "round error" bug [F71]
17- T=thueinit(10*x^3+6*x^2-41*x+8,1); thue(T,8) => SEGV [#1630] [F72]
18- ellrootno(e,p = 2 or 3) when e not minimal at p => random result [F73]
19- agm(1,2+O(5)) -> SEGV [#1645] [F76]
BA 20- [cygwin64] ellap(ellinit([0,0,1,-1,0]),10007) was broken [F77]
21- primes([-5,5]) -> [5] (spurious absolute values) [F78]
22- matqr([;]) -> crash [F79]
23- Fp_rem_mBarrett could return a non-normalized result [F80]
p=436^56-35;Mod(271,p)^((p-1)/2) -> p+1
24- plotcopy would corrupt "string" objects (ROt_ST) [F81]
BA 25- [GP] default arguments to GP functions could cause corruption [F82]
VBr26- [darwin] remove obsolete linker options that cause crashes [#1623] [F83]
Done for version 2.7.2 (released 19/09/2014):
[last column crossreferences current development release 2.8.0]
Fixed
1- gaffsg(0, t_PADIC): wrong valuation [F21]
2- (t_INTMOD with word-sized modulus)^(huge negative power) [#1584] [F24]
3- (gp -p N) or (primelimit=N in gprc_ for N >= 436273290 resulted in an
incorrect primetable. N.B. Such commands are now useless: needed primes
are produced dynamically anyway. [F25]
4- monomial(exact zero, d, v) returned an invalid t_POL / t_RFRAC [F26]
5- contfracpnqn(v, n) returned partial quotients p[-1]/q[-1] ...
p[n-1]/q[n-1], instead of the documented p[0]/q[0] ... p[n]/q[n] [F27]
6- factor((3+4*I)/25) -> factor 2+I had 0 exponent [#1586] [F29]
BA 7- iferr() could crash if some component of the t_ERROR were clones. [F31]
8- nffactor() could overflow the stack when default accuracy too low [F32]
BA 9- obsolete use of E=[a1,a2,a3,a4,a6] in ellmul crashed [#1589] [F33]
10- incorrect rounding in mulrr/divrr for one-word precision reals [F34]
BA 11- multiif did not handle correctly return() in conditions [#1590] [F35]
12- [0..5] -> [0,0,0,0,0] on some architectures [F36]
13- is_gener_Fp could return wrong results [F37]
14- Fq_sqrtn(t_INT,..,&zeta) could return a wrong root of 1 [F38]
15- bnfinit: SEGV due to precision issues [#1592] [F39]
16- zm_zc_mul only worked for square zm matrices [F40]
17- genus2red(0,27*x^5+97*x^4+118*x^3+60*x^2+13*x+1,3) -> bug [#1596] [F41]
18- [gphelp] oo loop when $COLUMNS too small [#1594] [F42]
19- genus2red(x,-x^6-3*x^4-10*x^2-1,3) -> impossible inverse [#1597] [F43]
20- factoru(1) returned a t_MAT instead of the expected "matsmall" [F44]
21- FpM_charpoly wrong in small characteristic [#1602] [F45]
22- when compatible = 3; series() used a random precision [F50]
23- genus2red(0,6*x^6+5*x^4+x^2+1,7) -> impossible inverse [#1597] [F51]
24- isprime() could crash on large input [#1604] [F52]
25- genus2red(x^3+1,1) -> type error [#1597] [F53]
26- gphelp did not handle === correctly [#1603] [F54]
27- FpXY_evaly() wrong when evaluating at 0 [F56]
28- [mingw] gp could crash at start up [#1607] [F57]
Done for version 2.7.1 (released 16/05/2014):
[last column crossreferences current development release 2.8.0]
Fixed
1- make install fails on OS/X: ln -s libpari.dylib libpari.dylib fails [F1]
2- Q_pvalrem(t_FRAC) => wrong result [F2]
3- [] == 0 but []~ != 0 (now []~ == 0 as well) [#1560] [F3]
BA 4- test-kernel did not work when using --mt=pthread [F4]
BA 5- ellheegner was using too much memory in some case [F5]
BA 6- ellap can overflow on 32-bit machine [#1558] (minimal fix) [F6]
7- nfhilbert(K,x,y, P above 2) could give wrong results [#1561] [F7]
8- gcd(1/2, 1+I*1.) -> SEGV [#1563] [F10]
9- mathnf(t_VEC) could corrupt input (change sign) [F11]
10- [libpari] RgM_transmul did not work [F12]
11- [libpari] Fq_issquare didn't support T=NULL [F13]
12- [libpari] nfpow_u didn't handle non-integral rational numbers [F14]
13- eint1(0) -> stack overflow [#1568] [F15]
14- nfroots(, t_POL with leading coeff -1) could miss solutions [F19]
15- precprime(1) -> invalid t_INT [#1576] [F20]
|