PARI/GP

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 weeks


36f124dbd4 | Karim Belabas | Fri, 21 Aug 2026 13:14:48 +0200
bound_for_coeff: wrong computation of Mahler measure

confusion between nf.roots (modulo complex conjugation) and initgaloisborne
(all complex roots).

+ avoid squares computations
47	19	src/basemath/subfield.c

d9430aae80 | Karim Belabas | Fri, 21 Aug 2026 13:12:49 +0200
whitespace edits
3	0	src/test/in/subfields

e8805c12b8 | Karim Belabas | Fri, 21 Aug 2026 03:18:23 +0200
update nffactor bench

memory use increased a bit after fix in nf_L2_bound (commit 9500460624)
2	2	src/test/32/nffactor
1	1	src/test/in/nffactor

3178a70558 | Karim Belabas | Thu, 20 Aug 2026 18:37:37 +0200
cleanup make_M_G
6	5	src/basemath/base1.c

1767114d17 | Karim Belabas | Thu, 20 Aug 2026 12:07:52 +0200
fix comment
1	1	src/basemath/rootpol.c

81cb85a2f3 | Karim Belabas | Thu, 20 Aug 2026 02:47:28 +0200
improve programming and transcendental HEADERs
10	1	src/functions/programming/HEADER
26	27	src/functions/transcendental/HEADER

b50ee10c07 | Karim Belabas | Wed, 19 Aug 2026 17:16:22 +0200
OS X -> macOS
5	5	doc/INSTALL.tex

26c30be8e2 | Karim Belabas | Wed, 19 Aug 2026 16:54:00 +0200
move graphic functions right after GP programming in ?*
20	20	doc/translations
1	1	src/desc/doc_make
3	2	src/desc/gen_proto
1	1	src/language/gplib.c
20	20	src/test/32/help

4fca71ebd7 | Karim Belabas | Wed, 19 Aug 2026 16:44:45 +0200
rewrite ??23 (graphic functions)
52	49	src/functions/graphic/HEADER

1b789e93de | Karim Belabas | Wed, 19 Aug 2026 12:47:24 +0200
whitespace edit
1	1	src/language/gplib.c

000e29b84b | Karim Belabas | Wed, 19 Aug 2026 12:09:23 +0200
whitespace edits
9	20	src/basemath/lll.c

52ac1301fc | Karim Belabas | Wed, 19 Aug 2026 12:03:04 +0200
fix comment
3	3	src/basemath/lll.c

2fa7cac687 | Karim Belabas | Wed, 19 Aug 2026 02:54:26 +0200
rewrite and fix logint(t_REAL B,y)

- untested branch when e>= 2^50 confused lg and realprec
- floor(log(B) / log(y)) may be "wrong"
- replace B by exact truncation (assuming IEEE 754 semantic, i.e, B is exact)
8	21	src/basemath/ispower.c

6578411193 | Karim Belabas | Tue, 18 Aug 2026 18:53:18 +0200
cleanup uses of ndec2nbits

use in sd_realprecision was semantically incorrect (the result is used
as a prec)
1	1	src/language/default.c
1	1	src/language/eval.c

4e79bdb2f2 | Karim Belabas | Tue, 18 Aug 2026 18:41:50 +0200
cleanup absrtstr: fix yet another "prec + 1" issue
5	14	src/language/es.c

ff4397e86e | Karim Belabas | Tue, 18 Aug 2026 18:34:30 +0200
no longer use nbits2extraprec
7	8	src/basemath/mftrace.c

1cbc298dec | Karim Belabas | Tue, 18 Aug 2026 18:34:10 +0200
update doc
19	14	doc/usersch5.tex

03faeded6a | Karim Belabas | Tue, 18 Aug 2026 12:40:23 +0200
cleanup nbits2extraprec use

+ fix overkill in ellnfembed (4b instead of intended 3b)
3	4	src/basemath/elliptic.c
3	3	src/basemath/mftrace.c
1	1	src/basemath/nffactor.c
1	1	src/language/intnum.c

6a08752dda | Karim Belabas | Tue, 18 Aug 2026 11:39:13 +0200
typo in precCOMPLEX rewrite (max -> min)
2	2	src/basemath/gen3.c

