Ilya Zakharevich on Wed, 23 Sep 1998 21:38:49 -0400 (EDT)


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Fixing valence of PARI functions


This patch makes all valences to have unique correspondence
  valence ===> code
outside of valence==0 and valence==99.  I would do the same for valence==0,
but the comment several rows below stops me.  Should I proceed?

This is not important for GP (valences are ignored now) but may be
important for calling functions from a compiled high-level language -
the constant reparsing of the ep->code may slow down things
significantly.  (Perl interface to PARI is actively using valences.)

Enjoy,
Ilya

P.S.  This patch does not change anything but ep->valence.  I think it
      is a minimal possible intervention which satisfies the above
      property.

--- ./src/language/init.c~	Fri Sep 11 21:12:30 1998
+++ ./src/language/init.c	Tue Sep 22 00:01:00 1998
@@ -1208,2 +1208,5 @@ Str0(char *s) { return strtoGEN(s, strle
  * Valence 0 reserved for functions without mandatory args.
+ * Valence 99 reserved for codes which do not correspond 1-to-1 to valences.
+ * Any other valence (what to do with 0?) should correspond to exactly
+ *  one code.
  */
@@ -1220,3 +1223,3 @@ entree functions_basic[]={
 {"Polrev",14,(void*)gtopolyrev,2,"GDn"},
-{"Qfb",3,(void*)Qfb0,2,"GGGDGp"},
+{"Qfb",99,(void*)Qfb0,2,"GGGDGp"},
 {"Ser",14,(void*)gtoser,2,"GDn"},
@@ -1229,5 +1232,5 @@ entree functions_basic[]={
 {"addprimes",0,(void*)addprimes,4,"D[],G,"},
-{"agm",2,(void*)agm,3,"GGp"},
-{"algdep",23,(void*)algdep0,8,"GLD0,L,p"},
-{"alias",2,(void*)alias0,11,"vrr"},
+{"agm",29,(void*)agm,3,"GGp"},
+{"algdep",99,(void*)algdep0,8,"GLD0,L,p"},
+{"alias",99,(void*)alias0,11,"vrr"},
 {"arg",1,(void*)garg,3,"Gp"},
@@ -1238,6 +1241,6 @@ entree functions_basic[]={
 {"bernfrac",11,(void*)bernfrac,3,"L"},
-{"bernreal",11,(void*)bernreal,3,"Lp"},
+{"bernreal",99,(void*)bernreal,3,"Lp"},
 {"bernvec",11,(void*)bernvec,3,"L"},
-{"besseljh",2,(void*)jbesselh,3,"GGp"},
-{"besselk",2,(void*)kbessel0,3,"GGD0,L,p"},
+{"besseljh",29,(void*)jbesselh,3,"GGp"},
+{"besselk",99,(void*)kbessel0,3,"GGD0,L,p"},
 {"bestappr",2,(void*)bestappr,4,"GG"},
@@ -1245,4 +1248,4 @@ entree functions_basic[]={
 {"bezoutres",2,(void*)vecbezoutres,4,"GG"},
-{"bigomega",1,(void*)gbigomega,4,"G"},
-{"binary",1,(void*)binaire,2,"G"},
+{"bigomega",18,(void*)gbigomega,4,"G"},
+{"binary",18,(void*)binaire,2,"G"},
 {"binomial",21,(void*)binome,4,"GL"},
@@ -1250,18 +1253,18 @@ entree functions_basic[]={
 {"bnfcertify",10,(void*)certifybuchall,6,"Gl"},
-{"bnfclassunit",1,(void*)bnfclassunit0,6,"GD0,L,DGp"},
-{"bnfclgp",1,(void*)classgrouponly,6,"GDGp"},
+{"bnfclassunit",99,(void*)bnfclassunit0,6,"GD0,L,DGp"},
+{"bnfclgp",99,(void*)classgrouponly,6,"GDGp"},
 {"bnfdecodemodule",2,(void*)decodemodule,6,"GG"},
 {"bnfinit",91,(void*)bnfinit0,6,"GD0,L,DGp"},
-{"bnfisintnorm",3,(void*)bnfisintnorm,6,"GG"},
-{"bnfisnorm",3,(void*)bnfisnorm,6,"GGD1,L,p"},
-{"bnfisprincipal",2,(void*)isprincipalall,6,"GGD1,L,"},
-{"bnfissunit",2,(void*)bnfissunit,6,"GGG"},
+{"bnfisintnorm",99,(void*)bnfisintnorm,6,"GG"},
+{"bnfisnorm",99,(void*)bnfisnorm,6,"GGD1,L,p"},
+{"bnfisprincipal",99,(void*)isprincipalall,6,"GGD1,L,"},
+{"bnfissunit",99,(void*)bnfissunit,6,"GGG"},
 {"bnfisunit",2,(void*)isunit,6,"GG"},
 {"bnfmake",1,(void*)bnfmake,6,"Gp"},
-{"bnfnarrow",91,(void*)buchnarrow,6,"G"},
-{"bnfreg",1,(void*)regulator,6,"GDGp"},
-{"bnfsignunit",1,(void*)signunits,6,"G"},
-{"bnfsunit",1,(void*)bnfsunit,6,"GGp"},
+{"bnfnarrow",18,(void*)buchnarrow,6,"G"},
+{"bnfreg",99,(void*)regulator,6,"GDGp"},
+{"bnfsignunit",18,(void*)signunits,6,"G"},
+{"bnfsunit",99,(void*)bnfsunit,6,"GGp"},
 {"bnfunit",1,(void*)buchfu,6,"Gp"},
-{"bnrclass",2,(void*)bnrclass0,6,"GGD0,L,p"},
+{"bnrclass",99,(void*)bnrclass0,6,"GGD0,L,p"},
 {"bnrclassno",2,(void*)rayclassno,6,"GG"},
@@ -1269,25 +1272,25 @@ entree functions_basic[]={
 {"bnrconductor",62,(void*)bnrconductor,6,"GD0,G,D0,G,D0,L,p"},
-{"bnrconductorofchar",2,(void*)bnrconductorofchar,6,"GGp"},
+{"bnrconductorofchar",29,(void*)bnrconductorofchar,6,"GGp"},
 {"bnrdisc",62,(void*)bnrdisc0,6,"GD0,G,D0,G,D0,L,p"},
-{"bnrdisclist",32,(void*)bnrdisclist0,6,"GGD0,G,D0,L,"},
-{"bnrinit",2,(void*)bnrinit0,6,"GGD0,L,p"},
-{"bnrisconductor",62,(void*)bnrisconductor,6,"GD0,G,D0,G,pl"},
-{"bnrisprincipal",2,(void*)isprincipalrayall,6,"GGD1,L,"},
-{"bnrrootnumber",2,(void*)bnrrootnumber,6,"GGD0,L,p"},
-{"bnrstark",3,(void*)bnrstark,6,"GGD0,L,p"},
+{"bnrdisclist",99,(void*)bnrdisclist0,6,"GGD0,G,D0,L,"},
+{"bnrinit",99,(void*)bnrinit0,6,"GGD0,L,p"},
+{"bnrisconductor",99,(void*)bnrisconductor,6,"GD0,G,D0,G,pl"},
+{"bnrisprincipal",99,(void*)isprincipalrayall,6,"GGD1,L,"},
+{"bnrrootnumber",99,(void*)bnrrootnumber,6,"GGD0,L,p"},
+{"bnrstark",99,(void*)bnrstark,6,"GGD0,L,p"},
 {"break",0,(void*)break0,11,"vD1,L,"},
-{"ceil",1,(void*)gceil,2,"G"},
-{"centerlift",1,(void*)centerlift0,2,"GDn"},
+{"ceil",18,(void*)gceil,2,"G"},
+{"centerlift",99,(void*)centerlift0,2,"GDn"},
 {"changevar",2,(void*)changevar,2,"GG"},
-{"charpoly",14,(void*)charpoly0,8,"GDnD0,L,"},
+{"charpoly",99,(void*)charpoly0,8,"GDnD0,L,"},
 {"chinese",2,(void*)chinois,4,"GG"},
 {"component",21,(void*)compo,2,"GL"},
-{"concat",2,(void*)concat,8,"GDG"},
-{"conj",1,(void*)gconj,2,"G"},
+{"concat",99,(void*)concat,8,"GDG"},
+{"conj",18,(void*)gconj,2,"G"},
 {"conjvec",1,(void*)conjvec,2,"Gp"},
-{"content",1,(void*)content,4,"G"},
-{"contfrac",1,(void*)sfcont0,4,"GD0,G,D0,L,"},
-{"contfracpnqn",1,(void*)pnqn,4,"G"},
-{"core",1,(void*)core0,4,"GD0,L,"},
-{"coredisc",1,(void*)coredisc0,4,"GD0,L,"},
+{"content",18,(void*)content,4,"G"},
+{"contfrac",99,(void*)sfcont0,4,"GD0,G,D0,L,"},
+{"contfracpnqn",18,(void*)pnqn,4,"G"},
+{"core",99,(void*)core0,4,"GD0,L,"},
+{"coredisc",99,(void*)coredisc0,4,"GD0,L,"},
 {"cos",1,(void*)gcos,3,"Gp"},
@@ -1295,3 +1298,3 @@ entree functions_basic[]={
 {"cotan",1,(void*)gcotan,3,"Gp"},
-{"denominator",1,(void*)denom,2,"G"},
+{"denominator",18,(void*)denom,2,"G"},
 {"deriv",14,(void*)deriv,7,"GDn"},
@@ -1299,6 +1302,6 @@ entree functions_basic[]={
 {"dirdiv",2,(void*)dirdiv,7,"GG"},
-{"direuler",83,(void*)direuler,7,"V=GGI"},
+{"direuler",99,(void*)direuler,7,"V=GGI"},
 {"dirmul",2,(void*)dirmul,7,"GG"},
 {"dirzetak",2,(void*)dirzetak,6,"GG"},
-{"divisors",1,(void*)divisors,4,"G"},
+{"divisors",18,(void*)divisors,4,"G"},
 {"divrem",2,(void*)gdiventres,1,"GG"},
@@ -1308,10 +1311,10 @@ entree functions_basic[]={
 {"ellan",23,(void*)anell,5,"GL"},
-{"ellap",2,(void*)ellap0,5,"GGD0,L,"},
-{"ellbil",3,(void*)bilhell,5,"GGGp"},
+{"ellap",25,(void*)ellap0,5,"GGD0,L,"},
+{"ellbil",99,(void*)bilhell,5,"GGGp"},
 {"ellchangecurve",2,(void*)coordch,5,"GG"},
 {"ellchangepoint",2,(void*)pointch,5,"GG"},
-{"ellglobalred",1,(void*)globalreduction,5,"G"},
-{"ellheight",2,(void*)ellheight0,5,"GGD0,L,p"},
-{"ellheightmatrix",2,(void*)mathell,5,"GGp"},
-{"ellinit",1,(void*)ellinit0,5,"GD0,L,p"},
+{"ellglobalred",18,(void*)globalreduction,5,"G"},
+{"ellheight",99,(void*)ellheight0,5,"GGD0,L,p"},
+{"ellheightmatrix",29,(void*)mathell,5,"GGp"},
+{"ellinit",99,(void*)ellinit0,5,"GD0,L,p"},
 {"ellisoncurve",20,(void*)oncurve,5,"GGl"},
@@ -1319,32 +1322,32 @@ entree functions_basic[]={
 {"elllocalred",2,(void*)localreduction,5,"GG"},
-{"elllseries",4,(void*)lseriesell,5,"GGDGp"},
+{"elllseries",99,(void*)lseriesell,5,"GGDGp"},
 {"ellorder",2,(void*)orderell,5,"GG"},
-{"ellordinate",2,(void*)ordell,5,"GGp"},
-{"ellpointtoz",2,(void*)zell,5,"GGp"},
-{"ellpow",3,(void*)powell,5,"GGGp"},
-{"ellrootno",2,(void*)ellrootno,5,"GD1,G,l"},
-{"ellsub",3,(void*)subell,5,"GGGp"},
+{"ellordinate",29,(void*)ordell,5,"GGp"},
+{"ellpointtoz",29,(void*)zell,5,"GGp"},
+{"ellpow",99,(void*)powell,5,"GGGp"},
+{"ellrootno",99,(void*)ellrootno,5,"GD1,G,l"},
+{"ellsub",99,(void*)subell,5,"GGGp"},
 {"elltaniyama",1,(void*)taniyama,5,"Gp"},
 {"elltors",1,(void*)torsell,5,"Gp"},
-{"ellwp",1,(void*)weipell,5,"GP"},
-{"ellztopoint",2,(void*)pointell,5,"GGp"},
+{"ellwp",99,(void*)weipell,5,"GP"},
+{"ellztopoint",29,(void*)pointell,5,"GGp"},
 {"erfc",1,(void*)gerfc,3,"Gp"},
-{"eta",1,(void*)eta0,3,"GD0,L,p"},
-{"eulerphi",1,(void*)gphi,4,"G"},
-{"eval",1,(void*)geval,7,"G"},
+{"eta",99,(void*)eta0,3,"GD0,L,p"},
+{"eulerphi",18,(void*)gphi,4,"G"},
+{"eval",18,(void*)geval,7,"G"},
 {"exp",1,(void*)gexp,3,"Gp"},
-{"factor",1,(void*)factor0,4,"GD-1,L,"},
-{"factorback",1,(void*)factorback,4,"GDG"},
+{"factor",99,(void*)factor0,4,"GD-1,L,"},
+{"factorback",99,(void*)factorback,4,"GDG"},
 {"factorcantor",2,(void*)factcantor,4,"GG"},
 {"factorff",3,(void*)factmod9,4,"GGG"},
-{"factorial",11,(void*)mpfactr,4,"Lp"},
-{"factorint",1,(void*)factorint,4,"GD0,L,"},
-{"factormod",2,(void*)factormod0,4,"GGD0,L,"},
+{"factorial",99,(void*)mpfactr,4,"Lp"},
+{"factorint",99,(void*)factorint,4,"GD0,L,"},
+{"factormod",25,(void*)factormod0,4,"GGD0,L,"},
 {"factornf",2,(void*)polfnf,6,"GG"},
-{"factorpadic",32,(void*)factorpadic0,7,"GGLD0,L,"},
-{"ffinit",21,(void*)ffinit,4,"GLDn"},
+{"factorpadic",99,(void*)factorpadic0,7,"GGLD0,L,"},
+{"ffinit",99,(void*)ffinit,4,"GLDn"},
 {"fibonacci",11,(void*)fibo,4,"L"},
-{"floor",1,(void*)gfloor,2,"G"},
+{"floor",18,(void*)gfloor,2,"G"},
 {"for",83,(void*)forpari,11,"vV=GGI"},
-{"fordiv",84,(void*)fordiv,11,"GVI"},
+{"fordiv",84,(void*)fordiv,11,"vGVI"},
 {"forprime",83,(void*)forprime,11,"vV=GGI"},
@@ -1352,6 +1355,6 @@ entree functions_basic[]={
 {"forvec",87,(void*)forvec,11,"vV=GID0,L,"},
-{"frac",1,(void*)gfrac,2,"G"},
+{"frac",18,(void*)gfrac,2,"G"},
 {"gamma",1,(void*)ggamma,3,"Gp"},
 {"gammah",1,(void*)ggamd,3,"Gp"},
-{"gcd",2,(void*)gcd0,4,"GGD0,L,"},
+{"gcd",25,(void*)gcd0,4,"GGD0,L,"},
 {"getheap",0,(void*)getheap,11,""},
@@ -1360,63 +1363,63 @@ entree functions_basic[]={
 {"gettime",0,(void*)gettime,11,""},
-{"hilbert",30,(void*)hil0,4,"GGDGl"},
-{"hyperu",3,(void*)hyperu,3,"GGGp"},
+{"hilbert",99,(void*)hil0,4,"GGDGl"},
+{"hyperu",99,(void*)hyperu,3,"GGGp"},
 {"idealadd",3,(void*)idealadd,6,"GGG"},
-{"idealaddtoone",3,(void*)idealaddtoone0,6,"GGDG"},
-{"idealappr",2,(void*)idealappr0,6,"GGD0,L,"},
+{"idealaddtoone",99,(void*)idealaddtoone0,6,"GGDG"},
+{"idealappr",25,(void*)idealappr0,6,"GGD0,L,"},
 {"idealchinese",3,(void*)idealchinese,6,"GGG"},
 {"idealcoprime",3,(void*)idealcoprime,6,"GGG"},
-{"idealdiv",3,(void*)idealdiv0,6,"GGGD0,L,"},
+{"idealdiv",99,(void*)idealdiv0,6,"GGGD0,L,"},
 {"idealfactor",2,(void*)idealfactor,6,"GG"},
-{"idealhnf",2,(void*)idealhnf0,6,"GGDG"},
+{"idealhnf",99,(void*)idealhnf0,6,"GGDG"},
 {"idealintersect",3,(void*)idealintersect,6,"GGG"},
-{"idealinv",2,(void*)idealinv0,6,"GGD0,L,"},
-{"ideallist",21,(void*)ideallist0,6,"GLD4,L,"},
-{"ideallistarch",3,(void*)ideallistarch0,6,"GGDGD0,L,"},
-{"ideallog",3,(void*)zideallog,6,"GGGp"},
-{"idealmin",3,(void*)minideal,6,"GGGp"},
-{"idealmul",3,(void*)idealmul0,6,"GGGD0,L,p"},
+{"idealinv",25,(void*)idealinv0,6,"GGD0,L,"},
+{"ideallist",99,(void*)ideallist0,6,"GLD4,L,"},
+{"ideallistarch",99,(void*)ideallistarch0,6,"GGDGD0,L,"},
+{"ideallog",99,(void*)zideallog,6,"GGGp"},
+{"idealmin",99,(void*)minideal,6,"GGGp"},
+{"idealmul",99,(void*)idealmul0,6,"GGGD0,L,p"},
 {"idealnorm",2,(void*)idealnorm,6,"GG"},
-{"idealpow",3,(void*)idealpow0,6,"GGGD0,L,p"},
-{"idealprimedec",2,(void*)primedec,6,"GGp"},
+{"idealpow",99,(void*)idealpow0,6,"GGGD0,L,p"},
+{"idealprimedec",29,(void*)primedec,6,"GGp"},
 {"idealprincipal",2,(void*)principalideal,6,"GG"},
-{"idealred",3,(void*)ideallllred,6,"GGD0,G,p"},
-{"idealstar",2,(void*)idealstar0,6,"GGD1,L,"},
-{"idealtwoelt",2,(void*)ideal_two_elt0,6,"GGDG"},
+{"idealred",99,(void*)ideallllred,6,"GGD0,G,p"},
+{"idealstar",99,(void*)idealstar0,6,"GGD1,L,"},
+{"idealtwoelt",99,(void*)ideal_two_elt0,6,"GGDG"},
 {"idealval",30,(void*)idealval,6,"GGGl"},
-{"ideleprincipal",2,(void*)principalidele,6,"GGp"},
+{"ideleprincipal",29,(void*)principalidele,6,"GGp"},
 {"if",80,NULL,11,NULL},
-{"imag",1,(void*)gimag,2,"G"},
-{"incgam",2,(void*)incgam0,3,"GGD0,G,p"},
-{"incgamc",2,(void*)incgam3,3,"GGp"},
+{"imag",18,(void*)gimag,2,"G"},
+{"incgam",99,(void*)incgam0,3,"GGD0,G,p"},
+{"incgamc",29,(void*)incgam3,3,"GGp"},
 {"intformal",14,(void*)integ,7,"GDn"},
-{"intnum",37,(void*)intnum0,9,"V=GGID0,L,p"},
-{"isfundamental",1,(void*)gisfundamental,4,"G"},
-{"isprime",1,(void*)gisprime,4,"G"},
-{"ispseudoprime",1,(void*)gispsp,4,"G"},
-{"issquare",1,(void*)gcarreparfait,4,"G"},
-{"issquarefree",1,(void*)gissquarefree,4,"G"},
+{"intnum",99,(void*)intnum0,9,"V=GGID0,L,p"},
+{"isfundamental",18,(void*)gisfundamental,4,"G"},
+{"isprime",18,(void*)gisprime,4,"G"},
+{"ispseudoprime",18,(void*)gispsp,4,"G"},
+{"issquare",18,(void*)gcarreparfait,4,"G"},
+{"issquarefree",18,(void*)gissquarefree,4,"G"},
 {"kronecker",2,(void*)gkronecker,4,"GG"},
 {"lcm",2,(void*)glcm,4,"GG"},
-{"length",1,(void*)glength,2,"G"},
+{"length",18,(void*)glength,2,"G"},
 {"lex",20,(void*)lexcmp,2,"GGl"},
-{"lift",1,(void*)lift0,2,"GDn"},
-{"lindep",1,(void*)lindep0,8,"GD0,L,p"},
+{"lift",99,(void*)lift0,2,"GDn"},
+{"lindep",99,(void*)lindep0,8,"GD0,L,p"},
 {"listcreate",11,(void*)listcreate,8,"L"},
-{"listinsert",3,(void*)listinsert,8,"GGL"},
-{"listkill",1,(void*)listkill,8,"vG"},
-{"listput",2,(void*)listput,8,"GGD0,L,"},
-{"listsort",1,(void*)listsort,8,"GD0,L,"},
+{"listinsert",99,(void*)listinsert,8,"GGL"},
+{"listkill",99,(void*)listkill,8,"vG"},
+{"listput",25,(void*)listput,8,"GGD0,L,"},
+{"listsort",99,(void*)listsort,8,"GD0,L,"},
 {"lngamma",1,(void*)glngamma,3,"Gp"},
-{"log",1,(void*)log0,3,"GD0,L,p"},
-{"matadjoint",1,(void*)adj,8,"G"},
+{"log",99,(void*)log0,3,"GD0,L,p"},
+{"matadjoint",18,(void*)adj,8,"G"},
 {"matalgtobasis",2,(void*)matalgtobasis,6,"GG"},
 {"matbasistoalg",2,(void*)matbasistoalg,6,"GG"},
-{"matcompanion",1,(void*)assmat,8,"G"},
-{"matdet",1,(void*)det0,8,"GD0,L,"},
-{"matdetint",1,(void*)detint,8,"G"},
-{"matdiagonal",1,(void*)diagonal,8,"G"},
+{"matcompanion",18,(void*)assmat,8,"G"},
+{"matdet",99,(void*)det0,8,"GD0,L,"},
+{"matdetint",18,(void*)detint,8,"G"},
+{"matdiagonal",18,(void*)diagonal,8,"G"},
 {"mateigen",1,(void*)eigen,8,"Gp"},
-{"mathess",1,(void*)hess,8,"G"},
+{"mathess",18,(void*)hess,8,"G"},
 {"mathilbert",11,(void*)mathilbert,8,"L"},
-{"mathnf",1,(void*)mathnf0,8,"GD0,L,"},
+{"mathnf",99,(void*)mathnf0,8,"GD0,L,"},
 {"mathnfmod",2,(void*)hnfmod,8,"GG"},
@@ -1424,5 +1427,5 @@ entree functions_basic[]={
 {"matid",11,(void*)idmat,8,"L"},
-{"matimage",1,(void*)matimage0,8,"GD0,L,"},
-{"matimagecompl",1,(void*)imagecompl,8,"G"},
-{"matindexrank",1,(void*)indexrank,8,"G"},
+{"matimage",99,(void*)matimage0,8,"GD0,L,"},
+{"matimagecompl",18,(void*)imagecompl,8,"G"},
+{"matindexrank",18,(void*)indexrank,8,"G"},
 {"matintersect",2,(void*)intersect,8,"GG"},
@@ -1430,4 +1433,4 @@ entree functions_basic[]={
 {"matisdiagonal",10,(void*)isdiagonal,8,"Gl"},
-{"matker",1,(void*)matker0,8,"GD0,L,p"},
-{"matkerint",1,(void*)matkerint0,8,"GD0,L,"},
+{"matker",99,(void*)matker0,8,"GD0,L,p"},
+{"matkerint",99,(void*)matkerint0,8,"GD0,L,"},
 {"matmuldiagonal",2,(void*)matmuldiagonal,8,"GG"},
@@ -1438,15 +1441,15 @@ entree functions_basic[]={
 {"matrixqz",2,(void*)matrixqz0,8,"GG"},
-{"matsize",1,(void*)matsize,8,"G"},
-{"matsnf",1,(void*)matsnf0,8,"GD0,L,"},
+{"matsize",18,(void*)matsize,8,"G"},
+{"matsnf",99,(void*)matsnf0,8,"GD0,L,"},
 {"matsolve",2,(void*)gauss,8,"GG"},
-{"matsolvemod",3,(void*)matsolvemod0,8,"GGGD0,L,"},
+{"matsolvemod",99,(void*)matsolvemod0,8,"GGGD0,L,"},
 {"matsupplement",1,(void*)suppl,8,"Gp"},
-{"mattranspose",1,(void*)gtrans,8,"G"},
+{"mattranspose",18,(void*)gtrans,8,"G"},
 {"max",2,(void*)gmax,1,"GG"},
 {"min",2,(void*)gmin,1,"GG"},
-{"modreverse",1,(void*)polymodrecip,6,"G"},
-{"moebius",1,(void*)gmu,4,"G"},
+{"modreverse",18,(void*)polymodrecip,6,"G"},
+{"moebius",18,(void*)gmu,4,"G"},
 {"newtonpoly",2,(void*)newtonpoly,6,"GG"},
 {"next",0,(void*)next0,11,"v"},
-{"nextprime",1,(void*)gnextprime,4,"G"},
+{"nextprime",18,(void*)gnextprime,4,"G"},
 {"nfalgtobasis",2,(void*)algtobasis,6,"GG"},
@@ -1455,3 +1458,3 @@ entree functions_basic[]={
 {"nfdetint",2,(void*)nfdetint,6,"GG"},
-{"nfdisc",1,(void*)nfdiscf0,6,"GD0,L,D0,G,"},
+{"nfdisc",99,(void*)nfdiscf0,6,"GD0,L,D0,G,"},
 {"nfeltdiv",3,(void*)element_div,6,"GGG"},
@@ -1468,13 +1471,13 @@ entree functions_basic[]={
 {"nfeltval",30,(void*)element_val,6,"GGGl"},
-{"nffactor",30,(void*)nffactor,6,"GG"},
-{"nffactormod",30,(void*)nffactormod,6,"GGG"},
+{"nffactor",99,(void*)nffactor,6,"GG"},
+{"nffactormod",99,(void*)nffactormod,6,"GGG"},
 {"nfgaloisapply",3,(void*)galoisapply,6,"GGG"},
-{"nfgaloisconj",1,(void*)galoisconj0,6,"GD0,L,p"},
-{"nfhilbert",10,(void*)nfhilbert0,6,"lGGGDG"},
+{"nfgaloisconj",99,(void*)galoisconj0,6,"GD0,L,p"},
+{"nfhilbert",99,(void*)nfhilbert0,6,"lGGGDG"},
 {"nfhnf",2,(void*)nfhermite,6,"GG"},
 {"nfhnfmod",3,(void*)nfhermitemod,6,"GGG"},
-{"nfinit",1,(void*)nfinit0,6,"GD0,L,p"},
+{"nfinit",99,(void*)nfinit0,6,"GD0,L,p"},
 {"nfisideal",20,(void*)isideal,6,"GGl"},
-{"nfisincl",2,(void*)nfisincl0,6,"GGD0,L,"},
-{"nfisisom",2,(void*)nfisisom0,6,"GGD0,L,"},
+{"nfisincl",25,(void*)nfisincl0,6,"GGD0,L,"},
+{"nfisisom",25,(void*)nfisisom0,6,"GGD0,L,"},
 {"nfkermodpr",3,(void*)nfkermodpr,6,"GGG"},
@@ -1482,3 +1485,3 @@ entree functions_basic[]={
 {"nfnewprec",1,(void*)nfnewprec,6,"Gp"},
-{"nfroots",30,(void*)nfroots,6,"GG"},
+{"nfroots",99,(void*)nfroots,6,"GG"},
 {"nfrootsof1",1,(void*)rootsof1,6,"Gp"},
@@ -1486,51 +1489,51 @@ entree functions_basic[]={
 {"nfsolvemodpr",4,(void*)nfsolvemodpr,6,"GGGG"},
-{"nfsubfields",2,(void*)subfields0,6,"GD0,G,"},
-{"norm",1,(void*)gnorm,2,"G"},
-{"norml2",1,(void*)gnorml2,2,"G"},
-{"numdiv",1,(void*)gnumbdiv,4,"G"},
-{"numerator",1,(void*)numer,2,"G"},
+{"nfsubfields",99,(void*)subfields0,6,"GD0,G,"},
+{"norm",18,(void*)gnorm,2,"G"},
+{"norml2",18,(void*)gnorml2,2,"G"},
+{"numdiv",18,(void*)gnumbdiv,4,"G"},
+{"numerator",18,(void*)numer,2,"G"},
 {"numtoperm",24,(void*)permute,2,"LG"},
-{"omega",1,(void*)gomega,4,"G"},
+{"omega",18,(void*)gomega,4,"G"},
 {"padicappr",2,(void*)apprgen9,7,"GG"},
 {"padicprec",20,(void*)padicprec,2,"GGl"},
-{"permtonum",1,(void*)permuteInv,2,"G"},
-{"polcoeff",21,(void*)polcoeff0,2,"GLDn"},
-{"polcompositum",2,(void*)polcompositum0,6,"GGD0,L,"},
-{"polcyclo",11,(void*)cyclo,7,"LDn"},
-{"poldegree",10,(void*)poldegree,7,"GDnl"},
-{"poldisc",1,(void*)discsr,7,"G"},
-{"poldiscreduced",1,(void*)reduceddiscsmith,7,"G"},
-{"polgalois",1,(void*)galois,6,"Gp"},
+{"permtonum",18,(void*)permuteInv,2,"G"},
+{"polcoeff",99,(void*)polcoeff0,2,"GLDn"},
+{"polcompositum",25,(void*)polcompositum0,6,"GGD0,L,"},
+{"polcyclo",99,(void*)cyclo,7,"LDn"},
+{"poldegree",99,(void*)poldegree,7,"GDnl"},
+{"poldisc",18,(void*)discsr,7,"G"},
+{"poldiscreduced",18,(void*)reduceddiscsmith,7,"G"},
+{"polgalois",99,(void*)galois,6,"Gp"},
 {"polinterpolate",31,(void*)polint,7,"GGDGD&"},
-{"polisirreducible",1,(void*)gisirreducible,7,"G"},
+{"polisirreducible",18,(void*)gisirreducible,7,"G"},
 {"polkaramul",32,(void*)karamul,7,"GGL"},
-{"pollead",1,(void*)pollead,7,"GDn"},
-{"pollegendre",11,(void*)legendre,7,"LDn"},
-{"polrecip",1,(void*)polrecip,7,"G"},
-{"polred",1,(void*)polred0,6,"GD0,L,D0,G,p"},
-{"polredabs",1,(void*)polredabs0,6,"GD0,L,p"},
+{"pollead",99,(void*)pollead,7,"GDn"},
+{"pollegendre",99,(void*)legendre,7,"LDn"},
+{"polrecip",18,(void*)polrecip,7,"G"},
+{"polred",99,(void*)polred0,6,"GD0,L,D0,G,p"},
+{"polredabs",99,(void*)polredabs0,6,"GD0,L,p"},
 {"polredord",1,(void*)ordred,6,"Gp"},
-{"polresultant",2,(void*)polresultant0,7,"GGDnD0,L,"},
-{"polroots",1,(void*)roots0,7,"GD0,L,p"},
-{"polrootsmod",2,(void*)rootmod0,7,"GGD0,L,"},
+{"polresultant",99,(void*)polresultant0,7,"GGDnD0,L,"},
+{"polroots",99,(void*)roots0,7,"GD0,L,p"},
+{"polrootsmod",25,(void*)rootmod0,7,"GGD0,L,"},
 {"polrootspadic",32,(void*)rootpadic,7,"GGL"},
-{"polsturm",10,(void*)sturmpart,7,"GDGDGl"},
-{"polsubcyclo",2,(void*)subcyclo,6,"GGDn"},
-{"polsylvestermatrix",2,(void*)sylvestermatrix,7,"GGp"},
+{"polsturm",99,(void*)sturmpart,7,"GDGDGl"},
+{"polsubcyclo",99,(void*)subcyclo,6,"GGDn"},
+{"polsylvestermatrix",29,(void*)sylvestermatrix,7,"GGp"},
 {"polsym",21,(void*)polsym,7,"GL"},
-{"poltchebi",11,(void*)tchebi,7,"LDn"},
-{"poltschirnhaus",1,(void*)tschirnhaus,6,"G"},
-{"polylog",24,(void*)polylog0,3,"LGD0,L,p"},
-{"polzagier",21,(void*)polzag,7,"LL"},
-{"precision",1,(void*)precision0,2,"GD0,L,"},
-{"precprime",1,(void*)gprecprime,4,"G"},
+{"poltchebi",99,(void*)tchebi,7,"LDn"},
+{"poltschirnhaus",18,(void*)tschirnhaus,6,"G"},
+{"polylog",99,(void*)polylog0,3,"LGD0,L,p"},
+{"polzagier",99,(void*)polzag,7,"LL"},
+{"precision",99,(void*)precision0,2,"GD0,L,"},
+{"precprime",18,(void*)gprecprime,4,"G"},
 {"prime",11,(void*)prime,4,"L"},
 {"primes",11,(void*)primes,4,"L"},
-{"prod",48,(void*)produit,9,"V=GGID1,G,"},
+{"prod",47,(void*)produit,9,"V=GGID1,G,"},
 {"prodeuler",37,(void*)prodeuler,9,"V=GGIp"},
-{"prodinf",27,(void*)prodinf0,9,"V=GID0,L,p"},
+{"prodinf",99,(void*)prodinf0,9,"V=GID0,L,p"},
 {"psi",1,(void*)gpsi,3,"Gp"},
-{"qfbclassno",1,(void*)qfbclassno0,4,"GD0,L,"},
+{"qfbclassno",99,(void*)qfbclassno0,4,"GD0,L,"},
 {"qfbcompraw",2,(void*)compraw,4,"GG"},
-{"qfbhclassno",1,(void*)hclassno,4,"G"},
+{"qfbhclassno",18,(void*)hclassno,4,"G"},
 {"qfbnucomp",3,(void*)nucomp,4,"GGG"},
@@ -1538,16 +1541,16 @@ entree functions_basic[]={
 {"qfbpowraw",23,(void*)powraw,4,"GL"},
-{"qfbprimeform",2,(void*)primeform,4,"GGp"},
-{"qfbred",1,(void*)qfbred0,4,"GD0,L,DGDGDG"},
-{"qfgaussred",1,(void*)sqred,8,"G"},
+{"qfbprimeform",29,(void*)primeform,4,"GGp"},
+{"qfbred",99,(void*)qfbred0,4,"GD0,L,DGDGDG"},
+{"qfgaussred",18,(void*)sqred,8,"G"},
 {"qfjacobi",1,(void*)jacobi,8,"Gp"},
-{"qflll",1,(void*)qflll0,8,"GD0,L,p"},
-{"qflllgram",1,(void*)qflllgram0,8,"GD0,L,p"},
+{"qflll",99,(void*)qflll0,8,"GD0,L,p"},
+{"qflllgram",99,(void*)qflllgram0,8,"GD0,L,p"},
 {"qfminim",33,(void*)minim0,8,"GGGD0,L,p"},
-{"qfperfection",10,(void*)perf,8,"G"},
-{"qfsign",1,(void*)signat,8,"G"},
+{"qfperfection",18,(void*)perf,8,"G"},
+{"qfsign",18,(void*)signat,8,"G"},
 {"quadclassunit",96,(void*)quadclassunit0,4,"GD0,L,DGp"},
-{"quaddisc",1,(void*)quaddisc,4,"G"},
-{"quadgen",1,(void*)quadgen,4,"G"},
-{"quadhilbert",11,(void*)quadhilbert,4,"GD0,G,p"},
-{"quadpoly",1,(void*)quadpoly,4,"G"},
+{"quaddisc",18,(void*)quaddisc,4,"G"},
+{"quadgen",18,(void*)quadgen,4,"G"},
+{"quadhilbert",99,(void*)quadhilbert,4,"GD0,G,p"},
+{"quadpoly",18,(void*)quadpoly,4,"G"},
 {"quadregulator",1,(void*)gregula,4,"Gp"},
@@ -1555,3 +1558,3 @@ entree functions_basic[]={
 {"random",0,(void*)genrand,2,"DG"},
-{"real",1,(void*)greal,2,"G"},
+{"real",18,(void*)greal,2,"G"},
 {"removeprimes",0,(void*)removeprimes,4,"D[],G,"},
@@ -1562,6 +1565,6 @@ entree functions_basic[]={
 {"rnfbasistoalg",2,(void*)rnfbasistoalg,6,"GG"},
-{"rnfcharpoly",14,(void*)rnfcharpoly,6,"GGGDn"},
-{"rnfconductor",2,(void*)rnfconductor,6,"GGp"},
-{"rnfdedekind",30,(void*)rnfdedekind,6,"GGG"},
-{"rnfdet",2,(void*)rnfdet0,6,"GGD0,G,"},
+{"rnfcharpoly",99,(void*)rnfcharpoly,6,"GGGDn"},
+{"rnfconductor",29,(void*)rnfconductor,6,"GGp"},
+{"rnfdedekind",99,(void*)rnfdedekind,6,"GGG"},
+{"rnfdet",99,(void*)rnfdet0,6,"GGD0,G,"},
 {"rnfdisc",2,(void*)rnfdiscf,6,"GG"},
@@ -1571,3 +1574,3 @@ entree functions_basic[]={
 {"rnfeltup",2,(void*)rnfelementup,6,"GG"},
-{"rnfequation",2,(void*)rnfequation0,6,"GGD0,L,"},
+{"rnfequation",25,(void*)rnfequation0,6,"GGD0,L,"},
 {"rnfhnfbasis",2,(void*)rnfhermitebasis,6,"GG"},
@@ -1582,17 +1585,17 @@ entree functions_basic[]={
 {"rnfidealup",2,(void*)rnfidealup,6,"GG"},
-{"rnfinit",2,(void*)rnfinitalg,6,"GGp"},
+{"rnfinit",29,(void*)rnfinitalg,6,"GGp"},
 {"rnfisfree",20,(void*)rnfisfree,6,"GGl"},
-{"rnfisnorm",3,(void*)rnfisnorm,6,"GGGD1,L,p"},
-{"rnfkummer",2,(void*)rnfkummer,6,"GGD0,L,p"},
-{"rnflllgram",3,(void*)rnflllgram,6,"GGGp"},
+{"rnfisnorm",99,(void*)rnfisnorm,6,"GGGD1,L,p"},
+{"rnfkummer",99,(void*)rnfkummer,6,"GGD0,L,p"},
+{"rnflllgram",99,(void*)rnflllgram,6,"GGGp"},
 {"rnfnormgroup",2,(void*)rnfnormgroup,6,"GG"},
-{"rnfpolred",2,(void*)rnfpolred,6,"GGp"},
-{"rnfpolredabs",2,(void*)rnfpolredabs,6,"GGD0,L,p"},
+{"rnfpolred",29,(void*)rnfpolred,6,"GGp"},
+{"rnfpolredabs",99,(void*)rnfpolredabs,6,"GGD0,L,p"},
 {"rnfpseudobasis",2,(void*)rnfpseudobasis,6,"GG"},
 {"rnfsteinitz",2,(void*)rnfsteinitz,6,"GG"},
-{"round",1,(void*)round0,2,"GD0,L,"},
+{"round",99,(void*)round0,2,"GD0,L,"},
 {"rounderror",10,(void*)rounderror,2,"Gl"},
 {"serconvol",2,(void*)convol,7,"GG"},
-{"serlaplace",1,(void*)laplace,7,"G"},
-{"serreverse",1,(void*)recip,7,"G"},
+{"serlaplace",18,(void*)laplace,7,"G"},
+{"serreverse",18,(void*)recip,7,"G"},
 {"setintersect",2,(void*)setintersect,8,"GG"},
@@ -1600,10 +1603,10 @@ entree functions_basic[]={
 {"setminus",2,(void*)setminus,8,"GG"},
-{"setrand",11,(void*)setrand,11,"Lp"},
-{"setsearch",20,(void*)setsearch,8,"lGGD0,L,"},
+{"setrand",99,(void*)setrand,11,"Lp"},
+{"setsearch",99,(void*)setsearch,8,"lGGD0,L,"},
 {"setunion",2,(void*)setunion,8,"GG"},
-{"shift",21,(void*)gshift,1,"GL"},
-{"shiftmul",21,(void*)gmul2n,1,"GL"},
-{"sigma",1,(void*)gsumdivk,4,"GD1,L,"},
+{"shift",99,(void*)gshift,1,"GL"},
+{"shiftmul",99,(void*)gmul2n,1,"GL"},
+{"sigma",99,(void*)gsumdivk,4,"GD1,L,"},
 {"sign",10,(void*)gsigne,1,"Gl"},
-{"simplify",1,(void*)simplify,2,"G"},
+{"simplify",18,(void*)simplify,2,"G"},
 {"sin",1,(void*)gsin,3,"Gp"},
@@ -1613,12 +1616,12 @@ entree functions_basic[]={
 {"solve",37,(void*)zbrent,9,"V=GGIp"},
-{"sqr",1,(void*)gsqr,3,"G"},
+{"sqr",18,(void*)gsqr,3,"G"},
 {"sqrt",1,(void*)gsqrt,3,"Gp"},
 {"sqrtint",1,(void*)racine,4,"Gp"},
-{"subgrouplist",10,(void*)subgrouplist0,6,"GD0,L,D0,L,p"},
+{"subgrouplist",99,(void*)subgrouplist0,6,"GD0,L,D0,L,p"},
 {"subst",26,(void*)gsubst,7,"GnG"},
 {"sum",48,(void*)somme,9,"V=GGID0,G,p"},
-{"sumalt",27,(void*)sumalt0,9,"V=GID0,L,p"},
+{"sumalt",99,(void*)sumalt0,9,"V=GID0,L,p"},
 {"sumdiv",22,(void*)divsum,9,"GVI"},
 {"suminf",27,(void*)suminf,9,"V=GIp"},
-{"sumpos",27,(void*)sumpos0,9,"V=GID0,L,p"},
+{"sumpos",99,(void*)sumpos0,9,"V=GID0,L,p"},
 {"tan",1,(void*)gtan,3,"Gp"},
@@ -1627,25 +1630,25 @@ entree functions_basic[]={
 {"teichmuller",1,(void*)teich,3,"Gp"},
-{"theta",2,(void*)theta,3,"GGp"},
-{"thetanullk",21,(void*)thetanullk,3,"GL"},
-{"thue",2,(void*)thue,7,"GGDG"},
-{"thueinit",2,(void*)thueinit,7,"GD0,L,p"},
+{"theta",29,(void*)theta,3,"GGp"},
+{"thetanullk",99,(void*)thetanullk,3,"GL"},
+{"thue",99,(void*)thue,7,"GGDG"},
+{"thueinit",99,(void*)thueinit,7,"GD0,L,p"},
 {"trace",1,(void*)gtrace,8,"Gp"},
-{"truncate",1,(void*)trunc0,2,"GD0,L,"},
+{"truncate",99,(void*)trunc0,2,"GD0,L,"},
 {"until",82,NULL,11,NULL},
 {"valuation",20,(void*)ggval,2,"GGl"},
-{"variable",1,(void*)gpolvar,2,"G"},
-{"veceint1",2,(void*)veceint1,3,"GGp"},
-{"vecextract",2,(void*)extract0,8,"GGDG"},
+{"variable",18,(void*)gpolvar,2,"G"},
+{"veceint1",29,(void*)veceint1,3,"GGp"},
+{"vecextract",99,(void*)extract0,8,"GGDG"},
 {"vecmax",1,(void*)vecmax,1,"Gp"},
 {"vecmin",1,(void*)vecmin,1,"Gp"},
-{"vecsort",2,(void*)vecsort0,8,"GDGD0,L,"},
+{"vecsort",99,(void*)vecsort0,8,"GDGD0,L,"},
 {"vector",22,(void*)vecteur,8,"GVI"},
 {"vectorv",22,(void*)vvecteur,8,"GVI"},
-{"weber",1,(void*)weber0,3,"GD0,L,p"},
+{"weber",99,(void*)weber0,3,"GD0,L,p"},
 {"while",81,NULL,11,NULL},
 {"zeta",1,(void*)gzeta,3,"Gp"},
-{"zetak",2,(void*)gzetakall,6,"GGD0,L,p"},
+{"zetak",99,(void*)gzetakall,6,"GGD0,L,p"},
 {"zetakinit",1,(void*)initzeta,6,"Gp"},
-{"znorder",1,(void*)order,4,"G"},
-{"znprimroot",1,(void*)ggener,4,"G"},
+{"znorder",18,(void*)order,4,"G"},
+{"znprimroot",18,(void*)ggener,4,"G"},
 {"znstar",1,(void*)znstar,4,"Gp"},