Annotation of OpenXM/src/ox_pari/pari_ftab.c, Revision 1.5
1.1 noro 1: #include "ox_pari.h"
2:
1.5 ! noro 3: /* type=1 : one num/poly/mat arg with prec */
! 4: /* type=2 : 1starg=num/poly/mat arg, 2ndarg(int) */
! 5: /* type=3 : one GEN, return ulong */
1.1 noro 6:
7: struct parif parif_tab[] = {
8: /* num/num */
9: {"abs",gabs,1},
10: {"erfc",gerfc,1},
11: {"arg",garg,1},
1.5 ! noro 12: {"isqrt",sqrtint,1},
1.1 noro 13: {"gamma",ggamma,1},
14: {"zeta",gzeta,1},
15: {"floor",gfloor,1},
16: {"frac",gfrac,1},
17: {"imag",gimag,1},
18: {"conj",gconj,1},
19: {"ceil",gceil,1},
20: {"denom",denom,1},
21: {"numer",numer,1},
22: {"lngamma",glngamma,1},
1.5 ! noro 23: {"logagm",glog,1},
1.1 noro 24: {"classno",classno,1},
25: {"dilog",dilog,1},
1.5 ! noro 26: {"discf",nfdisc,1},
1.1 noro 27: {"nextprime",nextprime,1},
28: {"eintg1",eint1,1},
29: {"eta",eta,1},
30: {"gamh",ggamd,1},
1.5 ! noro 31: {"hclassno",hclassno,1},
1.1 noro 32:
33: /* num/array */
34: {"binary",binaire,1},
1.5 ! noro 35: {"factor",factor,1},
1.1 noro 36: {"cf",gcf,1},
37: {"divisors",divisors,1},
1.5 ! noro 38: {"smallfact",factor,1},
1.1 noro 39:
40: /* poly/poly */
41: {"centerlift",centerlift,1},
42: {"content",content,1},
43:
44: /* poly/array */
1.5 ! noro 45: {"galois",polgalois,1},
1.1 noro 46: {"roots",roots,1},
1.5 ! noro 47: {"factpol",factor,1},
1.1 noro 48:
49: /* mat/mat */
50: {"adj",adj,1},
51: {"lll",lll,1},
52: {"lllgen",lllgen,1},
53: {"lllgram",lllgram,1},
54: {"lllgramgen",lllgramgen,1},
55: {"lllgramint",lllgramint,1},
56: {"lllgramkerim",lllgramkerim,1},
57: {"lllgramkerimgen",lllgramkerimgen,1},
58: {"lllint",lllint,1},
59: {"lllkerim",lllkerim,1},
60: {"lllkerimgen",lllkerimgen,1},
61: {"trans",gtrans,1},
62: {"eigen",eigen,1},
63: {"hermite",hnf,1},
64: {"mat",gtomat,1},
65: {"hess",hess,1},
66: {"ker",ker,1},
67: {"keri",keri,1},
68: {"kerint",kerint,1},
69:
70: /* mat/poly */
71: {"det",det,1},
72: {"det2",det2,1},
73:
1.5 ! noro 74: {"factorint",factorint,2,0},
! 75: {"isprime",gisprime,2,0},
! 76: {"disc",poldisc0,2,-1},
! 77:
! 78: {"bigomega",(GEN(*)())bigomega,3},
! 79: {"issqfree",(GEN(*)())issquarefree,3},
! 80: {"isfund",(GEN(*)())isfundamental,3},
! 81: {"ispsp",(GEN(*)())BPSW_psp,3}, // miller-rabin
! 82:
! 83: #if 1
1.1 noro 84: /* not examined yet */
85: {"image",image,1},
86: {"image2",image2,1},
87: {"indexrank",indexrank,1},
88: {"indsort",indexsort,1},
89: {"initalg",initalg,1},
90: {"jacobi",jacobi,1},
91: {"jell",jell,1},
92: {"length",(GEN(*)())glength,1},
93: {"lexsort",lexsort,1},
94: {"lift",lift,1},
95: {"lindep",lindep,1},
96: {"modreverse",polymodrecip,1},
97: {"norm",gnorm,1},
98: {"norml2",gnorml2,1},
99: {"numdiv",numbdiv,1},
1.5 ! noro 100: {"omega",(GEN(*)())omega,1},
1.1 noro 101: {"order",order,1},
102: {"pnqn",pnqn,1},
103: {"psi",gpsi,1},
104: {"quadgen",quadgen ,1},
105: {"quadpoly",quadpoly ,1},
106: {"recip",polrecip ,1},
107: {"redreal",redreal ,1},
1.5 ! noro 108: {"regula",quadregulator ,1},
1.1 noro 109: {"rhoreal",rhoreal ,1},
110: {"sigma",sumdiv,1},
1.5 ! noro 111: {"signat",qfsign,1},
1.1 noro 112: {"simplify",simplify,1},
113: {"smith",smith,1},
114: {"smith2",smith2,1},
115: {"sort",sort,1},
116: {"sqr",gsqr,1},
1.5 ! noro 117: {"sqred",qfgaussred,1},
1.1 noro 118: {"sqrt",gsqrt,1},
119: {"supplement",suppl,1},
120: {"trace",gtrace,1},
121: {"trunc",gtrunc,1},
1.5 ! noro 122: {"unit",quadunit,1},
! 123: #endif
1.1 noro 124:
125: /* obsolete or useless */
126: #if 0
1.5 ! noro 127: {"reorder",reorder ,1},
! 128: {"phi",phi,1},
! 129: {"primroot",gener,1},
! 130: {"wf",wf,1},
! 131: {"wf2",wf2,1},
! 132: {"ordred",ordred,1},
! 133: {"mu",gmu,1},
1.1 noro 134: {"matsize",matsize,1},
135: {"real",greal,1},
136: {"round",ground,1},
137: {"vec",gtovec,1},
138: {"reverse",recip ,1},
139: {"polred",polred,1},
140: {"polred2",polred2,1},
141: {"smalldiscf",smalldiscf,1},
142: {"smallpolred",smallpolred,1},
143: {"smallpolred2",smallpolred2,1},
144: #endif
145: };
146:
147: struct parif *search_parif(char *name)
148: {
149: int tablen,i;
150:
151: tablen = sizeof(parif_tab)/sizeof(struct parif);
152: for ( i = 0; i < tablen; i++ ) {
153: if ( !strcmp(parif_tab[i].name,name) )
154: return &parif_tab[i];
155: }
156: return 0;
157: }
158:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>