0fccba0f42 | Karim Belabas | Tue, 18 Aug 2026 11:26:17 +0200
cleanup nbits2extraprec uses
14	14	src/basemath/hypergeom.c
2	2	src/basemath/lfun.c
1	1	src/basemath/mellininv.c

19b901de84 | Karim Belabas | Tue, 18 Aug 2026 02:21:57 +0200
cleanup uses of nbits2extraprec
1	1	src/basemath/gen1.c
12	22	src/basemath/gen3.c

a4c8e34138 | Karim Belabas | Tue, 18 Aug 2026 02:03:20 +0200
cleanup nbits2extraprec use
1	1	src/basemath/bibli1.c
1	1	src/basemath/elliptic.c
2	2	src/basemath/elltrans.c
14	19	src/basemath/grossenchar.c

9376014207 | Karim Belabas | Tue, 18 Aug 2026 01:49:16 +0200
lfunqf: fix SEGV on BIB.

raise exception if M is not invertible
1	0	src/basemath/lfunutils.c
4	1	src/test/32/lfun
1	0	src/test/in/lfun

7759d1a60c | Karim Belabas | Tue, 18 Aug 2026 01:30:10 +0200
buchall_param: cleanup use of PREC

wasn't always a prec (missing nbits2prec and prec + 1 confusion)
13	11	src/basemath/buch2.c

509e2597a5 | Karim Belabas | Mon, 17 Aug 2026 23:47:32 +0200
cleanup nbits2extraprec uses
5	5	src/basemath/buch2.c

c004243bc1 | Karim Belabas | Mon, 17 Aug 2026 23:34:16 +0200
simplify nfeltembed_i stopping criterion + set 'single' in parse_embed
21	21	src/basemath/base3.c

30bcba58b2 | Karim Belabas | Mon, 17 Aug 2026 21:52:26 +0200
cleanup nbits2extraprec uses
2	2	src/basemath/base1.c
4	4	src/basemath/base3.c

828a07b370 | Karim Belabas | Mon, 17 Aug 2026 19:24:46 +0200
cleanup nbits2extraprec use, including actual typo in incgam0 ("prec + 1")
6	6	src/basemath/trans1.c
45	45	src/basemath/trans3.c
3	3	src/modules/galois.c
1	1	src/modules/thue.c

57fcd8b07f | Karim Belabas | Mon, 17 Aug 2026 18:13:48 +0200
?* fix 2 section names
2	2	src/language/gplib.c
2	2	src/test/32/help

f400b683f9 | Karim Belabas | Mon, 17 Aug 2026 14:27:14 +0200
5- allow lfunqf(t_VEC) for lfunqf(matdiagonal(...))

+ improve / fix related docs
1	0	CHANGES
5	1	src/basemath/lfunutils.c
6	8	src/functions/l_functions/lfundual
6	6	src/functions/l_functions/lfunqf
1	1	src/test/in/lfuntype

da20fb8752 | Karim Belabas | Mon, 17 Aug 2026 13:48:40 +0200
support \A for Adèles
1	1	doc/gphelp.in

66701c2aa6 | Karim Belabas | Mon, 17 Aug 2026 10:32:47 +0200
trans[12].c: cleanup nbits2extraprec uses
2	2	src/basemath/trans1.c
9	9	src/basemath/trans2.c

91c1425a46 | Karim Belabas | Mon, 17 Aug 2026 04:29:01 +0200
stark.c: cleanup bit precision use
5	7	src/modules/stark.c

caa0bd28e7 | Karim Belabas | Mon, 17 Aug 2026 03:37:40 +0200
initgaloisborne: avoid square roots
3	2	src/basemath/galconj.c

ee4fa9e192 | Karim Belabas | Mon, 17 Aug 2026 02:53:46 +0200
cleanup nbits2prec uses
1	2	src/basemath/galconj.c
2	2	src/basemath/ifactor1.c
1	1	src/basemath/lfun.c
1	1	src/basemath/subfield.c
3	3	src/basemath/trans1.c
2	2	src/kernel/none/add.c
1	1	src/language/anal.c
1	1	src/language/intnum.c

