|
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 weeksb6c21bfeb4 | Karim Belabas | Fri, 25 Sep 2026 22:48:43 +0200 10- factorpadic(1+O(3)*x^2,3,2) -> SEGV [#2701] Original analysis and patch by Johan Mercedes 1 0 CHANGES 4 4 src/basemath/polarit1.c 8 1 src/test/32/padic 5 0 src/test/in/padic 9ba226efa7 | Bill Allombert | Fri, 25 Sep 2026 17:33:03 +0200 polsubcyclofast(8,4) and (16,4): wrong result 4 4 src/basemath/nflist.c 4 2 src/test/32/subcyclo 1 0 src/test/in/subcyclo 202940de4f | Karim Belabas | Fri, 25 Sep 2026 16:10:03 +0200 restore ndec2prec, deprecate ndec2nbits instead 1 1 CHANGES 1 1 COMPAT 32 21 doc/usersch5.tex 1 1 src/basemath/bibli2.c 1 1 src/functions/gp2c_internal/_prec 1 1 src/headers/paridecl.h 1 1 src/headers/pariinl.h 1 1 src/headers/pariold.h 2 2 src/language/default.c 2 2 src/language/es.c 1 1 src/language/eval.c 07d90f5f5b | Bill Allombert | Fri, 25 Sep 2026 10:16:48 +0200 polsubcycloC4_i: remove argument fli which is always 1 12 12 src/basemath/nflist.c 00f707ce3f | Bill Allombert | Thu, 24 Sep 2026 21:33:42 +0200 groupelts_cnteq: missing vecsmall_sort [#2700] 238 237 src/modules/groupid.c b53016c7f1 | Bill Allombert | Thu, 24 Sep 2026 15:45:32 +0200 polsubcyclofast(52,4,,1) -> [] 2 2 src/basemath/nflist.c 2 1 src/test/32/subcyclo 1 0 src/test/in/subcyclo b3d2e13ad9 | Bill Allombert | Thu, 24 Sep 2026 14:27:15 +0200 polsubcyclofast(58,7) -> [] 1 0 CHANGES 1 1 src/basemath/nflist.c 2 1 src/test/32/subcyclo 1 0 src/test/in/subcyclo eee4dd2756 | Karim Belabas | Wed, 23 Sep 2026 00:28:34 +0200 move nbits2prec call to prec_fix chk_gen_prec also needs it 2 1 src/basemath/base1.c 754cb31ac0 | Bill Allombert | Wed, 23 Sep 2026 00:18:16 +0200 OCprecreal: restore compatibility by using OCbitprecreal 3 3 src/language/compile.c 4 2 src/language/eval.c 1 1 src/test/32/fingerprint ba89936898 | Bill Allombert | Tue, 22 Sep 2026 23:41:02 +0200 ellisomat: revert to kernel poly after a division by 0 1 0 CHANGES 110 30 src/basemath/ellisog.c 14 1 src/test/32/ellisomat 3 0 src/test/in/ellisomat afbb4055a8 | Bill Allombert | Tue, 22 Sep 2026 23:41:02 +0200 elkies98: move up 43 43 src/basemath/ellisog.c c590007ffa | Bill Allombert | Tue, 22 Sep 2026 23:41:02 +0200 New libpari function divisors_fact_degmax 2 0 CHANGES 4 0 doc/usersch5.tex 38 0 src/basemath/arith2.c 1 0 src/headers/paridecl.h 5713f66aea | Karim Belabas | Tue, 22 Sep 2026 23:17:17 +0200 restore the OCbitprecreal opcode Full backward compatibility is not possible since the OCbitprecreal and OCprecreal opcodes now behave identically, but it didn't use to be the case. This still improves compatibility: the compiler can no longer generate that opcode, but the evaluator will still interpret it. Older gp reading newly compiled code will behave differently than current evaluator. 5 0 src/language/eval.c 2 1 src/language/opcode.h 56ad7371ae | Karim Belabas | Tue, 22 Sep 2026 20:31:11 +0200 remove the OCbitprecreal opcode and deprecate the 'b' prototype code + p (OCprecreal) has now the same semantics. 'b' is still accepted, for backward compatibility but no longer documented. + Remove/rename the functions push_localprec -> push_localbitprec, pop_localprec -> pop_localbitprec, get_localprec -> get_localbitprec. They all correspond to localbitprec() uses, number of bits rather than decimal digits. 1 1 CHANGES 12 17 doc/develop.tex 1 3 doc/usersch5.tex 4 4 src/basemath/lfunutils.c 1 1 src/functions/elliptic_curves/ellL1 1 1 src/functions/elliptic_curves/ellanalyticrank 1 1 src/functions/hypergeometric_motives/lfunhgm 1 1 src/functions/l_functions/lfun 1 1 src/functions/l_functions/lfunartin 1 1 src/functions/l_functions/lfuncheckfeq 1 1 src/functions/l_functions/lfunconductor 1 1 src/functions/l_functions/lfuncost 1 1 src/functions/l_functions/lfundiv 1 1 src/functions/l_functions/lfundual 1 1 src/functions/l_functions/lfunhardy 1 1 src/functions/l_functions/lfuninit 1 1 src/functions/l_functions/lfunlambda 1 1 src/functions/l_functions/lfunmfspec 1 1 src/functions/l_functions/lfunmul 1 1 src/functions/l_functions/lfunorderzero 1 1 src/functions/l_functions/lfunrootres 1 1 src/functions/l_functions/lfunshift 1 1 src/functions/l_functions/lfuntheta 1 1 src/functions/l_functions/lfunthetacost 1 1 src/functions/l_functions/lfunthetainit 1 1 src/functions/l_functions/lfuntwist 1 1 src/functions/l_functions/lfunzeros 1 1 src/functions/modular_forms/lfunmf 1 1 src/functions/modular_forms/mfcuspval 1 1 src/functions/modular_forms/mfeval 1 1 src/functions/modular_forms/mfmanin 1 1 src/functions/modular_forms/mfperiodpol 1 1 src/functions/modular_forms/mfsymbol 1 1 src/functions/modular_forms/mfsymboleval 1 1 src/functions/programming/getlocalbitprec 1 1 src/functions/sums/intnumromb 1 1 src/functions/sums/suminf 1 1 src/functions/transcendental/besseljzero 1 1 src/functions/transcendental/besselyzero 1 1 src/functions/transcendental/gammamellininv 1 1 src/functions/transcendental/gammamellininvinit 1 1 src/functions/transcendental/zetahurwitz 1 1 src/functions/znstar/znchargauss 1 3 src/headers/paridecl.h 1 1 src/language/anal.c 2 6 src/language/compile.c 12 24 src/language/eval.c 1 2 src/language/opcode.h 2 2 src/language/sumiter.c 818da3a405 | Karim Belabas | Tue, 22 Sep 2026 20:31:09 +0200 deprecate functions related to the old 'prec' concept 10 0 CHANGES 9 0 COMPAT 2 2 doc/usersch4.tex 3 3 doc/usersch5.tex 1 1 src/basemath/base1.c 1 1 src/basemath/bibli2.c 1 1 src/basemath/ellanal.c 1 1 src/basemath/mellininv.c 2 2 src/basemath/trans1.c 3 3 src/basemath/trans2.c 0 4 src/headers/pariinl.h 1 1 src/kernel/gmp/mp.c 4 4 src/kernel/none/mp_indep.c 6 6 src/language/default.c 3 3 src/language/es.c 3 3 src/language/eval.c 7 7 src/language/intnum.c 1 1 src/modules/stark.c 8f2f859c6b | Karim Belabas | Tue, 22 Sep 2026 20:31:07 +0200 remove neutralized nbits2prec uses, rename nbits2prec_required -> nbits2prec 2 4 doc/usersch5.tex 1 1 src/basemath/Qfb.c 1 1 src/basemath/arith1.c 3 3 src/basemath/base1.c 1 1 src/basemath/base3.c 22 25 src/basemath/bern.c 2 6 src/basemath/bibli1.c 1 1 src/basemath/bnfunits.c 1 1 src/basemath/buch1.c 10 10 src/basemath/buch2.c 8 10 src/basemath/ellanal.c 3 3 src/basemath/elliptic.c 1 1 src/basemath/ellrank.c 7 7 src/basemath/elltrans.c 3 3 src/basemath/gen1.c 10 12 src/basemath/gen3.c 11 11 src/basemath/grossenchar.c 7 7 src/basemath/hgm.c 1 1 src/basemath/hyperell.c 4 4 src/basemath/hypergeom.c 6 7 src/basemath/lambert.c 32 33 src/basemath/lerch.c 148 165 src/basemath/lfun.c 16 19 src/basemath/lfunlarge.c 6 7 src/basemath/lfunquad.c 29 35 src/basemath/lfunutils.c 1 1 src/basemath/lll.c 14 15 src/basemath/mellininv.c 85 91 src/basemath/mftrace.c 3 4 src/basemath/nffactor.c 29 34 src/basemath/rootpol.c 42 43 src/basemath/trans1.c 13 13 src/basemath/trans2.c 34 46 src/basemath/trans3.c 6 7 src/basemath/zetamult.c 0 6 src/headers/paridecl.h 3 17 src/headers/pariinl.h 6 0 src/headers/pariold.h 0 2 src/kernel/none/level1.h 2 2 src/language/eval.c 33 33 src/language/intnum.c 8 9 src/language/sumiter.c 6 6 src/modules/galois.c 5 6 src/modules/part.c 1 2 src/modules/ratpoints.c 5 5 src/modules/stark.c 3 4 src/modules/thue.c 0 2 src/test/dummy.c 76d766bcbe | Karim Belabas | Tue, 22 Sep 2026 20:31:06 +0200 improve explanation of t_REAL precisions 4 2 doc/usersch2.tex 22 17 doc/usersch4.tex 36 40 doc/usersch5.tex 12 20 src/functions/transcendental/HEADER 567715f74e | Karim Belabas | Tue, 22 Sep 2026 20:31:04 +0200 neutralize nbits2prec This temporary commit allows abitrary nbits in the interface of public functions (the notion of 'prec' as a multiple of BITS_IN_LONG disappears). Introduce a temporary internal function nbits2prec_required for the limited uses where we must indeed replace an nbits by the next multiple of BITS_IN_LONG. Namely all constxxx functions caching a t_REAL constant: the cache mechanism compares the required bit precision with the maximal bit precision of the cached constant. So the actual bit precision of the constant (e.g., gpi) *must* be equal to its maximal precision. In a followup commit, all remaining nbits2prec are removed and nbits2prec_required is renamed nbits2prec. The main issue with nbits2prec was (incorrect) double rounding as in nbits2prec(a) + nbits2extraprec(b). instead of the correct nbits2prec(a + b) It also conflicts with the general goal of choosing an arbitrary bit accuracy b, which is important when the complexity is not polynomial in b. After the present commit, using a + b should be fine in all cases where nbits2prec_required was not used. Many functions still compute with the maximal accuracy allowed by a t_REAL length (a multiple of BITS_IN_LONG), but it is no longer an interface requirement. 2 3 src/basemath/base1.c 5 3 src/basemath/trans1.c 2 1 src/basemath/trans3.c 4 1 src/headers/pariinl.h 1 1 src/test/32/algebras 1 1 src/test/32/modfun 1 1 src/test/32/nfields 110e2bfa61 | Bill Allombert | Mon, 21 Sep 2026 21:43:51 +0200 group_identify: add supprt for groups of order <=191 1 0 CHANGES 1 1 src/functions/number_fields_galois/galoisidentify 677 337 src/modules/groupid.c 290c27562e | Bill Allombert | Mon, 21 Sep 2026 21:43:38 +0200 doc: group_ident{,_trans}: parameter elts was removed
4 6 doc/usersch5.tex f55adbee70 | Bill Allombert | Mon, 21 Sep 2026 20:47:54 +0200 groupelts_to_group: when not wss, return elts instead of NULL 1 0 CHANGES 1 0 COMPAT 1 2 doc/usersch5.tex 9 11 src/basemath/galconj.c 14 14 src/basemath/perm.c c8736fc329 | Bill Allombert | Mon, 21 Sep 2026 18:10:54 +0200 New libpari function group_iswss 1 1 CHANGES 5 0 doc/usersch5.tex 14 14 src/basemath/perm.c 1 0 src/headers/paridecl.h bf169fd0a0 | Karim Belabas | Sun, 20 Sep 2026 12:48:11 +0200 7- matmodhnf: incorrect handling of empty matrix [#2699] 1 0 CHANGES 1 1 src/basemath/ZV.c 6 0 src/test/32/matmodhnf 10 2 src/test/in/matmodhnf 9397d772d8 | Karim Belabas | Sun, 13 Sep 2026 15:40:48 +0200 lfunlage: add 64 bits to target bitprecision in set_q_value
lfunlarge is heuristic and has been
tested in low accuracy and high height. It loses accuracy as
bitprecision increases.
{
Z = lfuninit(1, []);
for(b=32, oo,
localbitprec(b);
e = exponent(lfunhardy(Z, 2)-lfunhardy(1,2)) + b;
if (e> 0, print([b, e])))
}
All values are imprecise when bitprecision in [111,127], and from 146 on.
Experimentally, e tends to infinity.
This patch doesn't fix the true issue, loss of accuracy now occurs
from bitprecision = 176 on.
6 4 src/basemath/lfunlarge.c |
PARI/GP Development
Last Modified: 2025-11-17 10:46:31
Copyleft © 2003-2025
the PARI group.