|
Try GP in your browser Main Download Packages Funding SEARCH Help / Community FAQ Documentation Tutorials Mailing Lists Bugs Timeline Ateliers PARI/GP Library Publications Contributed GP scripts Links Fun! Development Latest Changes Version Control Coding Guidelines PariDroid Logo Tests & benchmarks Buildlogs Coverage Report Doc Coverage Refcards test Benchmarks WWW Stats |
Changes commited to PARI GIT during the last two weeksc76aad15cf | Karim Belabas | Fri, 7 Aug 2026 01:05:56 +0200 add a CHANGES entry for numbpart improvements + minor improvement to memory use 1 0 CHANGES 1 1 src/modules/part.c d3f1ee2989 | Karim Belabas | Thu, 6 Aug 2026 12:42:11 +0200 rename L -> SelbergL and compute cosines via roots of unity with caching
- compute cos((6l+1)/(6q) * Pi) as real(r^(1+6l)), r = e(1/(12q))
- compute r^(1+6l) as r^(1+6lastl) * R^d, d = l - last, R = r^6
- compute the successive R^d via a naive addition chain for d, caching
values. N.B. There are few values of d, with collisions, this improves
further on caching the R^d by reusing all powers. One could implement
other improvements, sliding 2^k window or Yao's multipowering,
but d is "small" and almost all the time is spent computing e(1/(12q)).
N.B there's an optimal formula for L(n,q) in terms of the factorization of q.
Not worth the complication for now.
Before:
numbpart(10^7); \\ time = 45 ms.
numbpart(10^8); \\ time = 181 ms.
numbpart(10^9); \\ time = 4,050 ms.
numbpart(10^10);\\ time = 56,031 ms.
numbpart(10^11);\\ time = 54min, 41,505 ms.
After:
numbpart(10^7); \\ time = 43 ms.
numbpart(10^8); \\ time = 147 ms.
numbpart(10^9); \\ time = 1,793 ms.
numbpart(10^10);\\ time = 17,593 ms.
numbpart(10^11);\\ time = 8min, 12,924 ms.
44 15 src/modules/part.c 1c3531c0ce | Karim Belabas | Wed, 5 Aug 2026 23:52:47 +0200 psi: remove unused argument 6 6 src/modules/part.c 790fb8cabc | Karim Belabas | Wed, 5 Aug 2026 20:21:46 +0200 2- abs(t_QUAD) would not return exact answer even if possible For instance abs(3 + 4*I) -> 5 but abs(3 + 4*quadgen(-4)) -> 5.000000000000 Now the latter is 5 as well. 1 0 CHANGES 14 3 src/basemath/gen2.c 11 2 src/functions/transcendental/abs 5 0 src/test/32/quad 5 0 src/test/in/quad e0e0428755 | Karim Belabas | Wed, 5 Aug 2026 14:59:38 +0200 cgetr(realprec()) -> rtor_lg 2 3 src/headers/pariinl.h 52aa2b724e | Karim Belabas | Wed, 5 Aug 2026 11:11:02 +0200 numbpart: reorganize computation + allow n < 2^54 - factor out sqrt(q) term in Psi and sqrt(q/3) in L: avoid square roots and replace full precision multiplication by simple multiplication by q - avoid low precision exponentials: with Selberg formula the neglectible sum is actually 0 - precompute pi / 6*q in L - simplify pinit - rename estim -> log2pn and return a double - bound 10^15 was somewhat arbitrary, increase to 2^54. Both would require hundreds of years to compute using current implementation. Asymptotic complexity remains the same (and bad, more than quadratic in output size instead of almost linear). But 25% improvement for small values, with diminishing returns. Before: numbpart(10^7); \\ time = 54 ms. numbpart(10^8); \\ time = 289 ms. numbpart(10^9); \\ time = 5,841 ms. numbpart(10^10);\\ time = 1min, 11, 975 ms. numbpart(10^11);\\ time = 1h, 9min, 14,433 ms After: numbpart(10^7); \\ time = 45 ms. numbpart(10^8); \\ time = 181 ms. numbpart(10^9); \\ time = 4,050 ms. numbpart(10^10);\\ time = 56,031 ms. numbpart(10^11);\\ time = 54min, 41,505 ms. 6 2 src/functions/combinatorics/numbpart 60 71 src/modules/part.c 4 4 src/test/32/partition 3 1 src/test/in/partition 2aa36b188e | Karim Belabas | Wed, 5 Aug 2026 00:47:19 +0200 fix make test-kernel: link with dummy Z_ispow2 1 0 src/test/dummy.c c6f8509a38 | Karim Belabas | Tue, 4 Aug 2026 16:02:51 +0200 rdivsi, rdivis, rdivss: use cgetg(l, t_REAL) 9 6 src/kernel/none/level1.h b6c7346be6 | Karim Belabas | Tue, 4 Aug 2026 15:48:56 +0200 cgetc: improve + fix doc 2 2 doc/usersch5.tex 5 1 src/headers/pariinl.h 6228332044 | Karim Belabas | Mon, 3 Aug 2026 19:10:11 +0200 update trans bench after commit cb6dca75d7 incgam(4,1,6) incgamm uses 2 more words 1 1 src/test/in/trans b8dbac3ada | Karim Belabas | Mon, 3 Aug 2026 15:01:58 +0200 stack corruption in mplog1p due to lg / prec confusion fixlg argument is a length, not a prec 1 1 src/basemath/trans1.c 87a25cc55c | Karim Belabas | Mon, 3 Aug 2026 14:59:57 +0200 cleanup exp1r_abs 17 16 src/basemath/trans1.c 153ba13d3d | Karim Belabas | Mon, 3 Aug 2026 14:48:00 +0200 rpowuu: cgetr -> cgetg(,t_REAL) 1 2 src/basemath/trans1.c cb6dca75d7 | Karim Belabas | Mon, 3 Aug 2026 11:53:46 +0200 bessel: confusions between lg and prec + 1 => + EXTRAPREC64 5 4 src/basemath/trans3.c eb4f185337 | Karim Belabas | Mon, 3 Aug 2026 03:01:48 +0200 final prec2nbits cleanups 2 3 doc/usersch5.tex 10 10 src/language/sumiter.c f3adb75535 | Karim Belabas | Mon, 3 Aug 2026 02:54:33 +0200 further prec2nbits cleanups 9 9 src/basemath/rootpol.c 8ff2fa6c2a | Karim Belabas | Mon, 3 Aug 2026 01:51:13 +0200 fix bestappr doc and comment in code 4 2 src/basemath/arith1.c 4 1 src/functions/number_theoretical/bestappr f87187a8d7 | Karim Belabas | Mon, 3 Aug 2026 01:36:44 +0200 rootpol.c: prec2nbits cleanups Also fix incorrect paranoia setting in mygprec if (bit < 0) bit = 0 to if (bit < BITS_IN_LONG) bit = BITS_IN_LONG 26 30 src/basemath/rootpol.c 924108c585 | Karim Belabas | Sun, 2 Aug 2026 20:24:51 +0200 simple rewrite of prec2nbits uses (= identity now) 3 4 src/basemath/alglin2.c 12 14 src/basemath/bern.c 15 15 src/basemath/bibli2.c 21 23 src/basemath/elltrans.c 13 14 src/basemath/grossenchar.c 41 45 src/basemath/hypergeom.c 7 6 src/basemath/lambert.c 10 10 src/basemath/lerch.c 4 4 src/basemath/lll.c 20 21 src/basemath/mftrace.c 3 5 src/basemath/random.c 65 82 src/basemath/trans1.c 38 43 src/basemath/trans2.c 71 84 src/basemath/trans3.c 14 16 src/basemath/zetamult.c 739e92e7d0 | Karim Belabas | Sun, 2 Aug 2026 17:27:12 +0200 remove uses of prec2nbits_mul 2 3 src/basemath/bern.c 3 4 src/basemath/bibli1.c 2 3 src/basemath/elliptic.c 3 3 src/basemath/elltrans.c 1 1 src/basemath/hypergeom.c 1 1 src/basemath/mftrace.c 1 1 src/basemath/trans1.c 3 3 src/basemath/trans2.c 11 11 src/basemath/trans3.c bbe394f588 | Karim Belabas | Sun, 2 Aug 2026 16:57:29 +0200 divri: handle divisions by powers of 2 more efficiently + document how to input an exact floating point number (in binary). 8 5 doc/usersch2.tex 1 0 src/kernel/gmp/mp.c 1 0 src/kernel/none/mp.c c4a1f08c05 | Karim Belabas | Sun, 2 Aug 2026 16:43:54 +0200 doc clarifications 9 4 doc/usersch2.tex af824de975 | Karim Belabas | Sun, 2 Aug 2026 16:25:28 +0200 absrtostr_width_frac: confusion between lg / prec [similar to f3d63fab9] 4 4 src/language/es.c 0d95d2cd4b | Karim Belabas | Sun, 2 Aug 2026 16:21:46 +0200 deprecate real_1_bit: use real_1 5 0 CHANGES 1 0 COMPAT 2 5 doc/usersch5.tex 1 1 src/basemath/rootpol.c 2 2 src/basemath/trans1.c 1 1 src/basemath/trans2.c 1 1 src/basemath/trans3.c 0 1 src/headers/paridecl.h 1 0 src/headers/pariold.h 1 1 src/kernel/none/add.c 1 3 src/kernel/none/level1.h 8 8 src/language/sumiter.c dcafa01c45 | Karim Belabas | Sun, 2 Aug 2026 15:56:36 +0200 fix mpatanh: confusion EXTRAPREC64 -> BITS_IN_LONG + wrong exponent bound 2 2 src/basemath/trans2.c e70f794b60 | Karim Belabas | Sun, 2 Aug 2026 15:02:47 +0200 2- [libpari] rename real_0_bit -> real_0_expo The argument is not a bitprec, but an exponent. Inconsistent naming with - real_1_bit (argument is actually a bitpec) - real_0 (argument is actually a prec) And inconsistent semantic with real_0(prec) = real_0_bit(- prec). 1 0 CHANGES 6 0 COMPAT 5 3 doc/usersch5.tex 2 2 src/basemath/bibli2.c 1 1 src/basemath/lfun.c 1 1 src/basemath/mftrace.c 2 2 src/basemath/random.c 9 9 src/basemath/rootpol.c 13 13 src/basemath/trans1.c 8 8 src/basemath/trans2.c 1 1 src/headers/paridecl.h 4 4 src/headers/pariinl.h 2 1 src/headers/pariold.h 2 2 src/kernel/gmp/mp.c 4 4 src/kernel/none/add.c 2 2 src/kernel/none/level1.h 2 2 src/kernel/none/mp.c 11 11 src/kernel/none/mp_indep.c 1 1 src/language/anal.c f3d63fab94 | Karim Belabas | Sun, 2 Aug 2026 13:26:47 +0200 absrtostr: confusion between lg / prec lx = lg(x) was changed to lx = realprec(x) without updating occurences of lx + 1 or lx++ 10 10 src/language/es.c 339e92c4aa | Karim Belabas | Sun, 2 Aug 2026 13:22:54 +0200 fix prec / length confusions 12 10 doc/usersch4.tex 38 22 doc/usersch5.tex 11 10 src/functions/transcendental/HEADER 372585e511 | Karim Belabas | Sun, 2 Aug 2026 12:49:02 +0200 update 32-bit benches (getheap) after 859750f9a EXTRAPRECWORD -> EXTRAPREC64 causes mplog2 to cache a value with one more word of accuracy 1 1 src/test/in/analyz 1 1 src/test/in/elliptic 1 1 src/test/in/number 1 1 src/test/in/polyser 1 1 src/test/in/program 1 1 src/test/in/sumiter c723d5b692 | Karim Belabas | Sun, 2 Aug 2026 01:23:22 +0200 2- [libpari] fractor_lg, itor_lg, rdivii_lg, rtor_lg, stor_lg, utor_lg The experimental change of 'prec' parameter from a word length to a bit precision has created 2 paradigms 'lg' vs. 'prec' and conversions between each all over the code. Both still coexist in ugly ways, with conversions that were introduced to ensure backward compatibility through search and replace. This commit introduces variants of conversion routines accepting 'lg' parameters in case it's available. Goal: avoid direct or indirect uses of consructions like nbits2lg(lg2prec(l)). If we have an 'lg' l we might as well use it. For instance r = cgetr(l, t_REAL); instead of r = cgetr(lg2prec(l)); cgetr doesn't need its full 'prec' parameter and only needs an 'lg' (it performs an nbits2lg on its argument) Or tests comparing lg2prec(lg(x)) against some constant 'prec' where we might as well compare lg(x) with some 'lg'. Design choice: introducing a constant EXTRALG64 = EXTRAPREC64 / BITS_IN_LONG (= 1 or 2) would simplify some code. Don't do this: the default is to use 'prec', unless 'l' is cleaner and more efficient. 1 0 CHANGES 36 13 doc/usersch5.tex 1 1 src/basemath/F2x.c 4 4 src/basemath/trans1.c 18 17 src/basemath/trans2.c 6 0 src/headers/paridecl.h 12 10 src/kernel/none/add.c 27 10 src/kernel/none/level1.h 15 14 src/kernel/none/mp.c 4 4 src/kernel/none/mp_indep.c 6 5 src/language/intnum.c 275fa6f578 | Karim Belabas | Sat, 1 Aug 2026 21:36:22 +0200 typo 1 1 src/basemath/mellininv.c 9aefcc4b5e | Karim Belabas | Sat, 1 Aug 2026 12:44:34 +0200 add proto.c to src/desc/.gitignore 1 0 src/desc/.gitignore 2e69593988 | Karim Belabas | Sat, 1 Aug 2026 12:38:34 +0200 Kderivsmallinit: simplify code 2 6 src/basemath/mellininv.c 859750f9af | Karim Belabas | Sat, 1 Aug 2026 12:33:17 +0200 fix conceptual difference 32/64-bit due to EXTRAPRECWORD/EXTRAPREC64 The logic of EXTRAPRECWORD is to add "a few" guard bits,actually BITS_IN_LONG, to cater for terms bounded by log2(ulong). The logic of incrprec(bit) or bit + EXTRAPREC64 is to do it in an architecture-independent way (add 64 bits no matter what). This commit replaces EXTRAPRECWORD by EXTRAPREC64. The odd speed gain on 32-bit architectures is not worth the lack of consistency and potential for bizarre bugs (further differences in behaviour between 32/64 bits). EXTRAPRECWORD wasn't actually used consistently or frequently (15 occurences) and it wasn't documented. CAVEAT: This is about the precreal ~ bitprec world. A parallel issue in the 'lg' world is lgprec + 1 or lx++ instead of lgprec + EXTRAPREC64 / BITS_IN_LONG This is much more frequent than EXTRAWORD and will be dealt with later. For historical reasons a 'bitprec' is actually a "bit accuracy" whereas a 'prec' is a multiple of BITS_IN_LONG (making the range of attainable precs depend on the architecture. This is an issue: it should be a multiple of 64 always. N.B. It is worth keeping 2 notions of "bit precision" and "mantissa size in words" even though the latter can be inferred from the former. 1 1 src/basemath/base1.c 3 3 src/basemath/dirichlet.c 2 2 src/basemath/ellanal.c 1 1 src/basemath/ellrank.c 1 1 src/basemath/hyperell.c 1 1 src/basemath/mellininv.c 3 3 src/basemath/trans1.c 3 3 src/basemath/trans2.c 0 1 src/headers/parigen.h b07f903357 | Karim Belabas | Sat, 1 Aug 2026 12:09:40 +0200 expQ: fix conceptual bug introduced 499574bea lx++ for t_REAL is achitecture dependent, one should use lx += EXTRAPREC64 / BITS_IN_LONG This occurs elsewhere in the code and will be fixed in other commits. 1 1 src/basemath/trans1.c 0515eb9c0d | Bill Allombert | Sat, 1 Aug 2026 09:41:43 +0200 Replace gerepilecopy by gc_GEN 2 2 src/basemath/buch2.c 1 1 src/basemath/ellanal.c e6893b0017 | Karim Belabas | Fri, 31 Jul 2026 16:16:34 +0200 cleanup zetamult_i 14 10 src/basemath/zetamult.c 499574bea1 | Karim Belabas | Fri, 31 Jul 2026 14:05:08 +0200 cleanup expQ 9 9 src/basemath/trans1.c cc656fc94d | Karim Belabas | Fri, 31 Jul 2026 13:28:07 +0200 update bench after bestappr rewrite (commit 96846c82) 3 3 src/test/32/gchar-lfun 04f8bd7146 | Karim Belabas | Fri, 31 Jul 2026 10:21:16 +0200 inefficient use of cgetr when lg would be available 9 7 src/basemath/lll.c 4 4 src/kernel/none/level1.h 12 7 src/modules/stark.c 0b77482d3c | Karim Belabas | Fri, 31 Jul 2026 09:32:06 +0200 doc typos related to lg <-> prec conversions 10 10 doc/usersch5.tex 0c161c6d5b | Karim Belabas | Fri, 31 Jul 2026 08:51:51 +0200 doc typos 4 5 doc/usersch5.tex a724d4b6fb | Karim Belabas | Fri, 31 Jul 2026 08:38:08 +0200 reorganize block of functions related to lg <-> accuracy conversions 14 10 src/headers/pariinl.h 06ca6d8f23 | Karim Belabas | Fri, 31 Jul 2026 08:35:02 +0200 cleanup logr_abs 14 15 src/basemath/trans1.c 0f5a08ee7e | Karim Belabas | Thu, 30 Jul 2026 18:58:41 +0200 RgM_hess: cleanup prec use 16 15 src/basemath/alglin2.c 724adfc0c7 | Karim Belabas | Thu, 30 Jul 2026 16:33:06 +0200 replace nbits2ndec uses by prec2ndec was always used in precreal context. 1 1 doc/usersch5.tex 1 1 src/basemath/ellanal.c 7 8 src/language/default.c 1 1 src/language/es.c 68fa0d9a3c | Karim Belabas | Thu, 30 Jul 2026 06:33:20 +0200 bestappr_frac: add diagnostic in GC at \gm2 2 1 src/basemath/arith1.c 96846c82da | Karim Belabas | Thu, 30 Jul 2026 05:58:23 +0200 fix bestappr(t_REAL or t_FRAC, B) issues [#2688] - rewrite bestappr_real in terms of bestappr_frac: this allows the accuracy to drop down and is one order of magnitude faster. For instance localbitprec(80000); bestappr(Pi, 2^40000); goes down from 6,242 ms. to 122 ms. - best approximation sometimes missed bestappr(-1/7, 6) -> 0 [instead of -1/6] - bestappr(t_REAL) now choses B = 2^((realprec(x) + 1) \ 2) instead of 2^realprec(x); with the latter value we might as well return the floating point representation of x 4 0 CHANGES 25 99 src/basemath/arith1.c 7 7 src/functions/number_theoretical/bestappr 2 0 src/test/32/bestappr 2 0 src/test/in/bestappr f9bc4fce97 | Karim Belabas | Wed, 29 Jul 2026 23:58:04 +0200 Replace bit_prec uses by realprec. Deprecate the bit_prec alias. 2 0 doc/usersch4.tex 1 1 doc/usersch5.tex 1 1 src/basemath/arith1.c 2 2 src/basemath/bit.c 1 1 src/basemath/buch2.c 1 1 src/basemath/elliptic.c 1 1 src/basemath/gen2.c 1 1 src/basemath/gen3.c 1 1 src/basemath/polarit2.c 1 1 src/basemath/trans1.c 3 3 src/basemath/trans2.c 2 2 src/kernel/none/mp_indep.c 1 1 src/modules/galois.c 203f9043b5 | Karim Belabas | Wed, 29 Jul 2026 21:59:34 +0200 bestappr cleanups - factor out cf_updatepq in bestappr_frac and bestappr_real - add GC in bestappr_frac - fix GC in bestappr_real (x clobbered) 37 11 src/basemath/arith1.c 0f6dd85e94 | Karim Belabas | Wed, 29 Jul 2026 17:39:26 +0200 small improvement to bestappr_real 19 2 src/basemath/arith1.c fedfd442e9 | Karim Belabas | Wed, 29 Jul 2026 17:30:20 +0200 pariold.h: move #ifdef PARI_OLD_NAMES up the list No longer define (by default) aliases for functions obsoleted more than 10 years ago. 3 2 src/headers/pariold.h 151a1b9eec | Karim Belabas | Wed, 29 Jul 2026 17:29:53 +0200 improve isint2n 3 2 src/kernel/none/halfgcd.c 963965ee3f | Karim Belabas | Tue, 28 Jul 2026 18:55:05 +0200 bestappr_real: add GC + restrict variable scopes 12 6 src/basemath/arith1.c 55b74c51e9 | Karim Belabas | Tue, 28 Jul 2026 03:56:41 +0200 update NEW for 2.19-stable 181 195 NEW 4caa8d9631 | Karim Belabas | Mon, 27 Jul 2026 22:51:23 +0200 doc glitches 3 3 src/functions/number_fields/idealhnf 740b82eb39 | Karim Belabas | Mon, 27 Jul 2026 21:35:10 +0200 document QM_ishnf 2 0 CHANGES 3 0 doc/usersch5.tex 7cf3fffaa6 | Karim Belabas | Mon, 27 Jul 2026 19:30:55 +0200 cleanup idealhnf use - fix typo in vec_mulid - clarify in idealhnf doc that idempotent usage (where input is already in HNF) is *not* deprecated. We deprecate other non-trivial "vector of generators" use in favor of idealfromgens - uniformize "idempotent" usage in libpari: first idealtyp, then idealhnf if not already a t_MAT - make sure idealhnf recognize matrix in HNF also over the rationals 18 0 src/basemath/ZV.c 16 11 src/basemath/base4.c 23 2 src/basemath/base5.c 14 5 src/functions/number_fields/idealhnf 1 0 src/headers/paridecl.h be6d0086f4 | Karim Belabas | Mon, 27 Jul 2026 18:38:07 +0200 idealhnf: clarify doc 17 19 src/functions/number_fields/idealhnf 5e123083c2 | Karim Belabas | Mon, 27 Jul 2026 18:19:13 +0200 typo in vec_mulid: the code was inteded to skip x[i] if D | x[i] 3 3 src/basemath/base4.c 8 1 src/test/32/ideal 1 0 src/test/in/ideal 5665e3cb49 | Karim Belabas | Mon, 27 Jul 2026 17:51:58 +0200 hyperellchangecurve doc: switch confusing notations (x,y) <-> (X,Y) 4 4 src/functions/elliptic_curves/hyperellchangecurve d9511af8f2 | Karim Belabas | Mon, 27 Jul 2026 17:47:42 +0200 hyperell* docs: add a reference to hyperellchange curve whenever a "change of coordinates" is mentioned and not explained 1 1 src/functions/elliptic_curves/hyperellauto 2 1 src/functions/elliptic_curves/hyperellchangecompose 3 2 src/functions/elliptic_curves/hyperellchangecurve 2 1 src/functions/elliptic_curves/hyperellchangeinvert 1 1 src/functions/elliptic_curves/hyperellchangepoint 1 1 src/functions/elliptic_curves/hyperellchangepointinv 1 1 src/functions/elliptic_curves/hyperellisisom f39d8d5183 | Bill Allombert | Mon, 27 Jul 2026 17:06:46 +0200 examples: openmp, thread: force compilation error if ENABLE_TLS is not set. 4 0 examples/openmp.c 4 0 examples/thread.c 281a64004d | Karim Belabas | Mon, 27 Jul 2026 15:59:28 +0200 ellmaninconstant: add reference to Cremona's explanation https://johncremona.github.io/ecdata/manin.txt 1 0 src/functions/elliptic_curves/ellmaninconstant 09afde53b0 | Karim Belabas | Mon, 27 Jul 2026 15:47:35 +0200 ellmaninconstant: minor simplification 3 3 src/basemath/ellisog.c 222d7c911d | Karim Belabas | Mon, 27 Jul 2026 11:52:16 +0200 kill underfull hboxes 8 6 doc/refcard-mf.tex 2e010fc7dc | Karim Belabas | Mon, 27 Jul 2026 11:12:50 +0200 impove doc, kill overfull hbox 10 11 doc/usersch5.tex 7d789df024 | Karim Belabas | Mon, 27 Jul 2026 02:30:10 +0200 doc improvement 2 2 src/functions/number_fields/HEADER d9162bac08 | Karim Belabas | Sat, 25 Jul 2026 18:24:09 +0200 improve ellheegner doc 8 9 src/functions/elliptic_curves/ellheegner cb8bee5726 | Bill Allombert | Sat, 25 Jul 2026 17:01:42 +0200 doc:ellheegner: mention ellheegnertwist 10 1 src/functions/elliptic_curves/ellheegner 0b99b01842 | Karim Belabas | Sat, 25 Jul 2026 16:24:04 +0200 fix comment: reference stable version where function is obsoleted 1 1 src/headers/pariold.h 89c4d54ba6 | Bill Allombert | Fri, 24 Jul 2026 22:46:00 +0200 Bump date to 2026 2 2 README 1 1 doc/INSTALL.tex 1 1 doc/gp.1 1 1 doc/gphelp.1 1 1 src/gp/gp.c 903d7f05df | Bill Allombert | Fri, 24 Jul 2026 22:42:44 +0200 Bump version to 2.19.0 3 0 CHANGES 2 2 config/version 1 1 doc/refmacro.tex 1 1 src/test/32/version 3cac3c6d3d | Karim Belabas | Fri, 24 Jul 2026 15:13:00 +0200 add parmatrix 6 6 doc/refcard.tex 3dde52b618 | Karim Belabas | Fri, 24 Jul 2026 12:03:30 +0200 expIPiR: don't call absrnz_equal2n on 0.0 15 10 src/basemath/elltrans.c 95e3b72995 | Bill Allombert | Fri, 24 Jul 2026 03:27:34 +0200 upowers: compute powers x^0 to x^n as documented 2 2 src/basemath/trans1.c 276ac9432e | Karim Belabas | Fri, 24 Jul 2026 02:05:47 +0200 GCOVFLAGS: add -fprofile-update=atomic 1 1 config/get_cc 0aee740429 | Karim Belabas | Fri, 24 Jul 2026 02:00:21 +0200 expIPiC: typo, expo(z) => expo(x) 1 1 src/basemath/elltrans.c |
PARI/GP Development
Last Modified: 2025-11-17 10:46:31
Copyleft © 2003-2025
the PARI group.