9500460624 | Karim Belabas | Mon, 17 Aug 2026 02:51:03 +0200
nf_L2_bound: missing bit_accuracy
2	1	src/basemath/nffactor.c

5ec50b57a3 | Karim Belabas | Mon, 17 Aug 2026 01:24:54 +0200
typo in consteuler: adding EXTRAPREC64 twice
5	7	src/basemath/trans1.c
1	1	src/test/in/elliptic
1	1	src/test/in/number

524254f5c5 | Karim Belabas | Mon, 17 Aug 2026 00:48:20 +0200
cleanup bit accuracy use in trigonometric + exp/log functions

+ type b + 1 for b + EXTRAPREC64 in mplog1p
68	72	src/basemath/trans1.c
6	5	src/basemath/trans2.c

d55af86c88 | Karim Belabas | Sun, 16 Aug 2026 23:28:11 +0200
rewrite mpatan with proper handling of bit accuracy

+ replace LOWDEFAULTPREC + EXTRAPREC64 by MEDDEFAULTPREC
+ replace l1 += nbits2xtraprec(dvmdsBIL(s - e, &s) * BITS_IN_LONG)
  by prec1 = nbits2prec(prec0 + (i-n-1)*e)
+ better variable names (never use 'l' for a 'prec'; l is for lg)
+ comments
48	43	src/basemath/trans2.c

090a3127d0 | Karim Belabas | Sun, 16 Aug 2026 11:31:13 +0200
don't use variable name matching 'l.*' for a 'prec'
2	2	src/basemath/trans1.c
10	10	src/basemath/trans2.c

a503804d42 | Karim Belabas | Sun, 16 Aug 2026 02:33:36 +0200
mpsinh: lx -> prec
4	4	src/basemath/trans2.c

5e0eabf055 | Karim Belabas | Sun, 16 Aug 2026 02:32:33 +0200
cgetr -> cgetg(,t_REAL)
2	1	src/basemath/buch1.c

e832da8e2a | Karim Belabas | Sun, 16 Aug 2026 02:05:08 +0200
zbrent: remove useless bit0
3	3	src/language/sumiter.c

2f0d7d8382 | Karim Belabas | Sun, 16 Aug 2026 02:02:57 +0200
cgetr -> cgetg(,t_REAL)
4	4	src/basemath/trans3.c

9ce8776831 | Karim Belabas | Sat, 15 Aug 2026 21:50:47 +0200
cgetr -> cgetg(l, t_REAL)
9	9	src/basemath/zetamult.c

f87866be7d | Karim Belabas | Sat, 15 Aug 2026 21:45:41 +0200
nflist: simplify error message
2	2	src/basemath/nflist.c
11	11	src/test/32/nflist

26b8d55ba9 | Karim Belabas | Sat, 15 Aug 2026 21:24:26 +0200
add HEADERS for the new sections
167	0	src/functions/number_fields_galois/HEADER
110	0	src/functions/number_fields_relative/HEADER

