File: [local] / OpenXM / src / ox_pari / pari_ftab.c (download)
Revision 1.5, Wed Aug 26 06:03:31 2020 UTC (4 years, 1 month ago) by noro
Branch: MAIN
CVS Tags: HEAD Changes since 1.4: +34 -35
lines
Changed pari-2.3.4 with pari-2.11.4.
Updated ox_pari for the new PARI library.
|
#include "ox_pari.h"
/* type=1 : one num/poly/mat arg with prec */
/* type=2 : 1starg=num/poly/mat arg, 2ndarg(int) */
/* type=3 : one GEN, return ulong */
struct parif parif_tab[] = {
/* num/num */
{"abs",gabs,1},
{"erfc",gerfc,1},
{"arg",garg,1},
{"isqrt",sqrtint,1},
{"gamma",ggamma,1},
{"zeta",gzeta,1},
{"floor",gfloor,1},
{"frac",gfrac,1},
{"imag",gimag,1},
{"conj",gconj,1},
{"ceil",gceil,1},
{"denom",denom,1},
{"numer",numer,1},
{"lngamma",glngamma,1},
{"logagm",glog,1},
{"classno",classno,1},
{"dilog",dilog,1},
{"discf",nfdisc,1},
{"nextprime",nextprime,1},
{"eintg1",eint1,1},
{"eta",eta,1},
{"gamh",ggamd,1},
{"hclassno",hclassno,1},
/* num/array */
{"binary",binaire,1},
{"factor",factor,1},
{"cf",gcf,1},
{"divisors",divisors,1},
{"smallfact",factor,1},
/* poly/poly */
{"centerlift",centerlift,1},
{"content",content,1},
/* poly/array */
{"galois",polgalois,1},
{"roots",roots,1},
{"factpol",factor,1},
/* mat/mat */
{"adj",adj,1},
{"lll",lll,1},
{"lllgen",lllgen,1},
{"lllgram",lllgram,1},
{"lllgramgen",lllgramgen,1},
{"lllgramint",lllgramint,1},
{"lllgramkerim",lllgramkerim,1},
{"lllgramkerimgen",lllgramkerimgen,1},
{"lllint",lllint,1},
{"lllkerim",lllkerim,1},
{"lllkerimgen",lllkerimgen,1},
{"trans",gtrans,1},
{"eigen",eigen,1},
{"hermite",hnf,1},
{"mat",gtomat,1},
{"hess",hess,1},
{"ker",ker,1},
{"keri",keri,1},
{"kerint",kerint,1},
/* mat/poly */
{"det",det,1},
{"det2",det2,1},
{"factorint",factorint,2,0},
{"isprime",gisprime,2,0},
{"disc",poldisc0,2,-1},
{"bigomega",(GEN(*)())bigomega,3},
{"issqfree",(GEN(*)())issquarefree,3},
{"isfund",(GEN(*)())isfundamental,3},
{"ispsp",(GEN(*)())BPSW_psp,3}, // miller-rabin
#if 1
/* not examined yet */
{"image",image,1},
{"image2",image2,1},
{"indexrank",indexrank,1},
{"indsort",indexsort,1},
{"initalg",initalg,1},
{"jacobi",jacobi,1},
{"jell",jell,1},
{"length",(GEN(*)())glength,1},
{"lexsort",lexsort,1},
{"lift",lift,1},
{"lindep",lindep,1},
{"modreverse",polymodrecip,1},
{"norm",gnorm,1},
{"norml2",gnorml2,1},
{"numdiv",numbdiv,1},
{"omega",(GEN(*)())omega,1},
{"order",order,1},
{"pnqn",pnqn,1},
{"psi",gpsi,1},
{"quadgen",quadgen ,1},
{"quadpoly",quadpoly ,1},
{"recip",polrecip ,1},
{"redreal",redreal ,1},
{"regula",quadregulator ,1},
{"rhoreal",rhoreal ,1},
{"sigma",sumdiv,1},
{"signat",qfsign,1},
{"simplify",simplify,1},
{"smith",smith,1},
{"smith2",smith2,1},
{"sort",sort,1},
{"sqr",gsqr,1},
{"sqred",qfgaussred,1},
{"sqrt",gsqrt,1},
{"supplement",suppl,1},
{"trace",gtrace,1},
{"trunc",gtrunc,1},
{"unit",quadunit,1},
#endif
/* obsolete or useless */
#if 0
{"reorder",reorder ,1},
{"phi",phi,1},
{"primroot",gener,1},
{"wf",wf,1},
{"wf2",wf2,1},
{"ordred",ordred,1},
{"mu",gmu,1},
{"matsize",matsize,1},
{"real",greal,1},
{"round",ground,1},
{"vec",gtovec,1},
{"reverse",recip ,1},
{"polred",polred,1},
{"polred2",polred2,1},
{"smalldiscf",smalldiscf,1},
{"smallpolred",smallpolred,1},
{"smallpolred2",smallpolred2,1},
#endif
};
struct parif *search_parif(char *name)
{
int tablen,i;
tablen = sizeof(parif_tab)/sizeof(struct parif);
for ( i = 0; i < tablen; i++ ) {
if ( !strcmp(parif_tab[i].name,name) )
return &parif_tab[i];
}
return 0;
}