Annotation of OpenXM_contrib/pari-2.2/src/headers/paridecl.h, Revision 1.1.1.1
1.1 noro 1: /* $Id: paridecl.h,v 1.113 2001/10/01 17:19:07 bill Exp $
2:
3: Copyright (C) 2000 The PARI group.
4:
5: This file is part of the PARI/GP package.
6:
7: PARI/GP is free software; you can redistribute it and/or modify it under the
8: terms of the GNU General Public License as published by the Free Software
9: Foundation. It is distributed in the hope that it will be useful, but WITHOUT
10: ANY WARRANTY WHATSOEVER.
11:
12: Check the License for details. You should have received a copy of it, along
13: with the package; see the file 'COPYING'. If not, write to the Free Software
14: Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
15:
16: /*******************************************************************/
17: /* */
18: /* DECLARATIONS of PUBLIC FUNCTIONS */
19: /* */
20: /*******************************************************************/
21: BEGINEXTERN
22: /* alglin1.c */
23: GEN _col(GEN x);
24: GEN _vec(GEN x);
25: GEN FpM_FpV_mul(GEN x, GEN y, GEN p);
26: GEN FpM_image(GEN x, GEN p);
27: GEN FpM_invimage(GEN m, GEN v, GEN p);
28: GEN FpM_inv(GEN x, GEN p);
29: GEN FpM_ker(GEN x, GEN p);
30: GEN FpM_mul(GEN x, GEN y, GEN p);
31: GEN FpM_sindexrank(GEN x, GEN p);
32: GEN FqM_ker(GEN x, GEN T, GEN p);
33: GEN QM_inv(GEN M, GEN dM);
34: GEN ZM_inv(GEN M, GEN dM);
35: GEN concat(GEN x, GEN y);
36: GEN concatsp(GEN x, GEN y);
37: GEN deplin(GEN x);
38: GEN det(GEN a);
39: GEN det0(GEN a,long flag);
40: GEN det2(GEN a);
41: GEN dethnf(GEN x);
42: GEN dethnf_i(GEN mat);
43: GEN detint(GEN x);
44: GEN diagonal(GEN x);
45: GEN eigen(GEN x, long prec);
46: GEN extract(GEN x, GEN l);
47: GEN extract0(GEN x, GEN l1, GEN l2);
48: GEN gaddmat(GEN x, GEN y);
49: GEN gauss(GEN a, GEN b);
50: GEN gaussmodulo(GEN M, GEN D, GEN Y);
51: GEN gaussmodulo2(GEN M, GEN D, GEN Y);
52: GEN gscalcol(GEN x, long n);
53: GEN gscalcol_i(GEN x, long n);
54: GEN gscalcol_proto(GEN z, GEN myzero, long n);
55: GEN gscalmat(GEN x, long n);
56: GEN gscalsmat(long x, long n);
57: GEN gtomat(GEN x);
58: GEN gtrans_i(GEN x);
59: GEN gtrans(GEN x);
60: GEN hnfadd(GEN mit,GEN perm,GEN* ptdep,GEN* ptA,GEN* ptC,GEN extramat,GEN extraC);
61: GEN hnfspec(long** mat,GEN perm,GEN* ptdep,GEN* ptA,GEN* ptC,long k0);
62: GEN idmat(long n);
63: GEN idmat_intern(long n,GEN myun,GEN myzero);
64: GEN image(GEN x);
65: GEN image2(GEN x);
66: GEN imagecompl(GEN x);
67: GEN imagereel(GEN x, long prec);
68: GEN indexrank(GEN x);
69: GEN inverseimage(GEN mat, GEN y);
70: long isdiagonal(GEN x);
71: long isscalarmat(GEN x, GEN s);
72: GEN ker(GEN x);
73: GEN keri(GEN x);
74: GEN matextract(GEN x, GEN l1, GEN l2);
75: GEN matimage0(GEN x,long flag);
76: GEN matker0(GEN x, long flag);
77: GEN matmuldiagonal(GEN x, GEN d);
78: GEN matmultodiagonal(GEN x, GEN y);
79: GEN matsolvemod0(GEN M, GEN D, GEN Y,long flag);
80: GEN mattodiagonal(GEN m);
81: GEN mattodiagonal_i(GEN m);
82: long rank(GEN x);
83: GEN rowextract_i(GEN A, long x1, long x2);
84: GEN rowextract_p(GEN A, GEN p);
85: GEN sindexrank(GEN x);
86: GEN suppl(GEN x);
87: GEN suppl_intern(GEN x, GEN myid);
88: GEN vecextract_i(GEN A, long y1, long y2);
89: GEN vecextract_p(GEN A, GEN p);
90: GEN zerocol(long n);
91: GEN zeromat(long m, long n);
92: GEN zerovec(long n);
93:
94: /* alglin2.c */
95:
96: GEN QuickNormL1(GEN x,long prec);
97: GEN QuickNormL2(GEN x,long prec);
98: GEN adj(GEN x);
99: GEN assmat(GEN x);
100: GEN caract(GEN x, int v);
101: GEN caract2(GEN p, GEN x, int v);
102: GEN caradj(GEN x, long v, GEN *py);
103: GEN caradj0(GEN x, long v);
104: GEN carhess(GEN x, long v);
105: GEN charpoly0(GEN x, int v,long flag);
106: GEN conjvec(GEN x,long prec);
107: GEN gconj(GEN x);
108: GEN gnorm(GEN x);
109: GEN gnorml1(GEN x,long prec);
110: GEN gnorml2(GEN x);
111: GEN gtrace(GEN x);
112: GEN hess(GEN x);
113: GEN hnf(GEN x);
114: GEN hnfall(GEN x);
115: GEN hnfhavas(GEN x);
116: GEN hnflll(GEN x);
117: GEN hnfmod(GEN x, GEN detmat);
118: GEN hnfmodid(GEN x,GEN p);
119: GEN hnfperm(GEN x);
120: GEN intersect(GEN x, GEN y);
121: GEN jacobi(GEN a, long prec);
122: GEN matrixqz(GEN x, GEN pp);
123: GEN matrixqz0(GEN x, GEN pp);
124: GEN matrixqz2(GEN x);
125: GEN matrixqz3(GEN x);
126: GEN signat(GEN a);
127: GEN smith(GEN x);
128: GEN smith2(GEN x);
129: GEN smithclean(GEN z);
130: GEN sqred(GEN a);
131: GEN sqred1(GEN a);
132: GEN sqred1intern(GEN a, long flag);
133: GEN sqred3(GEN a);
134:
135: /* anal.c */
136:
137: entree *fetch_named_var(char *s, int doerr);
138: entree *gp_variable(char *s);
139: entree *is_entry(char *s);
140: void delete_named_var(entree *ep);
141: long delete_var(void);
142: long fetch_user_var(char *s);
143: long fetch_var(void);
144: GEN flisexpr(char *t);
145: GEN flisseq(char *t);
146: void freeep(entree *ep);
147: long hashvalue(char *s);
148: entree* install(void *f, char *name, char *code);
149: GEN lisexpr(char *t);
150: GEN lisseq(char *t);
151: long manage_var(long n, entree *ep);
152: void name_var(long n, char *s);
153: GEN readseq(char *c, int strict);
154: GEN strtoGENstr(char *s, long flag);
155:
156: /* arith1.c */
157:
158: GEN bestappr(GEN x, GEN k);
159: GEN bestappr0(GEN x, GEN a, GEN b);
160: long carrecomplet(GEN x, GEN *pt);
161: long cgcd(long a,long b);
162: GEN chinese(GEN x, GEN y);
163: GEN chinois(GEN x, GEN y);
164: GEN classno(GEN x);
165: GEN classno2(GEN x);
166: long clcm(long a,long b);
167: GEN contfrac0(GEN x, GEN b, long flag);
168: GEN fibo(long n);
169: GEN fundunit(GEN x);
170: GEN gboundcf(GEN x, long k);
171: GEN gcarrecomplet(GEN x, GEN *pt);
172: GEN gcarreparfait(GEN x);
173: GEN gcf(GEN x);
174: GEN gcf2(GEN b, GEN x);
175: GEN gener(GEN m);
176: GEN gfundunit(GEN x);
177: GEN ggener(GEN m);
178: GEN gisfundamental(GEN x);
179: GEN gisprime(GEN x, long flag);
180: GEN gispsp(GEN x);
181: GEN gkrogs(GEN x, long y);
182: GEN gkronecker(GEN x, GEN y);
183: GEN gmillerrabin(GEN n, long k);
184: GEN gnextprime(GEN n);
185: GEN gprecprime(GEN n);
186: GEN gracine(GEN a);
187: GEN gregula(GEN x, long prec);
188: GEN hclassno(GEN x);
189: long hil(GEN x, GEN y, GEN p);
190: long hil0(GEN x, GEN y, GEN p);
191: long isfundamental(GEN x);
192: long isprime(GEN x);
193: long ispsp(GEN x);
194: long krogs(GEN x, long y);
195: long kronecker(GEN x, GEN y);
196: long krosg(long s, GEN x);
197: long kross(long x, long y);
198: void lucas(long n, GEN *ln, GEN *ln1);
199: GEN mpfact(long n);
200: GEN mpfactr(long n, long prec);
201: GEN mpinvmod(GEN a, GEN m);
202: GEN mppgcd(GEN a, GEN b);
203: GEN mpppcm(GEN a, GEN b);
204: GEN mpsqrtmod(GEN a, GEN p);
205: GEN mpsqrtnmod(GEN a, GEN n, GEN p, GEN *zetan);
206: GEN order(GEN x);
207: GEN pnqn(GEN x);
208: GEN powmodulo(GEN a, GEN n, GEN m);
209: GEN qfbclassno0(GEN x,long flag);
210: GEN quaddisc(GEN x);
211: GEN racine(GEN a);
212: GEN regula(GEN x, long prec);
213: GEN sfcont(GEN x, GEN x1, long k);
214: GEN znstar(GEN x);
215:
216: /* arith2.c */
217:
218: GEN Qfb0(GEN x, GEN y, GEN z, GEN d, long prec);
219: GEN addprimes(GEN primes);
220: GEN auxdecomp(GEN n, long all);
221: long bigomega(GEN n);
222: GEN binaire(GEN x);
223: long bittest(GEN x, long n);
224: GEN boundfact(GEN n, long lim);
225: GEN compimag(GEN x, GEN y);
226: GEN compimagraw(GEN x, GEN y);
227: GEN compraw(GEN x, GEN y);
228: GEN compreal(GEN x, GEN y);
229: GEN comprealraw(GEN x, GEN y);
230: GEN core(GEN n);
231: GEN core0(GEN n,long flag);
232: GEN core2(GEN n);
233: GEN coredisc(GEN n);
234: GEN coredisc0(GEN n,long flag);
235: GEN coredisc2(GEN n);
236: GEN decomp(GEN n);
237: GEN divisors(GEN n);
238: GEN factorint(GEN n, long flag);
239: GEN gbigomega(GEN n);
240: GEN gbitand(GEN x, GEN y);
241: GEN gbitneg(GEN x, long n);
242: GEN gbitnegimply(GEN x, GEN y);
243: GEN gbitor(GEN x, GEN y);
244: GEN gbittest(GEN x, GEN n);
245: GEN gbitxor(GEN x, GEN y);
246: GEN gboundfact(GEN n, long lim);
247: GEN gissquarefree(GEN x);
248: GEN gmu(GEN n);
249: GEN gnumbdiv(GEN n);
250: GEN gomega(GEN n);
251: GEN gphi(GEN n);
252: GEN gsumdiv(GEN n);
253: GEN gsumdivk(GEN n,long k);
254: byteptr initprimes(long maxnum);
255: long issquarefree(GEN x);
256: ulong maxprime(void);
257: long mu(GEN n);
258: GEN nucomp(GEN x, GEN y, GEN l);
259: GEN nudupl(GEN x, GEN l);
260: GEN numbdiv(GEN n);
261: GEN nupow(GEN x, GEN n);
262: long omega(GEN n);
263: GEN phi(GEN n);
264: GEN powraw(GEN x, long n);
265: GEN powrealraw(GEN x, long n);
266: GEN prime(long n);
267: GEN primeform(GEN x, GEN p, long prec);
268: GEN primes(long n);
269: GEN qfbred0(GEN x, long flag, GEN D, GEN isqrtD, GEN sqrtD);
270: GEN qfi(GEN x, GEN y, GEN z);
271: GEN qfr(GEN x, GEN y, GEN z, GEN d);
272: GEN redimag(GEN x);
273: GEN redreal(GEN x);
274: GEN redrealnod(GEN x, GEN isqrtD);
275: GEN removeprimes(GEN primes);
276: GEN rhoreal(GEN x);
277: GEN rhorealnod(GEN x, GEN isqrtD);
278: GEN smallfact(GEN n);
279: GEN sqcompimag(GEN x);
280: GEN sqcompreal(GEN x);
281: GEN sumdiv(GEN n);
282: GEN sumdivk(GEN n,long k);
283:
284: /* base1.c */
285:
286: GEN bnfnewprec(GEN nf, long prec);
287: GEN bnrnewprec(GEN bnr, long prec);
288: void check_pol_int(GEN x, char *s);
289: GEN check_units(GEN x, char *f);
290: void checkbid(GEN bid);
291: GEN checkbnf(GEN bnf);
292: GEN checkbnf_discard(GEN bnf);
293: void checkbnr(GEN bnr);
294: void checkbnrgen(GEN bnr);
295: void checkid(GEN x, long N);
296: GEN checknf(GEN nf);
297: GEN checknfelt_mod(GEN nf, GEN x, char *s);
298: void checkprhall(GEN prhall);
299: void checkprimeid(GEN bid);
300: void checkrnf(GEN rnf);
301: GEN galois(GEN x, long prec);
302: GEN galoisapply(GEN nf, GEN aut, GEN x);
303: GEN get_bnf(GEN x,int *t);
304: GEN get_nf(GEN x,int *t);
305: GEN get_primeid(GEN x);
306: GEN glambdak(GEN nfz, GEN s, long prec);
307: int gpolcomp(GEN p1, GEN p2);
308: GEN gsmith(GEN x);
309: GEN gsmith2(GEN x);
310: GEN gzetak(GEN nfz, GEN s, long prec);
311: GEN gzetakall(GEN nfz, GEN s, long flag, long prec);
312: GEN initalg(GEN x, long prec);
313: GEN initalgred(GEN x, long prec);
314: GEN initalgred2(GEN x, long prec);
315: GEN initzeta(GEN pol, long prec);
316: GEN mathnf0(GEN x,long flag);
317: GEN matsnf0(GEN x,long flag);
318: long nf_get_r1(GEN nf);
319: long nf_get_r2(GEN nf);
320: GEN nfinit0(GEN x,long flag, long prec);
321: long nfgetprec(GEN x);
322: GEN nfnewprec(GEN nf, long prec);
323: GEN rootsof1(GEN x);
324: GEN tschirnhaus(GEN x);
325:
326: /* base2.c */
327:
328: GEN allbase4(GEN f, long code, GEN *y, GEN *ptw);
329: GEN base(GEN x, GEN *y);
330: GEN base2(GEN x, GEN *y);
331: GEN compositum(GEN pol1, GEN pol2);
332: GEN compositum2(GEN pol1, GEN pol2);
333: GEN discf(GEN x);
334: GEN discf2(GEN x);
335: GEN factoredbase(GEN x, GEN p, GEN *y);
336: GEN factoreddiscf(GEN x, GEN p);
337: GEN fix_relative_pol(GEN nf, GEN x, int chk_lead);
338: GEN gcdpm(GEN f1,GEN f2,GEN pm);
339: long idealval(GEN nf,GEN ix,GEN vp);
340: GEN nfbasis(GEN x, GEN *y,long flag,GEN p);
341: GEN nfbasis0(GEN x,long flag,GEN p);
342: GEN nfdiscf0(GEN x,long flag, GEN p);
343: GEN nfreducemodideal(GEN nf,GEN x,GEN ideal);
344: GEN nfreducemodpr(GEN nf, GEN x, GEN prhall);
345: GEN nfreducemodpr2(GEN nf, GEN x, GEN prhall);
346: GEN polcompositum0(GEN pol1, GEN pol2,long flag);
347: GEN primedec(GEN nf,GEN p);
348: GEN rnfbasis(GEN bnf, GEN order);
349: GEN rnfdet(GEN nf, GEN order);
350: GEN rnfdet0(GEN nf, GEN x, GEN y);
351: GEN rnfdet2(GEN nf, GEN A, GEN I);
352: GEN rnfdiscf(GEN nf, GEN pol);
353: GEN rnfequation(GEN nf, GEN pol2);
354: GEN rnfequation0(GEN nf, GEN pol2, long flall);
355: GEN rnfequation2(GEN nf, GEN pol);
356: GEN rnfhermitebasis(GEN bnf, GEN order);
357: long rnfisfree(GEN bnf, GEN order);
358: GEN rnflllgram(GEN nf, GEN pol, GEN order,long prec);
359: GEN rnfpolred(GEN nf, GEN pol, long prec);
360: GEN rnfpolredabs(GEN nf, GEN pol, long flag, long prec);
361: GEN rnfpseudobasis(GEN nf, GEN pol);
362: GEN rnfsimplifybasis(GEN bnf, GEN order);
363: GEN rnfsteinitz(GEN nf, GEN order);
364: GEN smallbase(GEN x, GEN *y);
365: GEN smalldiscf(GEN x);
366: GEN subcyclo(GEN p, GEN d, int n);
367:
368: /* base3.c */
369:
370: GEN algtobasis(GEN nf, GEN x);
371: GEN algtobasis_intern(GEN nf,GEN x);
372: GEN basistoalg(GEN nf, GEN x);
373: GEN element_div(GEN nf, GEN x, GEN y);
374: GEN element_inv(GEN nf, GEN x);
375: GEN element_invmodideal(GEN nf, GEN x, GEN ideal);
376: GEN element_mul(GEN nf,GEN x,GEN y);
377: GEN element_mulid(GEN nf, GEN x, long i);
378: GEN element_mulvec(GEN nf, GEN x, GEN v);
379: GEN element_pow(GEN nf,GEN x,GEN k);
380: GEN element_pow_mod_p(GEN nf, GEN x, GEN n, GEN p);
381: GEN element_powmodideal(GEN nf,GEN x,GEN k,GEN ideal);
382: GEN element_powmodidele(GEN nf,GEN x,GEN k,GEN idele,GEN structarch);
383: GEN element_sqr(GEN nf,GEN x);
384: long element_val(GEN nf, GEN x, GEN vp);
385: long element_val2(GEN nf, GEN x, GEN d, GEN vp);
386: GEN ideallist(GEN nf,long bound);
387: GEN ideallist0(GEN nf,long bound, long flag);
388: GEN ideallistarch(GEN nf, GEN list, GEN arch);
389: GEN ideallistarch0(GEN nf, GEN list, GEN arch,long flag);
390: GEN ideallistarchgen(GEN nf, GEN list, GEN arch);
391: GEN ideallistunit(GEN nf,long bound);
392: GEN ideallistunitarch(GEN bnf,GEN list,GEN arch);
393: GEN ideallistunitarchgen(GEN bnf,GEN list,GEN arch);
394: GEN ideallistunitgen(GEN nf,long bound);
395: GEN ideallistzstar(GEN nf,long bound);
396: GEN ideallistzstargen(GEN nf,long bound);
397: GEN idealstar0(GEN nf, GEN x,long flag);
398: int isnfscalar(GEN x);
399: GEN lllreducemodmatrix(GEN x,GEN y);
400: GEN nf_PHlog(GEN nf, GEN a, GEN g, GEN pr, GEN prhall);
401: GEN nfdiveuc(GEN nf, GEN a, GEN b);
402: GEN nfdivres(GEN nf, GEN a, GEN b);
403: GEN nfmod(GEN nf, GEN a, GEN b);
404: GEN nfreducemodidele(GEN nf,GEN g,GEN idele,GEN structarch);
405: GEN reducemodinvertible(GEN x, GEN y);
406: GEN reducemodmatrix(GEN x, GEN y);
407: GEN reducemodHNF(GEN x, GEN y, GEN *Q);
408: GEN zarchstar(GEN nf,GEN x,GEN arch,long nba);
409: GEN zideallog(GEN nf,GEN x,GEN bigideal);
410: GEN zidealstar(GEN nf, GEN x);
411: GEN zidealstarinit(GEN nf, GEN x);
412: GEN zidealstarinitall(GEN nf, GEN x,long flun);
413: GEN zidealstarinitgen(GEN nf, GEN x);
414: GEN zidealstarinitjoin(GEN nf, GEN bid1, GEN bid2, long flag);
415: GEN zidealstarinitjoinarch(GEN nf, GEN bid1, GEN arch, long nba, long flag);
416: GEN znlog(GEN x, GEN g);
417: GEN zsigne(GEN nf,GEN alpha,GEN arch);
418:
419: /* base4.c */
420:
421: GEN element_divmodpr(GEN nf, GEN x, GEN y, GEN prhall);
422: GEN element_invmodpr(GEN nf, GEN y, GEN prhall);
423: GEN element_mulmodpr2(GEN nf, GEN x, GEN y, GEN prhall);
424: GEN element_powmodpr(GEN nf, GEN x, GEN k, GEN prhall);
425: GEN element_reduce(GEN nf, GEN x, GEN ideal);
426: GEN ideal_two_elt(GEN nf, GEN ix);
427: GEN ideal_two_elt0(GEN nf, GEN ix, GEN a);
428: GEN ideal_two_elt2(GEN nf, GEN x, GEN a);
429: GEN idealadd(GEN nf, GEN x, GEN y);
430: GEN idealaddmultoone(GEN nf, GEN list);
431: GEN idealaddtoone(GEN nf, GEN x, GEN y);
432: GEN idealaddtoone0(GEN nf, GEN x, GEN y);
433: GEN idealappr(GEN nf, GEN x);
434: GEN idealappr0(GEN nf, GEN x, long fl);
435: GEN idealapprfact(GEN nf, GEN x);
436: GEN idealchinese(GEN nf, GEN x, GEN y);
437: GEN idealcoprime(GEN nf, GEN x, GEN y);
438: GEN idealdiv(GEN nf, GEN x, GEN y);
439: GEN idealdiv0(GEN nf, GEN x, GEN y,long flag);
440: GEN idealdivexact(GEN nf, GEN x, GEN y);
441: GEN idealfactor(GEN nf, GEN x);
442: GEN idealhermite(GEN nf, GEN x);
443: GEN idealhermite2(GEN nf, GEN a, GEN b);
444: GEN idealhnf0(GEN nf, GEN a, GEN b);
445: GEN idealintersect(GEN nf, GEN x, GEN y);
446: GEN idealinv(GEN nf, GEN ix);
447: GEN ideallllred(GEN nf,GEN ix,GEN vdir,long prec);
448: GEN ideallllred_elt(GEN nf, GEN I);
449: GEN idealmul(GEN nf, GEN ix, GEN iy);
450: GEN idealmul0(GEN nf, GEN ix, GEN iy, long flag, long prec);
451: GEN idealmulelt(GEN nf, GEN elt, GEN x);
452: GEN idealmulh(GEN nf, GEN ix, GEN iy);
453: GEN idealmulprime(GEN nf,GEN ix,GEN vp);
454: GEN idealmulred(GEN nf, GEN ix, GEN iy, long prec);
455: GEN idealnorm(GEN nf, GEN x);
456: GEN idealoplll(GEN op(GEN,GEN,GEN), GEN nf, GEN x, GEN y);
457: GEN idealpow(GEN nf, GEN ix, GEN n);
458: GEN idealpow0(GEN nf, GEN ix, GEN n, long flag, long prec);
459: GEN idealpowred(GEN nf, GEN ix, GEN n,long prec);
460: GEN idealpows(GEN nf, GEN ideal, long iexp);
461: GEN ideleaddone(GEN nf, GEN x, GEN idele);
462: int ishnfall(GEN x);
463: long isideal(GEN nf,GEN x);
464: long isinvector(GEN v, GEN x, long n);
465: GEN minideal(GEN nf,GEN ix,GEN vdir,long prec);
466: GEN nfdetint(GEN nf,GEN pseudo);
467: GEN nfhermite(GEN nf, GEN x);
468: GEN nfhermitemod(GEN nf, GEN x, GEN detmat);
469: GEN nfkermodpr(GEN nf, GEN x, GEN prhall);
470: GEN nfmodprinit(GEN nf, GEN pr);
471: GEN nfsmith(GEN nf, GEN x);
472: GEN nfsolvemodpr(GEN nf, GEN a, GEN b, GEN prhall);
473: GEN oldidealinv(GEN nf, GEN ix);
474: GEN prime_to_ideal(GEN nf, GEN vp);
475: GEN principalideal(GEN nf, GEN a);
476: GEN principalidele(GEN nf, GEN a, long prec);
477:
478: /* base5.c */
479:
480: GEN lift_to_pol(GEN x);
481: GEN matalgtobasis(GEN nf, GEN x);
482: GEN matbasistoalg(GEN nf, GEN x);
483: GEN rnfalgtobasis(GEN rnf, GEN x);
484: GEN rnfbasistoalg(GEN rnf, GEN x);
485: GEN rnfelementabstorel(GEN rnf, GEN x);
486: GEN rnfelementdown(GEN rnf, GEN x);
487: GEN rnfelementreltoabs(GEN rnf, GEN x);
488: GEN rnfelementup(GEN rnf, GEN x);
489: GEN rnfidealabstorel(GEN rnf, GEN x);
490: GEN rnfidealdown(GEN rnf, GEN x);
491: GEN rnfidealhermite(GEN rnf, GEN x);
492: GEN rnfidealmul(GEN rnf,GEN x,GEN y);
493: GEN rnfidealnormabs(GEN rnf, GEN x);
494: GEN rnfidealnormrel(GEN rnf, GEN x);
495: GEN rnfidealreltoabs(GEN rnf, GEN x);
496: GEN rnfidealtwoelement(GEN rnf,GEN x);
497: GEN rnfidealup(GEN rnf, GEN x);
498: GEN rnfinitalg(GEN nf,GEN pol,long prec);
499:
500: /* bibli1.c */
501:
502: GEN algdep(GEN x, long n, long prec);
503: GEN algdep0(GEN x, long n, long bit,long prec);
504: GEN algdep2(GEN x, long n, long bit);
505: GEN factoredpolred(GEN x, GEN p, long prec);
506: GEN factoredpolred2(GEN x, GEN p, long prec);
507: GEN kerint(GEN x);
508: GEN kerint1(GEN x);
509: GEN kerint2(GEN x);
510: GEN lindep(GEN x, long prec);
511: GEN lindep0(GEN x, long flag,long prec);
512: GEN lindep2(GEN x, long bit);
513: GEN lll(GEN x, long prec);
514: GEN lll1(GEN x, long prec);
515: GEN lllgen(GEN x);
516: GEN lllgram(GEN x, long prec);
517: GEN lllgram1(GEN x, long prec);
518: GEN lllgramall(GEN x, long alpha, long flag);
519: GEN lllgramgen(GEN x);
520: GEN lllgramint(GEN x);
521: GEN lllgramintern(GEN x, long alpha, long flag, long prec);
522: GEN lllgramkerim(GEN x);
523: GEN lllgramkerimgen(GEN x);
524: GEN lllint(GEN x);
525: GEN lllintern(GEN x, long flag, long prec);
526: GEN lllintpartial(GEN mat);
527: GEN lllkerim(GEN x);
528: GEN lllkerimgen(GEN x);
529: GEN lllrat(GEN x);
530: GEN matkerint0(GEN x,long flag);
531: GEN minim(GEN a, GEN borne, GEN stockmax);
532: GEN qfminim0(GEN a, GEN borne, GEN stockmax,long flag, long prec);
533: GEN minim2(GEN a, GEN borne, GEN stockmax);
534: GEN ordred(GEN x, long prec);
535: GEN perf(GEN a);
536: GEN polred(GEN x, long prec);
537: GEN polredfirstpol(GEN x, long prec, int (*check)(GEN,GEN), GEN bnf);
538: GEN polred0(GEN x, long flag, GEN p, long prec);
539: GEN polred2(GEN x, long prec);
540: GEN polredabs(GEN x, long prec);
541: GEN polredabs0(GEN x, long flag, long prec);
542: GEN polredabs2(GEN x, long prec);
543: GEN polredabsall(GEN x, long flun, long prec);
544: GEN polredabsnored(GEN x, long prec);
545: GEN qflll0(GEN x, long flag, long prec);
546: GEN qflllgram0(GEN x, long flag, long prec);
547: GEN smallpolred(GEN x, long prec);
548: GEN smallpolred2(GEN x, long prec);
549:
550: /* bibli2.c */
551:
552: GEN binome(GEN x, long k);
553: int cmp_pol(GEN x, GEN y);
554: int cmp_prime_ideal(GEN x, GEN y);
555: int cmp_prime_over_p(GEN x, GEN y);
556: int cmp_vecint(GEN x, GEN y);
557: GEN convol(GEN x, GEN y);
558: GEN cyclo(long n, long v);
559: GEN dirdiv(GEN x, GEN y);
560: GEN dirmul(GEN x, GEN y);
561: GEN dirzetak(GEN nf, GEN b);
562: GEN gen_sort(GEN x, int flag, int (*cmp)(GEN,GEN));
563: GEN genrand(GEN N);
564: GEN getheap(void);
565: long getrand(void);
566: long getstack(void);
567: long gettime(void);
568: GEN gprec(GEN x, long l);
569: GEN gprec_w(GEN x, long pr);
570: GEN grando0(GEN x, long n, long do_clone);
571: GEN gtoset(GEN x);
572: GEN indexlexsort(GEN x);
573: GEN indexsort(GEN x);
574: GEN laplace(GEN x);
575: GEN legendre(long n, long v);
576: GEN lexsort(GEN x);
577: GEN mathilbert(long n);
578: GEN matqpascal(long n, GEN q);
579: long mymyrand(void);
580: GEN numtoperm(long n, GEN x);
581: int pari_compare_int(int *a,int *b);
582: int pari_compare_long(long *a,long *b);
583: GEN permtonum(GEN x);
584: GEN polint(GEN xa, GEN ya, GEN x, GEN *dy);
585: GEN polrecip(GEN x);
586: GEN polymodrecip(GEN x);
587: GEN setintersect(GEN x, GEN y);
588: long setisset(GEN x);
589: GEN setminus(GEN x, GEN y);
590: long setrand(long seed);
591: long setsearch(GEN x, GEN y, long flag);
592: GEN setunion(GEN x, GEN y);
593: GEN sindexlexsort(GEN x);
594: GEN sindexsort(GEN x);
595: GEN sort(GEN x);
596: long tablesearch(GEN T, GEN x, int (*cmp)(GEN,GEN));
597: GEN tayl(GEN x, long v, long precdl);
598: GEN tchebi(long n, long v);
599: GEN vecsort(GEN x, GEN k);
600: GEN vecsort0(GEN x, GEN k, long flag);
601:
602: /* buch1.c */
603:
604: GEN buchimag(GEN D, GEN gcbach, GEN gcbach2, GEN gCO);
605: GEN buchreal(GEN D, GEN gsens, GEN gcbach, GEN gcbach2, GEN gRELSUP, long prec);
606: GEN quadclassunit0(GEN x, long flag,GEN data, long prec);
607: GEN quadhilbert(GEN D, GEN flag, long prec);
608: GEN quadray(GEN bnf, GEN f, GEN flag, long prec);
609:
610:
611: /* buch2.c */
612:
613: GEN bnfclassunit0(GEN P,long flag,GEN data,long prec);
614: GEN bnfinit0(GEN P,long flag,GEN data,long prec);
615: GEN buchall(GEN P, GEN gcbach, GEN gcbach2, GEN gRELSUP, GEN gborne, long nbrelpid, long minsfb, long flun, long prec);
616: GEN buchfu(GEN bignf);
617: GEN classgrouponly(GEN P,GEN data,long prec);
618: GEN isprincipal(GEN bignf, GEN x);
619: GEN isprincipalall(GEN bignf, GEN x,long flall);
620: GEN isprincipalforce(GEN bignf,GEN x);
621: GEN isprincipalgen(GEN bignf, GEN x);
622: GEN isprincipalgenforce(GEN bignf,GEN x);
623: GEN isunit(GEN bignf, GEN x);
624: GEN bnfmake(GEN sbnf,long prec);
625: GEN regulator(GEN P,GEN data,long prec);
626: GEN signunits(GEN bignf);
627: GEN smallbuchinit(GEN pol,GEN gcbach,GEN gcbach2,GEN gRELSUP,GEN gborne,long nbrelpid,long minsfb,long prec);
628:
629: /* buch3.c */
630:
631: GEN bnrclass0(GEN bignf, GEN ideal, long flag);
632: GEN bnrconductor(GEN arg0,GEN arg1,GEN arg2,long all);
633: GEN bnrconductorofchar(GEN bnr,GEN chi);
634: GEN bnrdisc0(GEN arg0, GEN arg1, GEN arg2, long flag);
635: GEN bnrdisclist0(GEN bnf,GEN borne, GEN arch, long all);
636: GEN bnrinit0(GEN bignf,GEN ideal,long flag);
637: long bnrisconductor(GEN arg0,GEN arg1,GEN arg2);
638: GEN buchnarrow(GEN bignf);
639: GEN buchray(GEN bignf,GEN ideal);
640: GEN buchrayinit(GEN bignf,GEN ideal);
641: GEN buchrayinitgen(GEN bignf,GEN ideal);
642: long certifybuchall(GEN bnf);
643: GEN conductor(GEN bnr,GEN subgroup,long all);
644: GEN decodemodule(GEN nf, GEN fa);
645: GEN discrayabs(GEN bnr,GEN subgroup);
646: GEN discrayabscond(GEN bnr,GEN subgroup);
647: GEN discrayabslist(GEN bnf,GEN listes);
648: GEN discrayabslistarch(GEN bnf, GEN arch, long bound);
649: GEN discrayabslistlong(GEN bnf, long bound);
650: GEN discrayrel(GEN bnr,GEN subgroup);
651: GEN discrayrelcond(GEN bnr,GEN subgroup);
652: GEN isprincipalray(GEN bignf, GEN x);
653: GEN isprincipalrayall(GEN bignf, GEN x,long flall);
654: GEN isprincipalraygen(GEN bignf, GEN x);
655: GEN rayclassno(GEN bignf,GEN ideal);
656: GEN rayclassnolist(GEN bnf,GEN listes);
657: GEN rnfconductor(GEN bnf, GEN polrel, long flag);
658: GEN rnfkummer(GEN bnr, GEN subgroup, long all, long prec);
659: GEN rnfnormgroup(GEN bnr, GEN polrel);
660: GEN subgrouplist0(GEN bnr, long indexbound, long all);
661:
662: /* buch4.c */
663:
664: GEN bnfisnorm(GEN bnf,GEN x,long flag,long PREC);
665: GEN rnfisnorm(GEN bnf,GEN ext,GEN x,long flag,long PREC);
666: GEN bnfissunit(GEN bnf,GEN suni,GEN x);
667: GEN bnfsunit(GEN bnf,GEN s,long PREC);
668: long nfhilbert(GEN bnf,GEN a,GEN b);
669: long nfhilbert0(GEN bnf,GEN a,GEN b,GEN p);
670: long nfhilbertp(GEN bnf,GEN a,GEN b,GEN p);
671: long qpsoluble(GEN pol,GEN p);
672: long qpsolublenf(GEN bnf,GEN pol,GEN p);
673: long zpsoluble(GEN pol,GEN p);
674: long zpsolublenf(GEN bnf,GEN pol,GEN p);
675:
676: /* elliptic.c */
677:
678: GEN addell(GEN e, GEN z1, GEN z2);
679: GEN akell(GEN e, GEN n);
680: GEN anell(GEN e, long n);
681: GEN apell(GEN e, GEN p);
682: GEN apell2(GEN e, GEN p);
683: GEN bilhell(GEN e, GEN z1, GEN z2, long prec);
684: GEN coordch(GEN e, GEN ch);
685: GEN ellap0(GEN e, GEN p, long flag);
686: GEN elleisnum(GEN om, long k, long flag, long prec);
687: GEN elleta(GEN om, long prec);
688: GEN ellheight0(GEN e, GEN a, long flag,long prec);
689: GEN ellinit0(GEN x,long flag,long prec);
690: long ellrootno(GEN e, GEN p);
691: GEN ellsigma(GEN om, GEN z, long flag, long prec);
692: GEN elltors0(GEN e, long flag);
693: GEN ellwp0(GEN e, GEN z, long flag, long prec, long PREC);
694: GEN ellzeta(GEN om, GEN z, long prec);
695: GEN ghell(GEN e, GEN a, long prec);
696: GEN ghell2(GEN e, GEN a, long prec);
697: GEN globalreduction(GEN e1);
698: GEN initell(GEN x, long prec);
699: GEN localreduction(GEN e, GEN p1);
700: GEN lseriesell(GEN e, GEN s, GEN A, long prec);
701: GEN mathell(GEN e, GEN x, long prec);
702: int oncurve(GEN e, GEN z);
703: GEN ordell(GEN e, GEN x, long prec);
704: GEN orderell(GEN e, GEN p);
705: GEN pointch(GEN x, GEN ch);
706: GEN pointell(GEN e, GEN z, long prec);
707: GEN powell(GEN e, GEN z, GEN n);
708: GEN smallinitell(GEN x);
709: GEN subell(GEN e, GEN z1, GEN z2);
710: GEN taniyama(GEN e);
711: GEN torsell(GEN e);
712: GEN weipell(GEN e, long precdl);
713: GEN zell(GEN e, GEN z, long prec);
714:
715: /* es.c */
716:
717: char* GENtostr(GEN x);
718: void brute(GEN g, char format, long dec);
719: void bruteall(GEN g, char format, long dec, long flbl);
720: void bruterr(GEN x,char format,long dec);
721: const char* eng_ord(long i);
722: void ecrire(GEN x, char format, long dec, long chmp);
723: void etatpile(unsigned int n);
724: char* expand_tilde(char *s);
725: int file_is_binary(FILE *f);
726: char* filtre(char *s,char *t,int status);
727: void flusherr(void);
728: void fprintferr(char* pat, ...);
729: void killallfiles(int check);
730: int killfile(pariFILE *f);
731: GEN lisGEN(FILE *f);
732: void matbrute(GEN g, char format, long dec);
733: pariFILE* newfile(FILE *f, char *name, int type);
734: void os_close(long fd);
735: char* os_getenv(char *s);
736: long os_open(char *s, int mode);
737: void os_read(long fd, char ch[], long s);
738: void (*os_signal(int sig, void (*f)(int)))(int);
739: void outbeaut(GEN x);
740: void outbeauterr(GEN x);
741: void outbrute(GEN x);
742: void outerr(GEN x);
743: void outmat(GEN x);
744: void output(GEN x);
745: void outsor(GEN x);
746: void outtex(GEN x);
747: void pari_fclose(pariFILE *f);
748: pariFILE* pari_fopen(char *s, char *mode);
749: pariFILE* pari_safefopen(char *s, char *mode);
750: char* pari_strdup(char *s);
751: char* pari_unique_filename(char *s);
752: void pari_unlink(char *s);
753: void pariflush(void);
754: void pariputc(char c);
755: void pariputs(char *s);
756: void pariputsf(char *format, ...);
757: int popinfile(void);
758: GEN readbin(char *name, FILE *f);
759: void sor(GEN g, char fo, long dd, long chmp);
760: void switchin(char *name);
761: void switchout(char *name);
762: void texe(GEN g, char format, long dec);
763: pariFILE* try_pipe(char *cmd, int flag);
764: char* type_name(long t);
765: void voir(GEN x, long nb);
766: void vpariputs(char* format, va_list args);
767: void writebin(char *name, GEN x);
768:
769: /* galconj.c */
770:
771: GEN corediscpartial(GEN n);
772: GEN galoisconj(GEN nf);
773: GEN galoisconj0(GEN nf, long flag, GEN d, long prec);
774: GEN galoisconj2(GEN x, long nbmax, long prec);
775: GEN galoisconj4(GEN T, GEN den, long flag, long karma);
776: GEN galoisfixedfield(GEN gal, GEN v, long flag, long y);
777: GEN galoisinit(GEN nf, GEN den, long karma);
778: GEN galoispermtopol(GEN gal, GEN perm);
779: GEN galoissubcyclo(long n, GEN H, GEN Z, long v, long flag);
780: long numberofconjugates(GEN T, long pdepart);
781: GEN vandermondeinverse(GEN L, GEN T, GEN den, GEN prep);
782: /* gen1.c */
783:
784: GEN gadd(GEN x, GEN y);
785: GEN gdiv(GEN x, GEN y);
786: GEN gmul(GEN x, GEN y);
787: GEN gred(GEN x);
788: GEN gred_rfrac(GEN x);
789: GEN gsqr(GEN x);
790: GEN gsub(GEN x, GEN y);
791:
792: /* gen2.c */
793: void gop1z(GEN (*f)(GEN), GEN x, GEN y);
794: void gop2z(GEN (*f)(GEN, GEN), GEN x, GEN y, GEN z);
795: GEN gopgs2(GEN (*f)(GEN, GEN), GEN y, long s);
796: void gops2gsz(GEN (*f)(GEN, long), GEN x, long s, GEN z);
797: void gops2sgz(GEN (*f)(long, GEN), long s, GEN y, GEN z);
798: void gops2ssz(GEN (*f)(long, long), long s, long y, GEN z);
799: GEN gopsg2(GEN (*f)(GEN, GEN), long s, GEN y);
800: void gopsg2z(GEN (*f)(GEN, GEN), long s, GEN y, GEN z);
801: long opgs2(int (*f)(GEN, GEN), GEN y, long s);
802:
803: GEN cgetp(GEN x);
804: GEN co8(GEN x, long l);
805: GEN cvtop(GEN x, GEN p, long l);
806: GEN from_Kronecker(GEN z, GEN pol);
807: GEN gabs(GEN x, long prec);
808: void gaffect(GEN x, GEN y);
809: void gaffsg(long s, GEN x);
810: GEN gclone(GEN x);
811: int gcmp(GEN x, GEN y);
812: int gcmp0(GEN x);
813: int gcmp1(GEN x);
814: int gcmp_1(GEN x);
815: GEN gcvtop(GEN x, GEN p, long r);
816: int gegal(GEN x, GEN y);
817: long gexpo(GEN x);
818: long ggval(GEN x, GEN p);
819: long glength(GEN x);
820: GEN gmax(GEN x, GEN y);
821: GEN gmin(GEN x, GEN y);
822: GEN gneg(GEN x);
823: GEN gneg_i(GEN x);
824: GEN greffe(GEN x, long l, long use_stack);
825: int gsigne(GEN x);
826: GEN gtolist(GEN x);
827: long gtolong(GEN x);
828: int lexcmp(GEN x, GEN y);
829: GEN listconcat(GEN list1, GEN list2);
830: GEN listcreate(long n);
831: GEN listinsert(GEN list, GEN object, long index);
832: void listkill(GEN list);
833: GEN listput(GEN list, GEN object, long index);
834: GEN listsort(GEN list, long flag);
835: GEN matsize(GEN x);
836: GEN normalize(GEN x);
837: GEN normalizepol(GEN x);
838: GEN normalizepol_i(GEN x, long lx);
839: GEN pureimag(GEN x);
840: long pvaluation(GEN x, GEN p, GEN *py);
841: long sizedigit(GEN x);
842: long svaluation(ulong x, ulong p, long *py);
843: long taille(GEN x);
844: long taille2(GEN x);
845: GEN vecmax(GEN x);
846: GEN vecmin(GEN x);
847:
848: /* gen3.c */
849:
850: GEN Mod0(GEN x, GEN y,long flag);
851: GEN ceil_safe(GEN x);
852: GEN centerlift(GEN x);
853: GEN centerlift0(GEN x,long v);
854: GEN coefs_to_int(long n, ...);
855: GEN coefs_to_pol(long n, ...);
856: GEN compo(GEN x, long n);
857: GEN deg1pol(GEN x1, GEN x0,long v);
858: GEN deg1pol_i(GEN x1, GEN x0,long v);
859: long degree(GEN x);
860: GEN denom(GEN x);
861: GEN deriv(GEN x, long v);
862: GEN derivpol(GEN x);
863: GEN derivser(GEN x);
864: GEN gand(GEN x, GEN y);
865: GEN gceil(GEN x);
866: GEN gcvtoi(GEN x, long *e);
867: GEN gdivent(GEN x, GEN y);
868: GEN gdiventres(GEN x, GEN y);
869: GEN gdivgs(GEN x, long s);
870: GEN gdivmod(GEN x, GEN y, GEN *pr);
871: GEN gdivround(GEN x, GEN y);
872: GEN geq(GEN x, GEN y);
873: GEN geval(GEN x);
874: GEN gfloor(GEN x);
875: GEN gfrac(GEN x);
876: GEN gge(GEN x, GEN y);
877: GEN ggprecision(GEN x);
878: GEN ggt(GEN x, GEN y);
879: GEN gimag(GEN x);
880: GEN ginv(GEN x);
881: GEN gle(GEN x, GEN y);
882: GEN glt(GEN x, GEN y);
883: GEN gmod(GEN x, GEN y);
884: GEN gmodulcp(GEN x,GEN y);
885: GEN gmodulo(GEN x,GEN y);
886: GEN gmodulsg(long x, GEN y);
887: GEN gmodulss(long x, long y);
888: GEN gmul2n(GEN x, long n);
889: GEN gmulsg(long s, GEN y);
890: GEN gne(GEN x, GEN y);
891: GEN gnot(GEN x);
892: GEN gor(GEN x, GEN y);
893: GEN gpolvar(GEN y);
894: long gprecision(GEN x);
895: GEN gram_matrix(GEN M);
896: GEN greal(GEN x);
897: GEN grndtoi(GEN x, long *e);
898: GEN ground(GEN x);
899: GEN gshift(GEN x, long n);
900: GEN gsubst(GEN x, long v, GEN y);
901: GEN gsubst0(GEN x, GEN v, GEN y);
902: GEN gtopoly(GEN x, long v);
903: GEN gtopolyrev(GEN x, long v);
904: GEN gtoser(GEN x, long v);
905: GEN gtovec(GEN x);
906: GEN gtovecsmall(GEN x);
907: GEN gtrunc(GEN x);
908: int gvar(GEN x);
909: int gvar2(GEN x);
910: int gvar9(GEN x);
911: GEN hqfeval(GEN q, GEN x);
912: GEN integ(GEN x, long v);
913: int iscomplex(GEN x);
914: int isexactzero(GEN g);
915: int isinexactreal(GEN x);
916: int ismonome(GEN x);
917: GEN lift(GEN x);
918: GEN lift0(GEN x,long v);
919: GEN lift_intern0(GEN x,long v);
920: GEN mulmat_real(GEN x, GEN y);
921: GEN numer(GEN x);
922: long padicprec(GEN x, GEN p);
923: GEN polcoeff0(GEN x,long n,long v);
924: long poldegree(GEN x,long v);
925: GEN poleval(GEN x, GEN y);
926: GEN pollead(GEN x,long v);
927: long precision(GEN x);
928: GEN precision0(GEN x,long n);
929: GEN qf_base_change(GEN q, GEN M, int flag);
930: GEN qfeval(GEN q, GEN x);
931: GEN recip(GEN x);
932: GEN round0(GEN x, GEN *pte);
933: GEN scalarpol(GEN x, long v);
934: GEN scalarser(GEN x, long v, long prec);
935: GEN simplify(GEN x);
936: GEN simplify_i(GEN x);
937: GEN truecoeff(GEN x, long n);
938: GEN trunc0(GEN x, GEN *pte);
939: GEN u2toi(ulong a, ulong b);
940: GEN zeropol(long v);
941: GEN zeroser(long v, long prec);
942:
943: /* ifactor1.c */
944:
945: long millerrabin(GEN n, long k);
946: GEN nextprime(GEN n);
947: GEN plisprime(GEN N, long flag);
948: GEN precprime(GEN n);
949:
950: /* init.c */
951:
952: long allocatemoremem(ulong newsize);
953: GEN changevar(GEN x, GEN y);
954: void checkmemory(GEN x);
955: void disable_dbg(long val);
956: GEN dummycopy(GEN x);
957: void err(long numerr, ...);
958: void *err_catch(long errnum, jmp_buf env, void *data);
959: void err_leave(void **v);
960: GEN forcecopy(GEN x);
961: void freeall(void);
962: GEN gcopy(GEN x);
963: GEN gcopy_i(GEN x, long lx);
964: void genmsgtimer(long t, char *format, ...);
965: long gentimer(long i);
966: GEN gerepile(long ltop, long lbot, GEN q);
967: GEN gerepilecopy(long av, GEN x);
968: void gerepilemany(long av, GEN* g[], long n);
969: void gerepilemanycoeffs(long av, GEN x, long n);
970: void gerepilemanysp(long av, long tetpil, GEN* g[], long n);
971: void gerepilemanyvec(long av, long tetpil, long *g, long n);
972: GEN gerepileupto(long av, GEN q);
973: GEN gerepileuptoint(long av, GEN q);
974: GEN gerepileuptoleaf(long av, GEN q);
975: long get_timer(long t);
976: char* gpmalloc(size_t bytes);
977: char* gprealloc(void *pointer,size_t newsize,size_t oldsize);
978: void gunclone(GEN x);
979: void killbloc(GEN x);
980: void msgtimer(char *format, ...);
981: GEN newbloc(long n);
982: void pari_init(long parisize, long maxprime);
983: GEN reorder(GEN x);
984: void stackdummy(GEN x, long l);
985: stackzone* switch_stack(stackzone *z, long n);
986: long timer(void);
987: long timer2(void);
988:
989: /* mp.c ou mp.s */
990:
991: int absi_cmp(GEN x, GEN y);
992: int absi_equal(GEN x, GEN y);
993: int absr_cmp(GEN x, GEN y);
994: GEN addii(GEN x, GEN y);
995: GEN addir(GEN x, GEN y);
996: GEN addrr(GEN x, GEN y);
997: GEN addsi(long x, GEN y);
998: GEN addsr(long x, GEN y);
999: GEN addss(long x, long y);
1000: void affir(GEN x, GEN y);
1001: void affrr(GEN x, GEN y);
1002: GEN bezout(GEN a, GEN b, GEN *u, GEN *v);
1003: long cbezout(long a,long b,long *uu,long *vv);
1004: void cgiv(GEN x);
1005: int cmpii(GEN x, GEN y);
1006: int cmprr(GEN x, GEN y);
1007: int cmpsi(long x, GEN y);
1008: GEN dbltor(double x);
1009: GEN diviiexact(GEN x, GEN y);
1010: void diviiz(GEN x, GEN y, GEN z);
1011: GEN divir(GEN x, GEN y);
1012: GEN divis(GEN y, long x);
1013: GEN divri(GEN x, GEN y);
1014: GEN divrr(GEN x, GEN y);
1015: GEN divrs(GEN x, long y);
1016: GEN divsi(long x, GEN y);
1017: GEN divsr(long x, GEN y);
1018: GEN dvmdii(GEN x, GEN y, GEN *z);
1019: int egalii(GEN x, GEN y);
1020: int invmod(GEN a, GEN b, GEN *res);
1021: GEN modii(GEN x, GEN y);
1022: void modiiz(GEN x, GEN y, GEN z);
1023: GEN modiu(GEN y, ulong x);
1024: GEN modsi(long x, GEN y);
1025: GEN modss(long x, long y);
1026: GEN modui(ulong x, GEN y);
1027: void mpdivz(GEN x, GEN y, GEN z);
1028: GEN mpent(GEN x);
1029: GEN mptrunc(GEN x);
1030: GEN mulii(GEN x, GEN y);
1031: GEN mulir(GEN x, GEN y);
1032: GEN mulrr(GEN x, GEN y);
1033: GEN mulsi(long x, GEN y);
1034: GEN mulsr(long x, GEN y);
1035: GEN mulss(long x, long y);
1036: GEN mului(ulong x, GEN y);
1037: GEN muluu(ulong x, ulong y);
1038: int ratlift(GEN x, GEN m, GEN *a, GEN *b, GEN amax, GEN bmax);
1039: GEN resss(long x, long y);
1040: double rtodbl(GEN x);
1041: GEN shifti(GEN x, long n);
1042: long smodsi(long x, GEN y);
1043: GEN sqri(GEN x);
1044: GEN truedvmdii(GEN x, GEN y, GEN *z);
1045: ulong umodiu(GEN y, ulong x);
1046: long vals(ulong x);
1047:
1048: /* nffactor.c */
1049:
1050: GEN nffactor(GEN nf,GEN x);
1051: GEN nffactormod(GEN nf,GEN pol,GEN pr);
1052: GEN nfroots(GEN nf,GEN pol);
1053: GEN rnfcharpoly(GEN nf,GEN T,GEN alpha,int n);
1054: GEN rnfdedekind(GEN nf,GEN T,GEN pr);
1055: GEN unifpol(GEN nf,GEN pol,long flag);
1056:
1057: /* polarit1.c */
1058: GEN FpV_roots_to_pol(GEN V, GEN p, long v);
1059: long FpX_is_irred(GEN f, GEN p);
1060: long FpX_is_squarefree(GEN f, GEN p);
1061: long FpX_is_totally_split(GEN f, GEN p);
1062: long FpX_nbfact(GEN f, GEN p);
1063: long FpX_nbroots(GEN f, GEN p);
1064: GEN apprgen(GEN f, GEN a);
1065: GEN apprgen9(GEN f, GEN a);
1066: GEN factcantor(GEN x, GEN p);
1067: GEN factmod(GEN f, GEN p);
1068: GEN factmod0(GEN f, GEN p);
1069: GEN factmod9(GEN f, GEN p, GEN a);
1070: GEN factormod0(GEN f, GEN p,long flag);
1071: GEN factorpadic0(GEN f,GEN p,long r,long flag);
1072: GEN factorpadic2(GEN x, GEN p, long r);
1073: GEN factorpadic4(GEN x, GEN p, long r);
1074: int gdivise(GEN x, GEN y);
1075: long hensel_lift_accel(long n, long *pmask);
1076: GEN incloop(GEN a);
1077: GEN mat_to_polpol(GEN x, long v,long w);
1078: GEN mat_to_vecpol(GEN x, long v);
1079: GEN padicsqrtnlift(GEN a, GEN n, GEN S, GEN p, long e);
1080: int poldivis(GEN x, GEN y, GEN *z);
1081: GEN poldivres(GEN x, GEN y, GEN *pr);
1082: GEN polpol_to_mat(GEN v, long n);
1083: GEN rootmod(GEN f, GEN p);
1084: GEN rootmod0(GEN f, GEN p,long flag);
1085: GEN rootmod2(GEN f, GEN p);
1086: GEN rootpadic(GEN f, GEN p, long r);
1087: GEN rootpadicfast(GEN f, GEN p, long e);
1088: GEN rootpadiclift(GEN T, GEN S, GEN q, long e);
1089: GEN rootpadicliftroots(GEN f, GEN S, GEN q, long e);
1090: GEN roots2(GEN pol,long PREC);
1091: GEN rootsold(GEN x, long l);
1092: GEN setloop(GEN a);
1093: GEN simplefactmod(GEN f, GEN p);
1094: GEN vecpol_to_mat(GEN v, long n);
1095:
1096: /* polarit2.c */
1097:
1098: GEN bezoutpol(GEN a, GEN b, GEN *u, GEN *v);
1099: GEN centermod(GEN x, GEN p);
1100: GEN content(GEN x);
1101: GEN discsr(GEN x);
1102: GEN divide_conquer_prod(GEN x, GEN (*mul)(GEN,GEN));
1103: GEN factor(GEN x);
1104: GEN factor0(GEN x,long flag);
1105: GEN factorback(GEN fa,GEN nf);
1106: GEN factpol(GEN x, long hint);
1107: GEN gbezout(GEN x, GEN y, GEN *u, GEN *v);
1108: GEN gcd0(GEN x, GEN y,long flag);
1109: GEN gdeflate(GEN x, long v, long d);
1110: GEN gdivexact(GEN x, GEN y);
1111: GEN ggcd(GEN x, GEN y);
1112: GEN ggcd0(GEN x, GEN y);
1113: GEN ginvmod(GEN x, GEN y);
1114: GEN gisirreducible(GEN x);
1115: GEN glcm(GEN x, GEN y);
1116: GEN glcm0(GEN x, GEN y);
1117: long logint(GEN B, GEN y, GEN *ptq);
1118: GEN newtonpoly(GEN x, GEN p);
1119: GEN nfisincl(GEN a, GEN b);
1120: GEN nfisisom(GEN a, GEN b);
1121: GEN poldeflate(GEN x0, long *m);
1122: GEN poldisc0(GEN x, long v);
1123: GEN polfnf(GEN a, GEN t);
1124: GEN polhensellift(GEN pol, GEN fct, GEN p, long exp);
1125: GEN polinflate(GEN x0, long d);
1126: GEN polresultant0(GEN x, GEN y,long v,long flag);
1127: GEN polsym(GEN x, long n);
1128: GEN primitive_part(GEN x, GEN *c);
1129: GEN quadgen(GEN x);
1130: GEN quadpoly(GEN x);
1131: GEN quadpoly0(GEN x, long v);
1132: GEN reduceddiscsmith(GEN pol);
1133: GEN resultant2(GEN x, GEN y);
1134: GEN resultantducos(GEN x, GEN y);
1135: GEN sort_factor(GEN y, int (*cmp)(GEN,GEN));
1136: GEN sort_factor_gen(GEN y, int (*cmp)(GEN,GEN));
1137: GEN srgcd(GEN x, GEN y);
1138: long sturmpart(GEN x, GEN a, GEN b);
1139: GEN subresall(GEN u, GEN v, GEN *sol);
1140: GEN subresext(GEN x, GEN y, GEN *U, GEN *V);
1141: GEN sylvestermatrix(GEN x,GEN y);
1142: GEN vecbezout(GEN x, GEN y);
1143: GEN vecbezoutres(GEN x, GEN y);
1144:
1145: /* polarit3.c */
1146:
1147: GEN FpM(GEN z, GEN p);
1148: GEN FpM_red(GEN z, GEN p);
1149: GEN FpV(GEN z, GEN p);
1150: GEN FpV_red(GEN z, GEN p);
1151: GEN FpX(GEN z, GEN p);
1152: GEN FpX_FpXQ_compo(GEN T,GEN x,GEN pol,GEN p);
1153: GEN FpX_FpXQV_compo(GEN T,GEN x,GEN pol,GEN p);
1154: GEN FpX_Fp_add(GEN y,GEN x,GEN p);
1155: GEN FpX_Fp_mul(GEN y,GEN x,GEN p);
1156: GEN FpX_add(GEN x,GEN y,GEN p);
1157: GEN FpX_center(GEN T,GEN mod);
1158: GEN FpX_chinese_coprime(GEN x,GEN y,GEN Tx,GEN Ty,GEN Tz,GEN p);
1159: GEN FpX_divres(GEN x, GEN y, GEN p, GEN *pr);
1160: GEN FpX_eval(GEN x,GEN y,GEN p);
1161: GEN FpX_extgcd(GEN x, GEN y, GEN p, GEN *ptu, GEN *ptv);
1162: GEN FpX_gcd(GEN x, GEN y, GEN p);
1163: GEN FpX_mul(GEN x,GEN y,GEN p);
1164: GEN FpX_neg(GEN x,GEN p);
1165: GEN FpX_normalize(GEN z, GEN p);
1166: GEN FpX_red(GEN z, GEN p);
1167: GEN FpX_small(GEN z, GEN p, long l);
1168: GEN FpX_sqr(GEN x,GEN p);
1169: GEN FpX_sub(GEN x,GEN y,GEN p);
1170: GEN FpXQ_charpoly(GEN x, GEN T, GEN p);
1171: GEN FpXQ_inv(GEN x,GEN pol,GEN p);
1172: GEN FpXQ_minpoly(GEN x, GEN T, GEN p);
1173: GEN FpXQ_mul(GEN y,GEN x,GEN pol,GEN p);
1174: GEN FpXQ_pow(GEN x, GEN n, GEN pol, GEN p);
1175: GEN FpXQ_powers(GEN x, long l, GEN T, GEN p);
1176: GEN FpXQ_sqr(GEN y, GEN pol, GEN p);
1177: GEN FpXQX_mul(GEN x, GEN y, GEN T, GEN p);
1178: GEN FpXQX_red(GEN z, GEN T, GEN p);
1179: GEN FpXQX_sqr(GEN x, GEN T, GEN p);
1180: GEN FpXQX_extgcd(GEN x, GEN y, GEN T, GEN p, GEN *ptu, GEN *ptv);
1181: GEN FpXQ_inv(GEN x,GEN pol,GEN p);
1182: GEN FpXQX_FpXQ_mul(GEN P, GEN U, GEN T, GEN p);
1183: GEN FpXQX_divres(GEN x, GEN y, GEN T, GEN p, GEN *pr);
1184: GEN FpXQX_red(GEN z, GEN T, GEN p);
1185: GEN FpXQX_normalize(GEN z, GEN T, GEN p);
1186: GEN FpXV_FpV_dotproduct(GEN V, GEN W, GEN p);
1187: GEN FpXV_red(GEN z, GEN p);
1188: GEN FpXX_red(GEN z, GEN p);
1189: GEN Fp_factor_rel(GEN P, GEN l, GEN Q);
1190: GEN Fp_factor_rel0(GEN P, GEN l, GEN Q);
1191: void Fp_intersect(long n,GEN P,GEN Q,GEN l,GEN *SP,GEN *SQ,GEN MA,GEN MB);
1192: GEN Fp_inv_isom(GEN S,GEN Tp, GEN p);
1193: GEN Fp_isom(GEN P,GEN Q,GEN l);
1194: GEN FqV_roots_to_pol(GEN V, GEN p, GEN Tp, long v);
1195: GEN ZX_disc(GEN x);
1196: GEN ZX_invmod(GEN A, GEN B);
1197: GEN ZX_rescale_pol(GEN P, GEN h);
1198: GEN ZX_resultant(GEN A, GEN B);
1199: GEN ZX_s_add(GEN y,long x);
1200: long brent_kung_optpow(long d, long n);
1201: GEN ffsqrtnmod(GEN a, GEN n, GEN T, GEN p, GEN *zetan);
1202: GEN modulargcd(GEN a,GEN b);
1203: GEN quickmul(GEN a, GEN b, long na, long nb);
1204: GEN quicksqr(GEN a, long na);
1205: GEN small_to_mat(GEN z);
1206: GEN small_to_pol(GEN z, long v);
1207: GEN pol_to_small(GEN x);
1208: GEN stopoly(long m, long p, long v);
1209: GEN stopoly_gen(GEN m, GEN p, long v);
1210: GEN u_FpXQ_pow(GEN x, GEN n, GEN pol, ulong p);
1211: GEN u_FpX_divrem(GEN x, GEN y, ulong p, int malloc, GEN *pr);
1212: GEN u_FpX_rem(GEN x, GEN y, ulong p);
1213: GEN u_Fp_FpM(GEN x, ulong p);
1214: GEN u_Fp_FpX(GEN x,int malloc, ulong p);
1215: int u_FpX_is_squarefree(GEN z, ulong p);
1216: GEN u_FpX_normalize(GEN z, ulong p);
1217: GEN u_FpX_sub(GEN x, GEN y, ulong p);
1218: GEN u_FpX_gcd(GEN a, GEN b, ulong p);
1219:
1220: /* rootpol.c */
1221:
1222: int isrealappr(GEN x, long l);
1223: GEN roots(GEN x,long l);
1224: GEN roots0(GEN x,long flag,long l);
1225:
1226: /* subfields.c */
1227:
1228: GEN ffinit(GEN p,long n, long v);
1229: GEN subfields(GEN nf,GEN d);
1230: GEN subfields0(GEN nf,GEN d);
1231: GEN conjugates(GEN pol);
1232:
1233: /* subgroup.c */
1234:
1235: void forsubgroup(entree *oep, GEN cyc, long bound, char *och);
1236: GEN subgrouplist(GEN cyc, long bound);
1237:
1238: /* stark.c */
1239:
1240: GEN bnrL1(GEN bnr, GEN sbgrp, long flag, long prec);
1241: GEN bnrrootnumber(GEN bnr, GEN chi, long flag, long prec);
1242: GEN bnrstark(GEN bnr, GEN subgroup, long flag, long prec);
1243:
1244: /* sumiter.c */
1245:
1246: GEN direulerall(entree *ep, GEN a, GEN b, char *ch, GEN c);
1247: GEN direuler(entree *ep, GEN a, GEN b, char *ch);
1248: GEN divsum(GEN num,entree *ep, char *ch);
1249: void fordiv(GEN a, entree *ep, char *ch);
1250: void forpari(entree *ep, GEN a, GEN b, char *ch);
1251: void forprime(entree *ep, GEN a, GEN b, char *ch);
1252: void forstep(entree *ep, GEN a, GEN b, GEN s, char *ch);
1253: void forvec(entree *ep, GEN x, char *ch, long flag);
1254: GEN intnum0(entree *ep, GEN a, GEN b, char *ch,long flag,long prec);
1255: GEN matrice(GEN nlig, GEN ncol,entree *ep1, entree *ep2, char *ch);
1256: GEN polzag(long n, long m);
1257: GEN polzagreel(long n, long m, long prec);
1258: GEN prodeuler(entree *ep, GEN a, GEN b, char *ch, long prec);
1259: GEN prodinf(entree *ep, GEN a, char *ch, long prec);
1260: GEN prodinf0(entree *ep, GEN a, char *ch, long flag, long prec);
1261: GEN prodinf1(entree *ep, GEN a, char *ch, long prec);
1262: GEN produit(entree *ep, GEN a, GEN b, char *ch, GEN x);
1263: GEN qromb(entree *ep, GEN a, GEN b, char *ch, long prec);
1264: GEN qromi(entree *ep, GEN a, GEN b, char *ch, long prec);
1265: GEN qromo(entree *ep, GEN a, GEN b, char *ch, long prec);
1266: GEN rombint(entree *ep, GEN a, GEN b, char *ch, long prec);
1267: GEN somme(entree *ep, GEN a, GEN b, char *ch, GEN x);
1268: GEN sumalt(entree *ep, GEN a, char *ch, long prec);
1269: GEN sumalt0(entree *ep, GEN a, char *ch,long flag, long prec);
1270: GEN sumalt2(entree *ep, GEN a, char *ch, long prec);
1271: GEN sumpos(entree *ep, GEN a, char *ch, long prec);
1272: GEN sumpos0(entree *ep, GEN a, char *ch, long flag,long prec);
1273: GEN sumpos2(entree *ep, GEN a, char *ch, long prec);
1274: GEN suminf(entree *ep, GEN a, char *ch, long prec);
1275: GEN vecteur(GEN nmax, entree *ep, char *ch);
1276: GEN vvecteur(GEN nmax, entree *ep, char *ch);
1277: GEN zbrent(entree *ep, GEN a, GEN b, char *ch, long prec);
1278:
1279: /* thue.c */
1280:
1281: GEN bnfisintnorm(GEN x, GEN y);
1282: GEN thue(GEN thueres, GEN rhs, GEN ne);
1283: GEN thueinit(GEN poly, long flag, long prec);
1284:
1285: /* trans1.c */
1286:
1287: void consteuler(long prec);
1288: void constpi(long prec);
1289: GEN gcos(GEN x, long prec);
1290: void gcosz(GEN x, GEN y);
1291: GEN gcotan(GEN x, long prec);
1292: GEN gexp(GEN x, long prec);
1293: void gexpz(GEN x, GEN y);
1294: GEN glog(GEN x, long prec);
1295: void glogz(GEN x, GEN y);
1296: GEN gpow(GEN x, GEN n, long prec);
1297: GEN gpowgs(GEN x, long n);
1298: GEN gsin(GEN x, long prec);
1299: void gsincos(GEN x, GEN *s, GEN *c, long prec);
1300: void gsinz(GEN x, GEN y);
1301: GEN gsqrt(GEN x, long prec);
1302: void gsqrtz(GEN x, GEN y);
1303: GEN gsqrtn(GEN x, GEN n, GEN *zetan, long prec);
1304: GEN gtan(GEN x, long prec);
1305: void gtanz(GEN x, GEN y);
1306: GEN log0(GEN x,long flag, long prec);
1307: GEN mpeuler(long prec);
1308: GEN mpexp(GEN x);
1309: GEN mpexp1(GEN x);
1310: GEN mplog(GEN x);
1311: GEN mppi(long prec);
1312: GEN mpsqrt(GEN x);
1313: GEN palog(GEN x);
1314: GEN powgi(GEN x, GEN n);
1315: GEN teich(GEN x);
1316: GEN transc(GEN (*f) (GEN, long), GEN x, long prec);
1317:
1318: /* trans2.c */
1319:
1320: GEN bernfrac(long n);
1321: GEN bernreal(long n, long prec);
1322: GEN bernvec(long nomb);
1323: GEN gach(GEN x, long prec);
1324: void gachz(GEN x, GEN y);
1325: GEN gacos(GEN x, long prec);
1326: void gacosz(GEN x, GEN y);
1327: GEN garg(GEN x, long prec);
1328: GEN gash(GEN x, long prec);
1329: void gashz(GEN x, GEN y);
1330: GEN gasin(GEN x, long prec);
1331: void gasinz(GEN x, GEN y);
1332: GEN gatan(GEN x, long prec);
1333: void gatanz(GEN x, GEN y);
1334: GEN gath(GEN x, long prec);
1335: void gathz(GEN x, GEN y);
1336: GEN gch(GEN x, long prec);
1337: void gchz(GEN x, GEN y);
1338: GEN ggamd(GEN x, long prec);
1339: void ggamdz(GEN x, GEN y);
1340: GEN ggamma(GEN x, long prec);
1341: void ggammaz(GEN x, GEN y);
1342: GEN glngamma(GEN x, long prec);
1343: void glngammaz(GEN x, GEN y);
1344: GEN gpsi(GEN x, long prec);
1345: void gpsiz(GEN x, GEN y);
1346: GEN gsh(GEN x, long prec);
1347: void gshz(GEN x, GEN y);
1348: GEN gth(GEN x, long prec);
1349: void gthz(GEN x, GEN y);
1350: void mpbern(long nomb, long prec);
1351: void mpgamdz(long s, GEN y);
1352:
1353: /* trans3.c */
1354:
1355: GEN agm(GEN x, GEN y, long prec);
1356: GEN cgetc(long l);
1357: GEN dilog(GEN x, long prec);
1358: GEN eint1(GEN x, long prec);
1359: GEN eta(GEN x, long prec);
1360: GEN eta0(GEN x, long flag,long prec);
1361: GEN gerfc(GEN x, long prec);
1362: GEN glogagm(GEN x, long prec);
1363: GEN gpolylog(long m, GEN x, long prec);
1364: void gpolylogz(long m, GEN x, GEN y);
1365: GEN gzeta(GEN x, long prec);
1366: void gzetaz(GEN x, GEN y);
1367: GEN hyperu(GEN a, GEN b, GEN gx, long prec);
1368: GEN incgam(GEN a, GEN x, long prec);
1369: GEN incgam0(GEN a, GEN x, GEN z,long prec);
1370: GEN incgam1(GEN a, GEN x, long prec);
1371: GEN incgam2(GEN a, GEN x, long prec);
1372: GEN incgam3(GEN a, GEN x, long prec);
1373: GEN incgam4(GEN a, GEN x, GEN z, long prec);
1374: GEN jbesselh(GEN n, GEN z, long prec);
1375: GEN jell(GEN x, long prec);
1376: GEN kbessel(GEN nu, GEN gx, long prec);
1377: GEN kbessel0(GEN nu, GEN gx, long flag,long prec);
1378: GEN kbessel2(GEN nu, GEN x, long prec);
1379: GEN logagm(GEN q);
1380: GEN polylog(long m, GEN x, long prec);
1381: GEN polylog0(long m, GEN x, long flag, long prec);
1382: GEN polylogd(long m, GEN x, long prec);
1383: GEN polylogdold(long m, GEN x, long prec);
1384: GEN polylogp(long m, GEN x, long prec);
1385: GEN theta(GEN q, GEN z, long prec);
1386: GEN thetanullk(GEN q, long k, long prec);
1387: GEN trueeta(GEN x, long prec);
1388: GEN veceint1(GEN nmax, GEN C, long prec);
1389: GEN weber0(GEN x, long flag,long prec);
1390: GEN wf(GEN x, long prec);
1391: GEN wf2(GEN x, long prec);
1392: ENDEXTERN
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>