cf3c327f00 | Karim Belabas | Sat, 15 Aug 2026 21:23:41 +0200
new help sections number_fields_galois and number_fields_relative
3	2	doc/gphelp.in
10	8	doc/translations
2	0	src/desc/doc_make
2	0	src/desc/gen_proto
117	426	src/functions/number_fields/HEADER
88	10	src/functions/number_fields/bnfinit
1	1	src/functions/{number_fields => number_fields_galois}/bnrL1
1	1	src/functions/{number_fields => number_fields_galois}/bnrchar
1	1	src/functions/{number_fields => number_fields_galois}/bnrclassfield
1	1	src/functions/{number_fields => number_fields_galois}/bnrclassno
1	1	src/functions/{number_fields => number_fields_galois}/bnrclassnolist
1	1	src/functions/{number_fields => number_fields_galois}/bnrcompositum
1	1	src/functions/{number_fields => number_fields_galois}/bnrconductor
1	1	src/functions/{number_fields => number_fields_galois}/bnrconductorofchar
1	1	src/functions/{number_fields => number_fields_galois}/bnrdisc
1	1	src/functions/{number_fields => number_fields_galois}/bnrdisclist
1	1	src/functions/{number_fields => number_fields_galois}/bnrgaloisapply
1	1	src/functions/{number_fields => number_fields_galois}/bnrgaloismatrix
1	1	src/functions/{number_fields => number_fields_galois}/bnrinit
1	1	src/functions/{number_fields => number_fields_galois}/bnrisconductor
1	1	src/functions/{number_fields => number_fields_galois}/bnrisgalois
1	1	src/functions/{number_fields => number_fields_galois}/bnrisprincipal
1	1	src/functions/{number_fields => number_fields_galois}/bnrmap
1	1	src/functions/{number_fields => number_fields_galois}/bnrrootnumber
1	1	src/functions/{number_fields => number_fields_galois}/bnrstark
1	1	src/functions/{number_fields => number_fields_galois}/bnrstarkunit
1	1	src/functions/{number_fields => number_fields_galois}/galoischardet
1	1	src/functions/{number_fields => number_fields_galois}/galoischarpoly
1	1	src/functions/{number_fields => number_fields_galois}/galoischartable
1	1	src/functions/{number_fields => number_fields_galois}/galoisconjclasses
1	1	src/functions/{number_fields => number_fields_galois}/galoisexport
1	1	src/functions/{number_fields => number_fields_galois}/galoisfixedfield
1	1	src/functions/{number_fields => number_fields_galois}/galoisgetgroup
1	1	src/functions/{number_fields => number_fields_galois}/galoisgetname
1	1	src/functions/{number_fields => number_fields_galois}/galoisgetpol
1	1	src/functions/{number_fields => number_fields_galois}/galoisidentify
1	1	src/functions/{number_fields => number_fields_galois}/galoisinit
1	1	src/functions/{number_fields => number_fields_galois}/galoisisabelian
1	1	src/functions/{number_fields => number_fields_galois}/galoisisnormal
1	1	src/functions/{number_fields => number_fields_galois}/galoispermtopol
1	1	src/functions/{number_fields => number_fields_galois}/galoissplittinginit
1	1	src/functions/{number_fields => number_fields_galois}/galoissubcyclo
1	1	src/functions/{number_fields => number_fields_galois}/galoissubfields
1	1	src/functions/{number_fields => number_fields_galois}/galoissubgroups
1	1	src/functions/{number_fields => number_fields_galois}/gcharalgebraic
1	1	src/functions/{number_fields => number_fields_galois}/gcharconductor
1	1	src/functions/{number_fields => number_fields_galois}/gcharduallog
1	1	src/functions/{number_fields => number_fields_galois}/gchareval
1	1	src/functions/{number_fields => number_fields_galois}/gcharidentify
1	1	src/functions/{number_fields => number_fields_galois}/gcharinit
1	1	src/functions/{number_fields => number_fields_galois}/gcharisalgebraic
1	1	src/functions/{number_fields => number_fields_galois}/gcharlocal
1	1	src/functions/{number_fields => number_fields_galois}/gcharlog
1	1	src/functions/{number_fields => number_fields_galois}/gcharnewprec
1	1	src/functions/{number_fields => number_fields_galois}/nfgrunwaldwang
1	1	src/functions/{number_fields => number_fields_galois}/nflist
1	1	src/functions/{number_fields => number_fields_galois}/nfresolvent
1	1	src/functions/{number_fields => number_fields_galois}/subcyclohminus
1	1	src/functions/{number_fields => number_fields_galois}/subcycloiwasawa
1	1	src/functions/{number_fields => number_fields_galois}/subcyclopclgp
1	1	src/functions/{number_fields => number_fields_relative}/nfdetint
1	1	src/functions/{number_fields => number_fields_relative}/nfhnf
1	1	src/functions/{number_fields => number_fields_relative}/nfhnfmod
1	1	src/functions/{number_fields => number_fields_relative}/nfsnf
1	1	src/functions/{number_fields => number_fields_relative}/rnfalgtobasis
1	1	src/functions/{number_fields => number_fields_relative}/rnfbasis
1	1	src/functions/{number_fields => number_fields_relative}/rnfbasistoalg
1	1	src/functions/{number_fields => number_fields_relative}/rnfcharpoly
1	1	src/functions/{number_fields => number_fields_relative}/rnfconductor
1	1	src/functions/{number_fields => number_fields_relative}/rnfdedekind
1	1	src/functions/{number_fields => number_fields_relative}/rnfdet
1	1	src/functions/{number_fields => number_fields_relative}/rnfdisc
1	1	src/functions/{number_fields => number_fields_relative}/rnfeltabstorel
1	1	src/functions/{number_fields => number_fields_relative}/rnfeltdown
1	1	src/functions/{number_fields => number_fields_relative}/rnfeltnorm
1	1	src/functions/{number_fields => number_fields_relative}/rnfeltreltoabs
1	1	src/functions/{number_fields => number_fields_relative}/rnfelttrace
1	1	src/functions/{number_fields => number_fields_relative}/rnfeltup
1	1	src/functions/{number_fields => number_fields_relative}/rnfequation
1	1	src/functions/{number_fields => number_fields_relative}/rnfhnfbasis
1	1	src/functions/{number_fields => number_fields_relative}/rnfidealabstorel
1	1	src/functions/{number_fields => number_fields_relative}/rnfidealdown
1	1	src/functions/{number_fields => number_fields_relative}/rnfidealfactor
1	1	src/functions/{number_fields => number_fields_relative}/rnfidealhnf
1	1	src/functions/{number_fields => number_fields_relative}/rnfidealmul
1	1	src/functions/{number_fields => number_fields_relative}/rnfidealnormabs
1	1	src/functions/{number_fields => number_fields_relative}/rnfidealnormrel
1	1	src/functions/{number_fields => number_fields_relative}/rnfidealprimedec
1	1	src/functions/{number_fields => number_fields_relative}/rnfidealreltoabs
1	1	src/functions/{number_fields => number_fields_relative}/rnfidealtwoelt
1	1	src/functions/{number_fields => number_fields_relative}/rnfidealup
1	1	src/functions/{number_fields => number_fields_relative}/rnfinit
1	1	src/functions/{number_fields => number_fields_relative}/rnfisabelian
1	1	src/functions/{number_fields => number_fields_relative}/rnfisfree
1	1	src/functions/{number_fields => number_fields_relative}/rnfislocalcyclo
1	1	src/functions/{number_fields => number_fields_relative}/rnfisnorm
1	1	src/functions/{number_fields => number_fields_relative}/rnfisnorminit
1	1	src/functions/{number_fields => number_fields_relative}/rnfkummer
1	1	src/functions/{number_fields => number_fields_relative}/rnflllgram
1	1	src/functions/{number_fields => number_fields_relative}/rnfnormgroup
1	1	src/functions/{number_fields => number_fields_relative}/rnfpolred
0	0	src/functions/{number_fields => number_fields_relative}/rnfpolredabs
0	0	src/functions/{number_fields => number_fields_relative}/rnfpolredbest
0	0	src/functions/{number_fields => number_fields_relative}/rnfpseudobasis
0	0	src/functions/{number_fields => number_fields_relative}/rnfsteinitz
2	0	src/language/gplib.c
11	9	src/test/32/help

