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