commit 7325cda34182d2b88c3e62ce65ccf708b22ca577428f132902bd370ecd4a4c8b Author: Jan Engelhardt Date: Thu Nov 21 18:34:04 2024 +0000 [info=537259d50dab16cd87fe15dc5968388a1ae8cbf6b7cb1dd9612c6737def3dd6d] OBS-URL: https://build.opensuse.org/package/show/science/pari?expand=0&rev=76 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_scmsync.obsinfo b/_scmsync.obsinfo new file mode 100644 index 0000000..f9348c4 --- /dev/null +++ b/_scmsync.obsinfo @@ -0,0 +1,4 @@ +mtime: 1712520812 +commit: 537259d50dab16cd87fe15dc5968388a1ae8cbf6b7cb1dd9612c6737def3dd6d +url: https://src.opensuse.org/jengelh/pari +revision: master diff --git a/build.specials.obscpio b/build.specials.obscpio new file mode 100644 index 0000000..be90ada --- /dev/null +++ b/build.specials.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b67ce635a298d97538db65dcd49ab257df577201134f0a2e6a5887f04e6d4ad0 +size 256 diff --git a/pari-2.15.5.tar.gz b/pari-2.15.5.tar.gz new file mode 100644 index 0000000..e6f3b4f --- /dev/null +++ b/pari-2.15.5.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0efdda7515d9d954f63324c34b34c560e60f73a81c3924a71260a2cc91d5f981 +size 5186798 diff --git a/pari-2.15.5.tar.gz.asc b/pari-2.15.5.tar.gz.asc new file mode 100644 index 0000000..6f4ada7 --- /dev/null +++ b/pari-2.15.5.tar.gz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEEQgKOpASi6dgKxFMUjw58K0Ui44cFAmXI4qMACgkQjw58K0Ui +44cf+g//UCZi5R36HB4TisXsvhDm5opDX1WOcKmjikj6QGjS2GypOYo5F+Bbhy+Q +MPw3/B+9OM0amehpTZRqyOn43wDPZ5bsdSYU9WyO0CIv0Q57TSRM9RMQJ4u5QGQ6 +W4YOAbWNZ+l74G2VvDL+XM+YgjmuOSlpCLOkFPXU433EJhBAwtktCTTzy6N4OUv8 +RbP9Mwhht8CgcNubgWGUGJV5psDgpMKTbjPAZeanZqT0qHIefuW4UDMQ7QfRtqYD +/v24y3qwh7C0NoG+5c22DsHKF/vN2HPZkAROBaGTrZOpN6vPNPuNtbrAaNsDUAj4 +XmNc9R/fv3Fp9Tr4l53IfhEBD9LkZKq0fuQaWh6CRBNjZXx2kSSHnyCiPn6fqALC +XSvEzUsBhlSYFn6WIM86EpzF3wacRjJyxRTEnUQ7sK0RrwHlDStaro2aD1sQ1pRm +UT57/wgtIGMgmtDfKxMNeYflgKCLEU78hdmIwTLw0i8VyuEDvGLPGAApiQcmbqoq +aQpQ3XpGSKU/8Lo7PxeUXZgO7cUNZxiPNU9E3kOE4c8xaiJzxklfBlmnCrbBVFT9 +/fuhff0+WTlxs+vDJ9LXKQHCWr4g++q0P7qqpbQOv9lnunbMMX+W8FpnE/4boyoC +TZaY1xCl1dECm7E6IqCOFvGw21xK0PjsmaTw3Wufl22/vKiW8Ps= +=XXYP +-----END PGP SIGNATURE----- diff --git a/pari.changes b/pari.changes new file mode 100644 index 0000000..d4affaf --- /dev/null +++ b/pari.changes @@ -0,0 +1,610 @@ +------------------------------------------------------------------- +Sun Apr 7 06:28:29 UTC 2024 - Jan Engelhardt + +- Update to release 2.15.5 + * Fix a memory corruption when using `strjoin([1])` +- Explicitly buildrequire amsmath.sty to fix a build failure. + +------------------------------------------------------------------- +Sun Jul 16 11:04:16 UTC 2023 - Dirk Müller + +- update to 2.15.4: + * lfunan(lfunetaquo([12,1;13*12,1]),1) -> stack overflow + * FpM_intersect could return a Flm + * 3- ifac_isprime could be called on input with tiny + divisors + * nfcompositum could return non-monic polynomials + * gammamellininvinit(vector(9,i,1)) -> SEGV + * incorrect sanity check in rnfeltdown ("not in base + field") + * precision loss in gammamellininv + * [pthread] parselect could crash + * rare infinite loop in ellsaturation + * quadunitindex(8461,2)->1 instead of 3 + * chinese(Mod(1,3)*(x^2+x+2),Mod(1,5)*(x-1))->incorrect + leading term + * lindep([0,x]) -> SEGV + * [libpari] RgX_div_by_X_x: wrong variable number + * MS 14- hyperellratpoints(2*x^3+x^2-x,1000) -> wrong result + * ellisogeny over a nf -> inconsistent variables error + * w=3;quadgen(5) -> print x instead of w + * FpX_convol: wrong result for mixed degree + * 18- mateigen(,1): eigenvalues were given as t_VEC or + t_COL. Use t_COL. + * ellcard over small finite field: potential oo-loop +- add pari.keyring for source integrity validation + +------------------------------------------------------------------- +Mon Apr 17 06:01:18 UTC 2023 - Anton Shvetz + +- Update to 2.15.3 + * rare infinite loop in idealtwoelt + * nfisisom(16*x^4+1,16*x^4+1) -> error + * forprimestep(p=a,b,q,) overflow when a > primelimit + * lfun([bnrinit(bnfinit(y^2+1),12),[[2,0],[6,0]]],2) -> error + * lfunthetacost(polcyclo(43)): silent overflow + * ellcard(ellinit([1,1]*ffgen([41,16])))-> impossible inverse + * wrong result (missing content) in idealred(nf, [id, elt]) + * det(integer matrix) -> inconsistent exact division + * fft([],[]) -> SEGV, fft([1],[1]) -> SEGV + * nfrootsof1(x^0) -> oo-loop + * hgmalpha did not check its input + * hyperellchangecurve([],[]) -> SEGV + * hyperellchangecurve(x^0,[1,matid(2),0]) -> SEGV + * rnfeltnorm(x,x) -> SEGV + * polylogmult(1,[],-1) -> SEGV + * ellheight(non-integral E) -> crash + * content(1,y) -> pol_1(y) instead of t_INT 1 + * s=taylor(1/((x-1)*(y-1)),x); taylor(s,y) -> invalid object + * avoid crashing when sumnumsidi diverges (0 bits of accuracy) + +------------------------------------------------------------------- +Thu Jan 5 08:17:22 UTC 2023 - Dirk Müller + +- update to 2.15.2: + Fixed + polredbest: rare error "inconsistent concatenation" + hypergeom([0,0],[1],2) + powers(t_INT, ...) was very slow + factor(prod(i=1,20,nextprime(2^i)), 131) would include 131 + sumeulerrat(x^2/(1+x),2) -> FPE + lambertw(10^1000) -> overflow + +------------------------------------------------------------------- +Fri Nov 18 17:44:42 UTC 2022 - Jan Engelhardt + +- Update to release 2.15.1 + * Resolve SIGSEGV with seralgdep and bnfinit functions + * Resolve obscure oo loop in solve when solution ~ 0 + +------------------------------------------------------------------- +Thu Oct 27 13:41:40 UTC 2022 - Andrea Manzini + +- Update to release 2.15.0 + * The GP language: + * Notion of DebugLevel "domains" that allow to finely control + diagnostics. + * The syntax setdebug(dom, val) and default(def, val) are now + recognized in the GPRC file. + * Linear Algebra: + * qflll() now implements most LLL modes in fplll (fast, dpe and + heuristic), allowing large speedups. Directly and in the many + functions that use the LLL algorithm. + * New GP function snfrank(), a utility function returning + q-ranks from Smith Normal Forms + * Elementary Number Theory: + * New GP function: harmonic(), to compute generalized harmonic + numbers + * Reworked Euler numbers, analogously to Benoulli's: eulervec() + is now faster and caches computed values, and a new GP + function eulerreal() computes floating point approximations. + * Elliptic Curves: New module to compute the Mordell-Weil group + of rational elliptic curves + * See https://pari.math.u-bordeaux.fr/pub/pari/unix/pari-2.15.0.changelog + for details. + +------------------------------------------------------------------- +Wed Apr 13 18:58:43 UTC 2022 - Anton Shvetz + +- Update to release 2.13.4 + * For z=x+wy a t_QUAD, z.pol returned the modulus z.mod instead + of the t_POL x+'w*y + * allow eulerianpol(0) (= 1) + * allow polylog(0,x) (was broken when eulerianpol + was introduced) + * concat(t_LIST,t_LIST) was leaking memory + * missing type checks in ellchangepoint (led to a SIGSEGV) + * polsturm(-25*x^4+2*x^3+99*x^2-44*x-132,[-oo,-4]) + returned garbage + * ellheight(E,,Q) led to a SIGSEGV + * besselj(80,66) led to an infinite loop + * lfun(1, 0.0) "normalizing a series with a 0 leading term" + * (0. + O(x) == 1) returned 'true' + * idealismaximal(nfinit(x),Mat(2)) -> 0 + * O(29^(-1)) == 1 was FALSE (same for -1) + * Mod(0, 2*x^0) == 1 was FALSE (same for -1) + * [X11] resizing a window could keep traces + of previous drawing + * x->x+0x1 was not displayed correctly + * bnfinit(Q) was not using current precision + * polresultant(t_POL with t_RFRAC coefs,...) led to internal + errors + * znchardecompose(znstar(2,1),[],2) led to SIGSEGV + * missing roots in nfroots(t_POL,) + * factorpadic: ensure leading coefs are powers of p + * nfsnf returned wrong results + * rare SEGV occurred in nfdisc + * factor((Mod(1,2)*((t^2+1)*x^4+(t^4+1)*x^2+1))) + led to a division by 0 + * minpoly(Mod(1/(x-(t+1))*Mod(1,2),(t+1)*x^2+t*x+1)) + led to an error + * factor(Mod(1,2)*x^5+a*x^3) led to division by 0 + * nfgrunwaldwang: fix infinite loop + * ti=thueinit(3*x^3 + 5*x^2 - 14*x + 54,1); thue(ti,1) + led to an error + * bnrclassfield led to incorrect result when fundamental + units are large + +------------------------------------------------------------------- +Tue Nov 2 00:19:07 UTC 2021 - Anton Shvetz + +- Update to release 2.13.3. Fixed + [last column crossreferences current development release 2.14.0] + * zeta(-2 + O(x)) => division by 0 [F25] + * (-1)^(-1/2) -> I instead of -I [F56] + * GC error in ZX_Uspensky(, flag = 0) [F58] + * ellisomat(ell/nf not integral) -> oo-loop or wrong result [F59] + * (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] [F60] + * hypergeom([1/12,1/12],2/3,3) -> wrong result [F61] + * overflow in mulu_interval(,ULONG_MAX) [#2309] [F62] + * ellE(1) -> domain error [#2312] [F63] + * log1p(-1 + 10^-10) -> oo time [F64] + * bernvec entries were wrong from B_{2*4064} on [#2311] [F65] + * plotrecthraw for multi-curves [F66] + * RgXn_powu(,,1) wrong result [#2314] [F67] + * erfc incorrect on negative imaginary axis [#2315] [F68] + * mfgalpoistype bug for dihedral types (when conductor at oo + is not stable under Galois) [#2293] [F69] + * [32bit] forfactored(n=223092868, 223092871, ) -> + SEGV [#2318] [F70] + * Fp_issquare(0, p) would return 0 [F71] + +------------------------------------------------------------------- +Sun Oct 31 20:36:12 UTC 2021 - Anton Shvetz + +- Split '%make_build all docpdf' into separate executions due to + non-reproducible results during parallel build with varying + numbers of jobs. Thanks to Bernhard M. Wiedemann for reporting + the bug. + +------------------------------------------------------------------- +Fri Oct 29 01:01:54 UTC 2021 - Anton Shvetz + +- Update to release 2.13.2. Fixed + [last column crossreferences current development release 2.14.0] + * rnfidealup(, non-integral ideal) -> division by 0 [F22] + * memory leak in ellheight [F23] + * memory leak in bnfinit [F24] + * nfeltdiv(nfinit(x^2+1), 0, 1+x/2) -> SEGV [#2277] [F26] + * znchargauss(g,chi,0) -> oo loop [F28] + * bnflog(bnr, ...) -> SEGV [F29] + * elliptic functions: incorrect reduction + of z/w1 mod [1,tau] => catastrophic cancellation [F30] + * powcx(x, t_COMPLEX with 0 imaginary part) -> crash [F31] + * nfsubfields(t_POL in other var than x,,1) -> SEGV [F32] + * extra terms in power t_SER substitutions [#2281] [F33] + * k=bnfinit(quadpoly(-2923,a)); + bnrclassfield(k,3) -> SEGV [#2280] [F34] + * rnfdisc mishandled polynomials with denominators [#2284] [F35] + * elltamagawa(ellinit([-1456/243,93184/19683])) -> + wrong result [F36] + * mfsearch would sometimes miss the trivial form [F37] + * typo in allh [affects ECPP tunings] [F38] + * mfisetaquo(mffrometaquo([1,12;193,12])) -> 0 [F39] + * polroots(1.E-47*t^6+1.E-47*t^5+4.E-46*t^4) -> + bug in type [#2286] [F40] + * ceil(quadgen(5)) -> 1 instead of 0 [#2288] [F41] + * floor(Mod(0,3)*quadgen(5)) -> crash [F42] + * wrong ispower(t_RFRAC) and issquare(t_RFRAC, &z) [#2289] [F45] + * 1+O(x)==O(x) [F47] + * qfauto([[1,0;0,1],[0,0;1,0]]) -> SEGV [F49] + * 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 ] [F50] + * rnfdisc could return corrupted result [F51] + * concat(List([1])[1..0]) ->SEGV (instead of error) [#2299] [F53] + * List([1])[1..0]==List() -> 0 instead of 1 [F54] +- Build PDF documentation and place it into separate + pari-doc package. Move examples from pari-devel package + to pari-doc. +- Add %{_sysconfdir}/gprc to packaging. +- Remove patch pari-nodate.diff (replace with the sed one-liner + in the %prep section). +- Remove obsolete stuff from the spec file. +- Apply spec-cleaner. + +------------------------------------------------------------------- +Sun Feb 7 21:15:14 UTC 2021 - Aaron Puchert + +- Update to release 2.13.1. Fixes the following bugs: + * GC error in idealinv. + * qfminim inefficiency (initial bound from non-LLL-reduced matrix). + * mfshimura in weight 3/2 => infinite loop + * matsolve([1,1,1/2; 1,0,1/2; 2,1,0], [-1;1;-1]) -> SEGV. + * qfminim(Mat(1),,,2) -> precision error. + * subst(p, v, t_SER) very slow if p contains many variables. + * mfsymboleval for trivial path returned 0 instead of a vector + of 0s when f has multiple embeddings. + * 2^(1 + O(3^4)) -> type error. + * 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). + * tan(1+10^20*I) -> overflow (same for cotan and psi). + * Mod(2,3)^1000000000000000000001 -> Mod(-1,3). + * subst(O(y) + x, x, (1 - y + O(y^2))*x + O(x^2)) -> SEGV. + * (Mod(0,3) + x) + O(x^2) -> x + O(x^2) [now Mod(1,3)*x + O(x^2)]. + * Precision too low for units in mfgaloisprojrep. + * Missing GC at the end of RgXn_inv. + * (-1)^(1/3) -> -1 instead of exp(log(-1)/3). + * mfeisenstein(k, trivial characters mod N > 1) was incorrect. + * Missing GC in qfsolve. + +------------------------------------------------------------------- +Mon Oct 26 15:03:47 UTC 2020 - Jan Engelhardt + +- Update to release 2.13.0 + * New libpari functions: perm_sqr, perm_powu, perm_orderu, quodif. + * Added asymptotically fast quadunit. + * Faster intnumgaussinit and change default number of points + to B/4, suitable when b - a ~ distance to the nearest pole. + * In libpari, perm_pow now takes a t_INT exponent, permorder + and perm_order return a t_INT. + * sizebyte(objects containing t_LIST): would assign size 3 to all lists + * permorder returned incorrect results for large orders + * cure SIGSEGV on [Map(Mat([0, 0])), [0, 0, 1]] + * cure SIGSEGV on zeta(I+2^(-64)) + * cure infinite loop on p=[4,54];lfunmf(mfinit(p,0), mftraceform(p,0)) + * printf("%5.2f",M) transposed M + * bnfinit instability at low accuracy. E.g., at \p38 + P=x^7+22*x^6+184*x^5+764*x^4+2020*x^3+3792*x^2+5712*x+4; + bnfinit(P,1).no -> 4 times too large + * Accuracy problems in bnfisunit after bnfinit(P,1). E.g., + P=x^7-22*x^6+169*x^5-568*x^4+1263*x^3-1506*x^2+2295*x+2; + setrand(1); K=bnfinit(P,1); U=bnfunits(K,idealprimedec(K,2)); + bnfisunit(K,4*(x^2-18*x+85)/x^2*Mod(1,K.pol),U) -> error +- Update to release 2.12.1. + * New functions in GP: asympnumraw, bnrmap, bnfunits, + dirpowerssum, ellpadiclambdamu, eulerianpol, eulerfrac, + eulerpol, eulervec, fft, fftinv, halfgcd, lfundual, lfunshift, + matreduce, mfisetaquo, mscosets, msfarey, nfsubfieldscm, + nfsubfieldsmax, parforeach, parforprimestep, parplothexport, + permcycles, polylogmult, rootsof1, zetamultdual. + * New libpari functions: absZ_factor_limit_strict, + bnf_build_cheapfu, bnf_compactfu, bnf_compactfu_mat, + bnf_get_sunits, bnf_has_fu, bnrchar_primitive_raw, + bnrconductor_factored, bnrconductor_raw, bnrisprincipalmod, + bnr_subgroup_check, checkbnr_i, checkfarey_i, + closure_callgen0prec, cmpss, cmpuu, cyc_get_expo, div_content, + ellQtwist_bsdperiod, etaquotype, expIPiC, expIPiR, F2m_row, + F2Ms_colelim, F2Ms_ker, F2Ms_to_F2m, F2m_to_F2Ms, + F2m_transpose, F2v_and_inplace, F2v_hamming, + F2v_negimply_inplace, F2v_or_inplace, F2xn_inv, F2xn_red, + F2xqX_halfgcd, F2xX_to_F2xC, F2xXV_to_F2xM, factorial_Fl, + factorial_Fp, famat_div, famat_idealfactor, famat_nfvalrem, + famat_remove_trivial, famatV_factorback, famatV_zv_factorback, + ff_parse_Tp, FFX_add, FFX_halfgcd, Flv_factorback, Flx_blocks, + Flx_Fl_sub, Flx_is_totally_split, Flxn_expint, Flxq_autpowers, + FlxqV_factorback, FlxqX_fromNewton, FlxqX_Newton, + FlxqXn_expint, FlxqXn_inv, FlxqXn_mul, FlxqXn_sqr, + Flx_translate1_basecase, FlxV_Flv_multieval, FlxX_blocks, + FlxX_invLaplace, FlxX_Laplace, FlxXn_red, FlxX_translate1, + forqfvec1, FpV_prod, FpXC_to_mod, FpX_divu, FpX_Fp_div, + FpX_FpXV_multirem, FpXM_to_mod, FpXn_expint, FpXQXn_expint, + FpXV_chinese, FpXY_FpXQ_evaly, FqC_FqV_mul, FqC_to_mod, + FqV_factorback, FqXC_to_mod, FqX_expint, FqXM_to_mod, + galoismatrixapply, gc_const, gen_sort_shallow, gen_ZpM_Newton, + groupelts_conj_set, groupelts_quotient, groupelts_to_group, + group_subgroup_is_faithful, halfgcdii, hash_zv, + idealfactor_partial, ideallogmod, ideallog_units, + ideallog_units0, idealpseudominvec, Idealstarmod, init_Flxq, + is_qfb_t, Kronecker_to_ZXQX, lfunquadneg, minim_zm, + mseval2_ooQ, mspadic_parse_chi, mspadic_unit_eigenvalue, + nf_cxlog, nf_cxlog_normalize, nfhyperellpadicfrobenius, + nflogembed, nfsign_fu, nfsign_tu, nfV_cxlog, nfX_disc, + nfX_resultant, pariplot, pari_realloc_ip, pow2Pis, pow2Pis, + powPis, powPis, QabM_tracerel, Qab_tracerel, QabV_tracerel, + Qdivis, Qdiviu, Q_lval, Q_lvalrem, QM_gauss_i, QM_image, + QM_image_shallow, QM_ImQ, QM_ImQ_all, QM_ImZ, QM_ImZ_all, + QM_sqr, quotient_groupelts, QXQ_to_mod_shallow, QXQX_gcd, + QXQX_mul, QXQX_powers, QXQX_QXQ_mul, QXQX_sqr, radicalu, + random_zv, rfracrecip, RgM_ZM_mul, RgV_type, RgV_type2, + RgX_halfgcd, RgXn_expint, RgXV_to_FlxV, + rnf_get_ramified_primes, SL2_inv_shallow, sumdivmultexpr, + sunits_makecoprime, uis2psp, uispsp, upowers, vec_equiv, + vecfactorsquarefreeu_coprime, vec_reduce, vecsmall_is1to1, + vecsmall_isconst, vecvecsmall_sort_inplace, + vecvecsmall_sort_shallow, Vgaeasytheta, ZC_u_divexact, + zlx_translate1, zlxX_translate1, ZMrow_equal0, ZpM_invlift, + ZpX_primedec, ZV_lcm, ZV_snf_gcd, zv_sumpart, ZX_compositum, + zx_lval, ZXQ_minpoly, ZXQ_powers, ZXQX_gcd, ZXQX_ZXQ_mul, + ZX_realroots_irred, ZX_sturm_irred, ZXX_evalx0, ZXX_Q_mul, + zx_z_divexact, + * Allow nfinit([T, basis, ramified primes]). + * Allow nf.p, rnf.p [rational ramified primes]. + * Add flag bit to ZM_snfall_i. + * Allow real t_QUAD in floor, ceil, divrem, %, \, \/. + * Parallel support for lfuninit. + * Direct formulas for quadratic Dirichlet L-functions at integers. + * lfuncreate: support for closures of arity 0. + * Compact representation of units in bnf (bnfinit(pol,1)) and of + principal ideal generators (bnfisprincipal(bnf,id,4)). + * lfuncreate(znstar or bnr,): allow a vector of characters => + vector-valued L-function. + * Holes in multi-assignement: [a,,c]=[1,2,3]. + * nfisincl: new flag: return a single embedding. + * qflll(x,3) in place reduction: return x * qflll(x) (faster). + * galoisinit: support for group (3x3):4 (GAP4(36,9)). + * Removed obsolete function rootsof1_kannan: use nfrootsof1. + * Removed obsolete function checkbnrgen: use bnr_get_gen. + * For additional changes, see the included changelog. +- Update to release 2.12.0. + * New functions in GP: airy, arity, bnrclassfield, derivn, + dirpowers, ellE, ellK, export, exportall, ffmaprel, + getlocalbitprec, getlocalprec, hypergeom, idealdown, + idealismaximal, mfgaloisprojrep, nfdiscfactors, pollaguerre, + polteichmuller, strjoin, strsplit, strtime, unexport, + unexportall. + * New libpari functions: bid_get_fact2, closure_derivn, + constzeta, divisorsu_fact_factored, divisorsu_moebius, + F2xqX_disc, F2xqX_resultant, F2x_recip, F2x_Teichmuller, + FF_preimagerel, FF_var, FFX_disc, FFX_extgcd, FFX_gcd, + FFXQ_minpoly, FFX_resultant, Flx_fromNewton, Flx_integ, + Flx_invLaplace, Flx_Laplace, Flx_Newton, Flxn_exp, Flxn_red, + Flxn_sqr, FlxqX_disc, FlxqX_resultant, Flx_Teichmuller, + Fp_divu, FpXC_FpXQ_eval, FpXQX_disc, FpXQX_resultant, gc_bool, + gc_double, gc_int, gc_long, gc_NULL, gc_ulong, + gluncloneNULL_deep, guncloneNULL, hash_init, hash_init_ulong, + has_str_len, identity_zv, identity_ZV, maxprimeN, mpsinhcosh, + mulu_interval_step, nfX_to_monic, nonsquare_Fl, + pari_get_histrtime, polint_i, polintspec, pollegendre_reduced, + psi1series, qfiseven, rfrac_deflate, rfrac_deflate_max, + rfrac_deflate_order, RgV_is_arithprog, RgV_isin_i, set_avma, + setunion_i, walltimer_delay, walltimer_start, ZpXQX_liftroots, + zv_cyc_minimal, zv_cyc_minimize, ZXQ_powu. + * qfbsolve(Q,n) now supports arbitrary integer n. + * limitnum/asympnum: allow closures of the form + N->[u(1),...,u(N)], which allows to handle efficiently sums, + recursions, continued fractions, etc. + * Optional flag to pollegendre and polhermite. + * Allow subst(e, x, vector v) for vector(subst(e, x, v[i])). + * Optional v argument to nfmodprinit. + * Support call by reference in GP function: f(~L,x)=listput(~L,x+1). + * Generic fast linear algebra using CUP decomposition. + * Implement lfunmfspec in odd weight. + * Support for rational model in ellratpoints and hyperellratpoints. + * Fast algorithm for zeta([a + b*n | n<-[0..N]]). + * ellheight(E) now returns the Faltings height of E. + * lfun now allows non-integral weights. + * example/parigp.sty to re-enable PARI's \pmatrix with amsmath. + * Removed member functions .futu and .tufu (deprecated since 2.2). + * Removed inferior hash function hash_str2: use hash_str. + * Removed obsolete binary flag '2' in matsnf (make it a no no-op). + * For additional changes, see the included changelog. + +------------------------------------------------------------------- +Sat Jun 6 23:59:38 UTC 2020 - Jan Engelhardt + +- Update to release 2.11.4 + * fixed "factor((x-1)*(x-y)^2)" going into an infinite loop + * "ellap" could fail with division by 0 + * cure wrong results from "bnfsunit" + +------------------------------------------------------------------- +Thu Mar 5 16:44:44 UTC 2020 - Jan Engelhardt + +- Update to release 2.11.3 + * Avoid division by zero in Flx_extresultant when one input is 0. + * Fix crashes executing "ispower(27,2^60)", + "issquare(non square t_FFELT, &x)", + "polcompositum(x^2+x/3+1,x^2+x/3+1)", + "polrootsreal(x+0.)", "qflllgram([2,2,3;4,5,6])", + or printf("%10.6f\n",2^-100). + +------------------------------------------------------------------- +Fri Aug 23 13:49:16 UTC 2019 - Jan Engelhardt + +- Enable pthreads [boo#1142714] +- Avoid duplicate shipping of documentation. + +------------------------------------------------------------------- +Sun Jul 28 22:37:35 UTC 2019 - Simon Puchert + +- Update to new upstream release 2.11.2 + * Fixed minpoly(Mod(1,t^2)) causing SIGSEGV. + * Fixed segfault in ffinvmap(m) on bad input. + * Fixed factormod(x^3+1,[y^2+1,2]) causing SIGSEGV. + * Fixed incorrect use of graphcolors leading to a SIGSEGV. + * Fixed [a,b]=a possibly leading to memory corruption. + * Fixed a memory leak in cgetalloc when lg overflows. + * Fixed a possible segfault in padicappr. + * Fixed core() possibly destroying its input, + if stored in a GP variable. + * Fixed stack corruption in quad_disc. + * Fixed an infinite loop and stack corruption in ellmoddegree. +- Drop the separate changelog as RPMLINT warns about it being a + duplicate of the file CHANGES (which is already included). + +------------------------------------------------------------------- +Mon Mar 25 19:08:37 UTC 2019 - Christophe Giboudeaux + +- Prepare the KDE4/Qt4 removal in factory. + +------------------------------------------------------------------- +Mon Dec 10 23:51:20 UTC 2018 - Jan Engelhardt + +- Update to new upstream release 2.11.1 + * Fixed a heap buffer overflow + * Fixed mfsplit(mf,,flag) could return uninitialized objects + causing SIGSEGV + * Fixed incgam(-1000.4,2) causing SIGSEGV + * Fixed mfcoefs(mfDelta(),0) causing SIGSEGV + * Fixed segfault in rnfidealup + +------------------------------------------------------------------- +Fri Dec 7 21:14:49 UTC 2018 - Todd R + +- Use %macro instead of %{macro} wherever possible. + +------------------------------------------------------------------- +Fri Dec 7 16:38:08 UTC 2018 - Todd R + +- Fix building on SLE 15 +- Use %license macro + +------------------------------------------------------------------- +Wed Aug 29 20:32:25 UTC 2018 - Jan Engelhardt + +- Update to new upstream release 2.11.0 + * fixed uninitialized memory reads in lgcdii and red_montgomery + * fixed memory leaks on pari_close [s_dbginfo, s_frame, + colormap/graphcolor + * polcoeff is deprecated and renamed polcoef: it now only + applies to scalars, polynomials, series and rational + functions; no longer to vector/matrices or quadratic forms + (use [] or "component") + * libpari: rename polcoeff0 -> polcoef, polcoeff_i -> polcoef_i, + truecoeff -> truecoef + +------------------------------------------------------------------- +Sat Sep 9 12:33:24 UTC 2017 - jengelh@inai.de + +- Update to new upstream release 2.9.3 + * Expression "issquare(Mod(1,67)*x^4+Mod(14,67)*x^2+Mod(49,67))" + and "polroots(t_POL whose coeffs vary by a factor > 2^100000)" + had caused SIGSEGV + +------------------------------------------------------------------- +Tue Feb 21 00:00:10 UTC 2017 - jengelh@inai.de + +- Update to new upstream release 2.9.1 + * lfunartin was using too much stack + * fflog in char 3 or 5 was slower than intended + * modular algorithms could fail for very large input + +------------------------------------------------------------------- +Tue Nov 29 11:45:37 UTC 2016 - jengelh@inai.de + +- Update to new upstream release 2.9.0 +* fixed nfisisom(x,x^0) causing a crash +* fixed crash on BIB in ellpointtoz(t_PADIC) +* fixed wrong result for nfroots(non-monic t_POL) +* fixed division by zero on doing + e=ellinit([1,-1,1,98,126],O(5^10)); ellpointtoz(e,[1,14]) +* fixed rare crash in bnfisprincipal + +------------------------------------------------------------------- +Sun Jul 31 16:46:14 UTC 2016 - jengelh@inai.de + +- Update to new upstream release 2.7.6 +* fixed O(1)==O(x) returning 0 +* matsolve(a,b) and a^(-1) gave wrong results [or SEGV] when t_MAT + a was not square and a,b "modular"; same for x^(-1) +* fixed a memory leak in pari_close: sopath was not freed + +------------------------------------------------------------------- +Sat Mar 12 20:32:55 UTC 2016 - jengelh@inai.de + +- Update to new upstream release 2.7.5 +* forprime engine could skip (fast) sieve in favour of (slow) +* corrected return values/exceptions of functions + +------------------------------------------------------------------- +Thu Feb 26 12:42:06 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 2.7.3 +* "??bnrL1" and "??ellL1" did not work anymore and were fixed +* thue(f^e*g, ...), e even, (f,g)=1 missed solutions such that f<0 +* nfisincl(t_POL, t_POL) could lead to wrong negative results +* ellcard over non-prime fields could return wrong results +* weber(1+I) was missing its imaginary part + +------------------------------------------------------------------- +Sun Oct 12 08:15:21 UTC 2014 - jengelh@inai.de + +- Update to new upstream release 2.7.2. Fixed were: +* (gp -p N) or (primelimit=N in gprc_ for N >= 436273290 resulted + in an incorrect primetable. +* monomial(exact zero, d, v) returned an invalid t_POL / t_RFRAC +* 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] +* iferr() could crash if some component of the t_ERROR were clones +* nffactor() could overflow the stack when default accuracy too low +* obsolete use of E=[a1,a2,a3,a4,a6] in ellmul crashed +* incorrect rounding in mulrr/divrr for one-word precision reals +* multiif did not handle correctly return() in conditions +* is_gener_Fp could return wrong results +* Fq_sqrtn(t_INT,..,&zeta) could return a wrong root of 1 +* bnfinit: SEGV due to precision issues +* zm_zc_mul only worked for square zm matrices +* [gphelp] infinite loop when $COLUMNS too small +* factoru(1) returned a t_MAT instead of the expected "matsmall" +* when compatible = 3; series() used a random precision +* isprime() could crash on large input +* gphelp did not handle === correctly + +------------------------------------------------------------------- +Wed Aug 6 05:14:57 UTC 2014 - jengelh@inai.de + +- Update to new upstream release 2.7.1 +* Q_pvalrem(t_FRAC) returned a wrong result +* The "ellheegner" function was using too much memory in some cases +* nfhilbert(K,x,y, P above 2) could give wrong results +* nfpow_u didn't handle non-integral rational numbers +* nfroots(, t_POL with leading coeff -1) could miss solutions + +------------------------------------------------------------------- +Fri Apr 18 14:53:48 UTC 2014 - jengelh@inai.de + +- Update to new upstream release 2.7.0 +* added new library functions FlxX_to_FlxC, FlxXV_to_FlxM, polx_FlxX, + Flx_lead, RgV_to_RgM + +------------------------------------------------------------------- +Wed Feb 5 01:56:32 UTC 2014 - jengelh@inai.de + +- Update to new upstream release 2.5.5 +* sin'(1) with default(compatible,3) caused a crash +* add missing call to normalize() in lift(t_POL/t_SER) +* galoisinit(x^3+x^2-2*x-1) led to uninitialized read +* polred() could return non-squarefree polynomials +* bnrdisc could return a wrong result if the modulus had more than + 2 prime divisors +* FFT mulii relied on unspecified order of evaluation +* local() could corrupt polynomial variable of the same name +- Add pari-nodate.diff + +------------------------------------------------------------------- +Sun Jan 6 20:10:01 UTC 2013 - jengelh@inai.de + +- Restore original library filename after confirming with upstream + (This change is transparent to all users) + +------------------------------------------------------------------- +Thu Nov 29 19:09:42 UTC 2012 - jengelh@inai.de + +- Update to new upstream release 2.5.3 +* Fixed a bug whereby calling a GP function with a lot of omitted + arguments could crash +* idealramgroups() and idealfrobenius() did not accept a bnf + +------------------------------------------------------------------- +Sun Feb 26 22:13:05 UTC 2012 - scorot@free.fr + +- fix build requirement to allow build on SLE-11 +- recompress source file to bzip2 format to allow build on SLE-11 +- add missing %%post and %%postun scriptlets + +------------------------------------------------------------------- +Mon Sep 26 08:52:28 UTC 2011 - jengelh@medozas.de + +- Initial package (version 2.5.0) for build.opensuse.org diff --git a/pari.keyring b/pari.keyring new file mode 100644 index 0000000..64d8a27 --- /dev/null +++ b/pari.keyring @@ -0,0 +1,77 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBFCtY5YBEAC5Wdpmw7015pqAVAJ0LAhyY74ZkqHURVsWZOfwZDJm4MDxExpz +iedKpiMAttoD4aGaG9ON5VPfjIIw7HcnSRvoUlyQOWY+K1XGIU9bTclHingTQrKy +uZm7qRK8viP+QCdg6E5dse7I3m7CIkP89ejcG3BmYxaJOlTwmI5/dvxvqZjAMy+L +U3XqSJ2C/fyZXFYkLcdfbFbV/QNj9PQtfInCr3EfpvyQmffkPXPDoNNp6Ppu2ZCi ++O1lsEtdaHKwxErstuNJ4OvmE3ZKvDSZBhT4u5vbv1oz7LWroSrVF98xXTjBxCJs +ezYCNTmscZFuVtDy3j0D1KslVDa8H16KEoQ0fCD8a0RzULemzmsBTuxWzrudQhdI +12Zcg0VkkkbA8dLAxQnz1LRJKbh2yNbuP4uIoGBdp4ywKtgNmgz+C7XbEwS1wgcO +Jj6gvjwd3ukPcN0XnBhurmM2SojpdR1kg0w+JFt2DjbabobN61vapcDcy+Op6Y6f +4l67fv6Q2ZtpI+VaercG6eYlOQr8hiV0b9L5lxwrEPAZT9fCZEbCvKfzrLN1N0WJ +T3tJCl0rdo1oy4BdJ8bEbg9wslzd4YbJIkCe2faH5njnziFXZ/sTl0stAty8ZA8l +736h+wuolHeNKDjYK5tL7lsiOj70kezRUvayTEnTIWa1N3Vf8EJ5fUAemQARAQAB +tDJCaWxsIEFsbG9tYmVydCA8QmlsbC5BbGxvbWJlcnRAbWF0aC51LWJvcmRlYXV4 +LmZyPokCOAQTAQIAIgUCWmziAAIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AA +CgkQjw58K0Ui44e9uQ/8ChUkbpmTi+SnfY4P3l4TPJAuyR9HidASn7D3hRPRasei +puwNnXJXj98V2UWB0NRjjpaPiHdmXD9x4C2VIDSonUvp3NkazpCkMK2ZZEdOJmPQ +ZIVHx8TE8Cxr1S0TvqqZjTrX5/hu4W6ezwqhNEzSjVOVcYB3knkFPAz3+25aic7I +pxbuvdwKFwpdrJ7Pv+alvDt/+Hz82J29pdHncynBt9NcUa9d5/i8y57MdqNoKTQl +lW+uT/rUktSOC/080fZyDYryVzlDJfX9YYVrO2amp9ZDnmeLrvmf63gNO3lPvN0W +jQslJJL96zD+X0VI/QDzQavS+XhlTNrgxpJEt53DfMvm+Wd2o38f+6mP7V84NuTh +H4JtyOpXli0RrbdAXetClPptap3HvpT/u3ct31vAdmNYtORhTq+gtz0/53CN0F9C +kKJgi9tcAGxUNJAtdLMDxJSDcMRH44uzyOnQHYt3+z0RJwAEssK/bY07ivTbKaQI +vVaWC8X7ak8JojACa+YS6usB3mCpjdYaVVMfqy/wLEGuOuhpPnGvCEL0346xfdgg +EnytYe2TeP1Cfcf3fI3pdrm6PrLZrK2d6beUb21bdb8WtaXaJvGwbLfAE9VVxPMC +ZonBbCFyuZeuTfdqiQ/xapN51B+9cCfA+cRWs+hVueib+jFdgzmync0iS0wzaWK0 +M0JpbGwgQWxsb21iZXJ0IDxCaWxsLkFsbG9tYmVydEBtYXRoLnUtYm9yZGVhdXgx +LmZyPokCOAQTAQIAIgUCUK1m+AIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AA +CgkQjw58K0Ui44fBpQ//fzjbbYzSbGKaq98/syPCXIYtKEM6lOiBIHsJz8UQO5s9 +TQDdCZDl1aVrWVcIbsW9/k+SYXhQOGDo2PPx5DBBqhhklKs/FR4A/dfw1rEhbMY4 +RVXx5kq3gR/kOlWkJDGUGpVZL/4i16I/2BuI9wTxIcrD4XR9WqVMq3KnrKGaTcwM +Y4leFoKwtpiM9/fXvP6Dl2R5mdhokOv/MxPKXg5WR5DBFPpizBuUPIpYJKr8WanI +2XNcB6D+ZVwf16xlgovbSZWqIhh5r3haHZT+wAIJn5y5bnlo28iTQYrxZPoSJRdB +QyGocavLS8POF3jh7Hs0siAs1xGOiw5YKbHJkXiV+VcFzdAAG9EbA0lVC/gRa16B +IVCDcPfLPxY6WuiBYUEzTOvma90yX94jzUUzQbyMrDlBeWM6+rGrwnv7SXF+zDR8 +B1c/tWp57IV6CgW7bfO1HF8zy5juO8sIs6n3TVUaY18vc/uk+GcD09oJyOz/mXq3 +w/cvMi09M1kZ7lq8BfKXPyQYD/zr2DvnuqHM4CX3TfOc3FLYX3Qg2Eqn67tAOIkm +Jf+tNcK2meP1w3Q6PCoVX05TsxXEX+3m1Axz2HZQwVdcZxXho0jSNP6wWEGrvJmG +E7Ue+I1rS+Mq/RsbyDNRqvWZvCdmucwdlm/+NpJto0YrkO04WXsAdIapjI7+cvu0 +JEJpbGwgQWxsb21iZXJ0IDxiYWxsb21iZUBkZWJpYW4ub3JnPokCOAQTAQIAIgUC +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 +c+A= +=OfIY +-----END PGP PUBLIC KEY BLOCK----- diff --git a/pari.spec b/pari.spec new file mode 100644 index 0000000..7b1f852 --- /dev/null +++ b/pari.spec @@ -0,0 +1,154 @@ +# +# spec file for package pari +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +# See +# http://pari.math.u-bordeaux.fr/archives/pari-dev-1211/msg00006.html +# for details on the SO versioning. +%global sover 8 +%global lname libpari-gmp-tls%sover +Name: pari +Version: 2.15.5 +Release: 0 +Summary: Computer Algebra System for computations in Number Theory +License: GPL-2.0-only +Group: Productivity/Scientific/Math +URL: https://pari.math.u-bordeaux.fr +#Git-Clone: https://pari.math.u-bordeaux.fr/git/pari.git +#Git-Web: https://pari.math.u-bordeaux.fr/cgi-bin/gitweb.cgi +Source0: %url/pub/pari/unix/pari-%version.tar.gz +Source1: %url/pub/pari/unix/pari-%version.tar.gz.asc +Source2: pari.keyring +BuildRequires: fltk-devel +BuildRequires: gmp-devel +BuildRequires: pkg-config +BuildRequires: readline-devel +BuildRequires: texlive-latex +BuildRequires: texlive-luatex +BuildRequires: texlive-luatex-bin +BuildRequires: texlive-luatexbase +BuildRequires: texlive-tex-bin +BuildRequires: xorg-x11-proto-devel +BuildRequires: pkgconfig(x11) +BuildRequires: tex(amsmath.sty) + +%description +PARI/GP is a computer algebra system designed for computations +in number theory (factorizations, algebraic number theory, elliptic +curves) and other entities like matrices, polynomials, +power series, algebraic numbers, and transcendental functions. + +%package gp +Summary: Frontend to the PARI Computer Algebra System +Group: Productivity/Scientific/Math + +%description gp +PARI/GP is a computer algebra system designed for computations +in number theory (factorizations, algebraic number theory, elliptic +curves) and other entities like matrices, polynomials, +power series, algebraic numbers, and transcendental functions. + +%package doc +Summary: Documentation for the PARI Computer Algebra System +Group: Documentation/Other +BuildArch: noarch + +%description doc +This package contains the documentation and examples for the PARI +Computer Algebra System. + +%package -n %lname +Summary: Shared library for the PARI Computer Algebra System +Group: System/Libraries +# This is used by the data packages to avoid having a too-old version of libpari: +Provides: libpari-gmp = %version + +%description -n %lname +PARI/GP is a computer algebra system designed for computations +in number theory. +This package contains shared library for the PARI CAS. + +%package devel +Summary: Headers for the PARI Computer Algebra System +Group: Development/Libraries/C and C++ +Requires: %lname = %version + +%description devel +PARI/GP is a computer algebra system designed for computations +in number theory. +This package contains C API headers for the PARI CAS. + +%prep +%autosetup +# Kill __DATE__ from source, it’s pointless and can cause rebuilds. +sed -i -e 's/__DATE__/"today"/' src/language/paricfg.c +# Set proprer page dimensions +sed -i -e '27 i \\\else\\\pagewidth=11.69in\\\pageheight=8.26in' doc/refmacro.tex +# Don’t build DVI docs +sed -i -e 's/^\(doc all:\) .*/\1/' config/DOC_Make.SH + +%build +./Configure \ + --prefix="%_prefix" \ + --bindir="%_bindir" \ + --includedir="%_includedir" \ + --libdir="%_libdir" \ + --sysdatadir="%_libdir" \ + --datadir="%_datadir/%name" \ + --mt=pthread +%make_build \ + CFLAGS="%optflags -fno-strict-aliasing" \ + STRIP=true \ + all +%make_build \ + PDFTEX=luatex \ + PDFLATEX=lualatex \ + docpdf + +%install +%make_install +install -dm0755 %buildroot%_sysconfdir +install -m0644 misc/gprc.dft %buildroot%_sysconfdir/gprc + +install -dm0755 %buildroot%_defaultdocdir/%name +install -Dm0644 doc/*.pdf %buildroot%_defaultdocdir/%name +rm -rf %buildroot%_datadir/%name/doc +mv %buildroot%_datadir/%name/examples %buildroot%_defaultdocdir/%name + +%ldconfig_scriptlets -n %lname + +%files gp +%doc AUTHORS CHANGES* README* NEW +%config %_sysconfdir/gprc +%_bindir/* +%_datadir/%name +%_libdir/%name.cfg +%_mandir/*/*.1%{?ext_man} + +%files doc +%_defaultdocdir/%name/ + +%files -n %lname +%license COPYING +%_libdir/libpari-gmp-tls.so.%version +%_libdir/libpari-gmp-tls.so.%sover + +%files devel +%_includedir/%name/ +%_libdir/libpari.so + +%changelog