d8b6685d7b | Karim Belabas | Sat, 15 Aug 2026 00:45:26 +0200
improve HEADER for number_theoretical
1	1	doc/translations
26	15	src/functions/number_theoretical/HEADER

9c100a31d1 | Karim Belabas | Fri, 14 Aug 2026 21:39:51 +0200
move kronecker to znstar section
1	1	src/functions/{number_theoretical => znstar}/kronecker

0cc2e9a5c1 | Karim Belabas | Fri, 14 Aug 2026 17:22:42 +0200
update tutorial
7	13	doc/tutorial.tex

776ac5dc5d | Karim Belabas | Fri, 14 Aug 2026 15:51:45 +0200
doc updates
15	12	doc/tutorial.tex
2	1	src/functions/number_theoretical/HEADER
2	2	src/functions/number_theoretical/qfbclassno
6	3	src/functions/znstar/zncoppersmith

c5fa3329ef | Karim Belabas | Fri, 14 Aug 2026 13:56:49 +0200
add znstar HEADER
0	36	src/functions/number_theoretical/HEADER
123	0	src/functions/znstar/HEADER

fe488e7ab0 | Karim Belabas | Fri, 14 Aug 2026 13:47:54 +0200
4- znorder: allow a znstar for the 'order' optional argument
1	0	CHANGES
12	2	src/basemath/arith1.c
15	0	src/basemath/bb_group.c
26	0	src/functions/znstar/znorder
7	1	src/test/32/zn
4	0	src/test/in/zn

6a2012cd8f | Karim Belabas | Fri, 14 Aug 2026 11:15:21 +0200
newhelp section: znstar, split (Z/NZ)^* functions from number_theoretical
14	13	doc/translations
1	0	src/desc/doc_make
1	0	src/desc/gen_proto
0	76	src/functions/number_theoretical/HEADER
1	1	src/functions/{number_theoretical => znstar}/charconj
1	1	src/functions/{number_theoretical => znstar}/chardiv
1	1	src/functions/{number_theoretical => znstar}/chareval
1	1	src/functions/{number_theoretical => znstar}/chargalois
1	1	src/functions/{number_theoretical => znstar}/charker
1	1	src/functions/{number_theoretical => znstar}/charmul
1	1	src/functions/{number_theoretical => znstar}/charorder
1	1	src/functions/{number_theoretical => znstar}/charpow
1	1	src/functions/{number_theoretical => znstar}/znchar
1	1	src/functions/{number_theoretical => znstar}/zncharconductor
1	1	src/functions/{number_theoretical => znstar}/znchardecompose
1	1	src/functions/{number_theoretical => znstar}/znchargauss
1	1	src/functions/{number_theoretical => znstar}/zncharinduce
1	1	src/functions/{number_theoretical => znstar}/zncharisodd
1	1	src/functions/{number_theoretical => znstar}/znchartokronecker
1	1	src/functions/{number_theoretical => znstar}/znchartoprimitive
1	1	src/functions/{number_theoretical => znstar}/znconreychar
1	1	src/functions/{number_theoretical => znstar}/znconreyconductor
1	1	src/functions/{number_theoretical => znstar}/znconreyexp
1	1	src/functions/{number_theoretical => znstar}/znconreylog
1	1	src/functions/{number_theoretical => znstar}/zncoppersmith
1	1	src/functions/{number_theoretical => znstar}/znlog
1	1	src/functions/{number_theoretical => znstar}/znorder
1	1	src/functions/{number_theoretical => znstar}/znprimroot
1	1	src/functions/{number_theoretical => znstar}/znstar
1	1	src/functions/{number_theoretical => znstar}/znsubgroupgenerators
1	0	src/language/gplib.c
15	14	src/test/32/help

0db10915e4 | Karim Belabas | Thu, 13 Aug 2026 17:26:32 +0200
3- [libpari] ZX_realroots

+ fix docs
+ refactor common code in realroots / ZX_realroots_irred
1	0	CHANGES
12	8	doc/usersch5.tex
2	4	src/basemath/base1.c
53	46	src/basemath/rootpol.c
1	0	src/headers/paridecl.h

fc88931078 | Karim Belabas | Thu, 13 Aug 2026 12:18:47 +0200
5- Don't assume irreducibility in polred, polredabs, polredbest [#2689]

The routines could break in presence of rational roots in the totally
real case. E.g., polredbest(x^3-2*x+1) -> SEGV
3	0	CHANGES
30	32	src/basemath/base1.c
7	5	src/functions/number_fields/polred
13	7	src/functions/number_fields/polredabs
11	5	src/functions/number_fields/polredbest
3	4	src/test/32/polred
5	3	src/test/in/polred

dfbd7a6155 | Karim Belabas | Thu, 13 Aug 2026 11:34:55 +0200
improve doc
4	3	doc/usersch5.tex

f33871d4bb | Karim Belabas | Wed, 12 Aug 2026 16:03:30 +0200
fix 'help' bench
1	1	doc/translations
1	1	src/functions/programming/HEADER
8	7	src/test/32/help

d8b5a4a5c8 | Karim Belabas | Wed, 12 Aug 2026 15:35:24 +0200
help gphtml
3	2	src/functions/elliptic_curves/ellheegner

08c0485f03 | Karim Belabas | Wed, 12 Aug 2026 15:08:44 +0200
Add section hyperelliptic_curves
6	5	doc/translations
1	0	src/desc/doc_make
2	1	src/desc/gen_proto
12	0	src/functions/hyperelliptic_curves/HEADER
1	1	src/functions/{elliptic_curves => hyperelliptic_curves}/genus2charpoly
1	1	src/functions/{elliptic_curves => hyperelliptic_curves}/genus2igusa
1	1	src/functions/{elliptic_curves => hyperelliptic_curves}/genus2red
1	1	src/functions/{elliptic_curves => hyperelliptic_curves}/hyperellauto
1	1	src/functions/{elliptic_curves => hyperelliptic_curves}/hyperellchangecompose
1	1	src/functions/{elliptic_curves => hyperelliptic_curves}/hyperellchangecurve
1	1	src/functions/{elliptic_curves => hyperelliptic_curves}/hyperellchangeinvert
1	1	src/functions/{elliptic_curves => hyperelliptic_curves}/hyperellchangepoint
1	1	src/functions/{elliptic_curves => hyperelliptic_curves}/hyperellchangepointinv
1	1	src/functions/{elliptic_curves => hyperelliptic_curves}/hyperellcharpoly
1	1	src/functions/{elliptic_curves => hyperelliptic_curves}/hyperelldisc
1	1	src/functions/{elliptic_curves => hyperelliptic_curves}/hyperellextremalmodels
1	1	src/functions/{elliptic_curves => hyperelliptic_curves}/hyperellisisom
1	1	src/functions/{elliptic_curves => hyperelliptic_curves}/hyperellisoncurve
1	1	src/functions/{elliptic_curves => hyperelliptic_curves}/hyperellminimaldisc
1	1	src/functions/{elliptic_curves => hyperelliptic_curves}/hyperellminimalmodel
1	1	src/functions/{elliptic_curves => hyperelliptic_curves}/hyperellordinate
1	1	src/functions/{elliptic_curves => hyperelliptic_curves}/hyperellpadicfrobenius
1	1	src/functions/{elliptic_curves => hyperelliptic_curves}/hyperellperiods
1	1	src/functions/{elliptic_curves => hyperelliptic_curves}/hyperellratpoints
1	1	src/functions/{elliptic_curves => hyperelliptic_curves}/hyperellred
2	1	src/language/gplib.c

8cf5def227 | Karim Belabas | Wed, 12 Aug 2026 12:45:13 +0200
whitespace edit
1	1	src/language/gplib.c

9100b25396 | Karim Belabas | Wed, 12 Aug 2026 12:42:39 +0200
fix 'help' bench
27	28	src/test/32/help
1	1	src/test/in/help

5bcb594db5 | Karim Belabas | Wed, 12 Aug 2026 11:44:46 +0200
make ?? 7 more useful (add GHELPskip markers)

avoid truncation at first subsection
3	4	src/functions/number_theoretical/HEADER
1	1	src/functions/number_theoretical/chargalois

8b09daa257 | Karim Belabas | Wed, 12 Aug 2026 10:46:27 +0200
move "chinese" to 'operators' directory

corresponding to its new 'Section'
0	0	src/functions/{number_theoretical => operators}/chinese

78fc9b3177 | Karim Belabas | Wed, 12 Aug 2026 03:48:51 +0200
kill warnings about signedness
2	2	src/language/es.c
1	1	src/language/gplib.c
1	1	src/language/readline.c

c84ff1bfdd | Karim Belabas | Wed, 12 Aug 2026 02:38:32 +0200
update 'help' bench
18	27	src/test/32/help
1	1	src/test/in/help

440e198da1 | Karim Belabas | Wed, 12 Aug 2026 02:22:51 +0200
split the ?1 help section in 3, as in GP's manual

control statements + GP specific functions + parallel programming

Fewer functions in each sections, more consistent, and allows ??1, ??2, ??3
to print meaningful introductions
18	16	doc/translations
5	7	src/desc/gen_proto
3	1	src/language/gplib.c

5baba0d7dd | Karim Belabas | Wed, 12 Aug 2026 02:12:23 +0200
improve doc
14	7	src/functions/programming/HEADER

cc56aac88b | Karim Belabas | Wed, 12 Aug 2026 01:08:40 +0200
'?' now prints a short introduction + move list of help sections to '?*'
2	0	CHANGES
2	0	COMPAT
1	1	doc/usersch2.tex
39	22	src/language/gplib.c

c738409dce | Karim Belabas | Tue, 11 Aug 2026 16:32:06 +0200
move functions related to the Euclidean algorithm to the "operators" section

Treat "gcd" (and variants) as as operator: all these functions apply
equally to Z or K[X] (where K is a general field), they fit better here
than among "arithmetic functions".

Also improves content balance between help sections.
2	1	src/functions/number_theoretical/HEADER
1	1	src/functions/number_theoretical/chinese
6	0	src/functions/operators/HEADER
1	1	src/functions/{number_theoretical => operators}/bestappr
1	1	src/functions/{number_theoretical => operators}/bestapprPade
1	1	src/functions/{number_theoretical => operators}/bestapprnf
1	1	src/functions/{number_theoretical => operators}/bezout
1	1	src/functions/{number_theoretical => operators}/content
1	1	src/functions/{number_theoretical => operators}/contfrac
1	1	src/functions/{number_theoretical => operators}/contfracpnqn
1	1	src/functions/{number_theoretical => operators}/gcd
1	1	src/functions/{number_theoretical => operators}/gcdext
1	1	src/functions/{number_theoretical => operators}/halfgcd
1	1	src/functions/{number_theoretical => operators}/lcm

9a584ccf79 | Karim Belabas | Mon, 10 Aug 2026 19:25:09 +0200
better document \h: now also include information on defaults
7	7	doc/usersch2.tex
3	3	src/language/gplib.c
1	1	src/test/32/help

b601f3d754 | Karim Belabas | Mon, 10 Aug 2026 19:04:20 +0200
separate uses of functions_hash and defaults_hash and reduce collisions

1) don't use the same functions_tblsz for both tables. Their sizes
   become functions_hash_MASK + 1 and defaults_hash_MASK + 1

2) make both sizes a power of 2: same number of collisions and cheaper
to convert hash to bucket number (reduce mod a power of 2).

3) functions_hash size was 135. With 1403 built-in symbols,
functions_hash had lots of collisions: up to 23 symbols per bucket on
startup with gp -f, see \h-. Increase size to 8192; now max is initially 3
(which occurs 10 times). This should scale OK up to 6000 symbols or so.

4) defaults_hash size was 135. Reduce to 128 (10 buckets contain 2 entries).
This one is static and the first size with 0 collisions is 1024.
Not worth it ...
4	2	src/headers/paripriv.h
16	16	src/language/anal.c
2	2	src/language/anal.h
3	2	src/language/default.c
29	26	src/language/es.c
1	1	src/language/eval.c
26	7	src/language/gplib.c
13	9	src/language/init.c
5	5	src/language/readline.c

31f609923f | Karim Belabas | Mon, 10 Aug 2026 18:17:01 +0200
doc typo
1	1	doc/usersch5.tex

5b9cd79ad0 | Karim Belabas | Mon, 10 Aug 2026 16:10:51 +0200
print_functions_hash: rewrite diagostics \h- and \h for larger tables

- 3 times as many entries per line
- add total/max to \h-
- add indexmax to both
14	12	src/language/es.c

aacb62fded | Karim Belabas | Mon, 10 Aug 2026 12:50:43 +0200
\h: also print the hash realizing the (first) maximum
5	5	src/language/es.c

6c646ad209 | Karim Belabas | Sun, 9 Aug 2026 17:26:46 +0200
fix ?? 7
1	1	doc/translations

763f35d9fe | Karim Belabas | Sun, 9 Aug 2026 01:13:14 +0200
divisorslenstra: add complexity
2	1	src/functions/number_theoretical/divisorslenstra



PARI/GP Development
Last Modified: 2025-11-17 10:46:31
Copyleft © 2003-2025 the PARI group.