1 /* $Id: paridecl.h 9689 2008-02-23 06:41:39Z kb $ 2 3 Copyright (C) 2000-2003 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 /* Flx.c */ 22 GEN Fl_to_Flx(ulong x, long sv); 23 GEN Flc_to_ZC(GEN z); 24 GEN Flm_to_FlxV(GEN x, long sv); 25 GEN Flm_to_FlxX(GEN x, long v,long w); 26 GEN Flm_to_ZM(GEN z); 27 GEN Flv_to_Flx(GEN x, long vs); 28 GEN Flv_to_ZV(GEN z); 29 GEN Flv_polint(GEN xa, GEN ya, ulong p, long vs); 30 GEN Flv_roots_to_pol(GEN a, ulong p, long vs); 31 GEN Flx_Fl_mul(GEN y, ulong x, ulong p); 32 GEN Flx_to_Flv(GEN x, long N); 33 GEN Flx_to_ZX(GEN z); 34 GEN Flx_to_ZX_inplace(GEN z); 35 GEN Flx_add(GEN x, GEN y, ulong p); 36 GEN Flx_deriv(GEN z, ulong p); 37 GEN Flx_div_by_X_x(GEN a, ulong x, ulong p, ulong *rem); 38 GEN Flx_divrem(GEN x, GEN y, ulong p, GEN *pr); 39 ulong Flx_eval(GEN x, ulong y, ulong p); 40 GEN Flx_extgcd(GEN a, GEN b, ulong p, GEN *ptu, GEN *ptv); 41 ulong Flx_extresultant(GEN a, GEN b, ulong p, GEN *ptU, GEN *ptV); 42 GEN Flx_gcd(GEN a, GEN b, ulong p); 43 GEN Flx_gcd_i(GEN a, GEN b, ulong p); 44 GEN Flx_invmontgomery(GEN T, ulong p); 45 int Flx_is_squarefree(GEN z, ulong p); 46 GEN Flx_mul(GEN x, GEN y, ulong p); 47 GEN Flx_neg(GEN x, ulong p); 48 GEN Flx_neg_inplace(GEN x, ulong p); 49 GEN Flx_normalize(GEN z, ulong p); 50 GEN Flx_pow(GEN x, long n, ulong p); 51 GEN Flx_recip(GEN x); 52 GEN Flx_red(GEN z, ulong p); 53 GEN Flx_rem_montgomery(GEN x, GEN mg, GEN T, ulong p); 54 GEN Flx_rem(GEN x, GEN y, ulong p); 55 GEN Flx_renormalize(GEN x, long l); 56 ulong Flx_resultant(GEN a, GEN b, ulong p); 57 GEN Flx_shift(GEN a, long n); 58 GEN Flx_sqr(GEN x, ulong p); 59 GEN Flx_sub(GEN x, GEN y, ulong p); 60 long Flx_valuation(GEN x); 61 GEN FlxC_to_ZXC(GEN x); 62 GEN FlxM_to_ZXM(GEN z); 63 GEN FlxV_Flc_mul(GEN V, GEN W, ulong p); 64 GEN FlxV_to_Flm(GEN v, long n); 65 GEN FlxX_add(GEN P, GEN Q, ulong p); 66 GEN FlxX_renormalize(GEN x, long lx); 67 GEN FlxX_shift(GEN a, long n); 68 GEN FlxX_to_Flm(GEN v, long n); 69 GEN FlxX_to_ZXX(GEN B); 70 GEN FlxYqQ_pow(GEN x, GEN n, GEN S, GEN T, ulong p); 71 GEN Flxq_inv(GEN x,GEN T,ulong p); 72 GEN Flxq_invsafe(GEN x, GEN T, ulong p); 73 GEN Flxq_mul(GEN y,GEN x,GEN T,ulong p); 74 GEN Flxq_pow(GEN x, GEN n, GEN T, ulong p); 75 GEN Flxq_powers(GEN x, long l, GEN T, ulong p); 76 GEN Flxq_sqr(GEN y,GEN T,ulong p); 77 GEN FlxqV_roots_to_pol(GEN V, GEN T, ulong p, long v); 78 GEN FlxqX_normalize(GEN z, GEN T, ulong p); 79 GEN FlxqX_Flxq_mul(GEN P, GEN U, GEN T, ulong p); 80 GEN FlxqX_red(GEN z, GEN T, ulong p); 81 GEN FlxqX_mul(GEN x, GEN y, GEN T, ulong p); 82 GEN FlxqX_safegcd(GEN P, GEN Q, GEN T, ulong p); 83 GEN FlxqX_sqr(GEN x, GEN T, ulong p); 84 GEN FlxqX_divrem(GEN x, GEN y, GEN T, ulong p, GEN *pr); 85 GEN FlxqXQ_pow(GEN x, GEN n, GEN S, GEN T, ulong p); 86 GEN FlxqXV_prod(GEN V, GEN T, ulong p); 87 GEN Z_to_Flx(GEN x, ulong p, long v); 88 GEN ZM_to_Flm(GEN x, ulong p); 89 GEN ZV_to_Flv(GEN x, ulong p); 90 GEN ZX_to_Flx(GEN x, ulong p); 91 GEN ZXV_to_FlxV(GEN v, ulong p); 92 GEN ZXX_to_FlxX(GEN B, ulong p, long v); 93 GEN ZXXV_to_FlxXV(GEN V, ulong p, long v); 94 GEN polx_Flx(long sv); 95 GEN zero_Flx(long sv); 96 97 /* alglin1.c */ 98 99 GEN Flm_Flc_mul(GEN x, GEN y, ulong p); 100 GEN Flm_deplin(GEN x, ulong p); 101 GEN Flm_gauss(GEN a, GEN b, ulong p); 102 GEN Flm_indexrank(GEN x, ulong p); 103 GEN Flm_inv(GEN x, ulong p); 104 GEN Flm_ker(GEN x, ulong p); 105 GEN Flm_ker_sp(GEN x, ulong p, long deplin); 106 GEN Flm_mul(GEN x, GEN y, ulong p); 107 GEN FlxqM_ker(GEN x, GEN T, ulong p); 108 GEN FpC_Fp_mul(GEN x, GEN y, GEN p); 109 GEN FpC_FpV_mul(GEN x, GEN y, GEN p); 110 GEN FpM_FpC_mul(GEN x, GEN y, GEN p); 111 GEN FpM_deplin(GEN x, GEN p); 112 GEN FpM_gauss(GEN a, GEN b, GEN p); 113 GEN FpM_image(GEN x, GEN p); 114 GEN FpM_intersect(GEN x, GEN y, GEN p); 115 GEN FpM_inv(GEN x, GEN p); 116 GEN FpM_invimage(GEN m, GEN v, GEN p); 117 GEN FpM_ker(GEN x, GEN p); 118 GEN FpM_mul(GEN x, GEN y, GEN p); 119 long FpM_rank(GEN x, GEN p); 120 GEN FpM_indexrank(GEN x, GEN p); 121 GEN FpM_suppl(GEN x, GEN p); 122 GEN FpV_FpC_mul(GEN x, GEN y, GEN p); 123 GEN FqM_gauss(GEN a, GEN b, GEN T, GEN p); 124 GEN FqM_ker(GEN x, GEN T, GEN p); 125 GEN FqM_suppl(GEN x, GEN T, GEN p); 126 GEN QM_inv(GEN M, GEN dM); 127 GEN ZM_inv(GEN M, GEN dM); 128 void appendL(GEN x, GEN t); 129 GEN cget1(long l, long t); 130 GEN concat(GEN x, GEN y); 131 GEN shallowconcat(GEN x, GEN y); 132 GEN concatsp3(GEN x, GEN y, GEN z); 133 GEN deplin(GEN x); 134 GEN det(GEN a); 135 GEN det0(GEN a,long flag); 136 GEN det2(GEN a); 137 GEN detint(GEN x); 138 GEN diagonal(GEN x); 139 GEN eigen(GEN x, long prec); 140 GEN extract(GEN x, GEN l); 141 GEN extract0(GEN x, GEN l1, GEN l2); 142 GEN gaddmat(GEN x, GEN y); 143 GEN gaddmat_i(GEN x, GEN y); 144 GEN gauss(GEN a, GEN b); 145 GEN gaussmodulo(GEN M, GEN D, GEN Y); 146 GEN gaussmodulo2(GEN M, GEN D, GEN Y); 147 GEN gscalcol(GEN x, long n); 148 GEN gscalcol_i(GEN x, long n); 149 GEN gscalmat(GEN x, long n); 150 GEN gscalsmat(long x, long n); 151 GEN gtomat(GEN x); 152 GEN gtrans(GEN x); 153 GEN shallowtrans(GEN x); 154 int hnfdivide(GEN A, GEN B); 155 GEN matid(long n); 156 GEN matid_Flm(long n); 157 GEN image(GEN x); 158 GEN image2(GEN x); 159 GEN imagecompl(GEN x); 160 GEN indexrank(GEN x); 161 GEN inverseimage(GEN mat, GEN y); 162 long isdiagonal(GEN x); 163 long isscalarmat(GEN x, GEN s); 164 GEN ker(GEN x); 165 GEN keri(GEN x); 166 GEN matextract(GEN x, GEN l1, GEN l2); 167 GEN matimage0(GEN x,long flag); 168 GEN matker0(GEN x, long flag); 169 GEN matmuldiagonal(GEN x, GEN d); 170 GEN matmultodiagonal(GEN x, GEN y); 171 GEN matsolvemod0(GEN M, GEN D, GEN Y,long flag); 172 GEN mattodiagonal(GEN m); 173 GEN mattodiagonal_i(GEN m); 174 long rank(GEN x); 175 GEN row(GEN A, long x1); 176 GEN row_i(GEN A, long x0, long x1, long x2); 177 GEN rowcopy(GEN A, long x0); 178 GEN rowslice(GEN A, long x1, long x2); 179 GEN rowslicepermute(GEN A, GEN p, long x1, long x2); 180 GEN rowpermute(GEN A, GEN p); 181 GEN sindexrank(GEN x); 182 GEN sum(GEN v, long a, long b); 183 GEN suppl(GEN x); 184 GEN vconcat(GEN A, GEN B); 185 GEN vecslice(GEN A, long y1, long y2); 186 GEN vecslicepermute(GEN A, GEN p, long y1, long y2); 187 GEN vecpermute(GEN A, GEN p); 188 189 /* alglin2.c */ 190 191 GEN QuickNormL1(GEN x,long prec); 192 GEN QuickNormL2(GEN x,long prec); 193 int RgM_ishnf(GEN x); 194 GEN RgXQ_norm(GEN x, GEN T); 195 GEN ZM_to_zm(GEN z); 196 int ZM_ishnf(GEN x); 197 GEN ZV_add(GEN x, GEN y); 198 GEN ZV_sub(GEN x, GEN y); 199 GEN ZV_to_nv(GEN z); 200 GEN adj(GEN x); 201 GEN assmat(GEN x); 202 GEN caract(GEN x, long v); 203 GEN caract2(GEN p, GEN x, long v); 204 GEN caradj(GEN x, long v, GEN *py); 205 GEN caradj0(GEN x, long v); 206 GEN carhess(GEN x, long v); 207 GEN charpoly0(GEN x, long v,long flag); 208 GEN conjvec(GEN x,long prec); 209 GEN gconj(GEN x); 210 GEN gnorm(GEN x); 211 GEN gnorml1(GEN x,long prec); 212 GEN gnorml2(GEN x); 213 GEN gsmith(GEN x); 214 GEN gsmith2(GEN x); 215 GEN gtrace(GEN x); 216 GEN hess(GEN x); 217 GEN hnf(GEN x); 218 GEN hnfall(GEN x); 219 GEN hnfall_i(GEN A, GEN *ptB, long remove); 220 GEN hnflll(GEN x); 221 GEN hnflll_i(GEN A, GEN *ptB, int remove); 222 GEN hnfmod(GEN x, GEN detmat); 223 GEN hnfmodid(GEN x,GEN p); 224 GEN hnfmodidpart(GEN x, GEN p); 225 GEN hnfperm(GEN x); 226 GEN intersect(GEN x, GEN y); 227 GEN jacobi(GEN a, long prec); 228 GEN matfrobenius(GEN M, long flag, long v); 229 GEN mathnf0(GEN x, long flag); 230 GEN matrixqz(GEN x, GEN pp); 231 GEN matrixqz0(GEN x, GEN pp); 232 GEN matrixqz2(GEN x); 233 GEN matrixqz3(GEN x); 234 GEN matsnf0(GEN x, long flag); 235 GEN minpoly(GEN x, long v); 236 GEN signat(GEN a); 237 GEN smith(GEN x); 238 GEN smith2(GEN x); 239 GEN smithall(GEN x, GEN *ptU, GEN *ptV); 240 GEN smithclean(GEN z); 241 GEN smithrel(GEN H, GEN *newU, GEN *newUi); 242 GEN sqred(GEN a); 243 GEN sqred1(GEN a); 244 GEN sqred3(GEN a); 245 GEN zm_to_ZM(GEN z); 246 GEN zx_to_ZX(GEN z); 247 248 /* anal.c */ 249 250 void addhelp(entree *ep, char *s); 251 void delete_named_var(entree *ep); 252 long delete_var(void); 253 entree* fetch_named_var(char *s); 254 long fetch_user_var(char *s); 255 long fetch_var(void); 256 void freeep(entree *ep); 257 GEN gp_read_str(char *t); 258 entree* gp_variable(char *s); 259 long hashvalue(char **s); 260 entree* install(void *f, char *name, char *code); 261 entree* is_entry(char *s); 262 void kill0(entree *ep); 263 GEN readseq(char *t); 264 long manage_var(long n, entree *ep); 265 void name_var(long n, char *s); 266 GEN strtoGENstr(const char *s); 267 GEN strtoi(char *s); 268 GEN strtor(char *s, long prec); 269 GEN type0(GEN x); 270 271 /* aprcl.c */ 272 273 long isprimeAPRCL(GEN N); 274 275 /* Qfb.c */ 276 277 void check_quaddisc(GEN x, long *s, long *r, char *f); 278 void check_quaddisc_real(GEN x, long *r, char *f); 279 void check_quaddisc_imag(GEN x, long *r, char *f); 280 GEN compimag(GEN x, GEN y); 281 GEN compimagraw(GEN x, GEN y); 282 GEN compraw(GEN x, GEN y); 283 GEN compreal(GEN x, GEN y); 284 GEN comprealraw(GEN x, GEN y); 285 GEN nucomp(GEN x, GEN y, GEN l); 286 GEN nudupl(GEN x, GEN l); 287 GEN nupow(GEN x, GEN n); 288 GEN powraw(GEN x, long n); 289 GEN powrealraw(GEN x, long n); 290 GEN primeform(GEN x, GEN p, long prec); 291 GEN Qfb0(GEN x, GEN y, GEN z, GEN d, long prec); 292 GEN qfbimagsolvep(GEN Q, GEN p); 293 GEN qfbrealsolvep(GEN Q, GEN p); 294 GEN qfbred0(GEN x, long flag, GEN D, GEN isqrtD, GEN sqrtD); 295 GEN qfbsolve(GEN Q, GEN n); 296 GEN qfi(GEN x, GEN y, GEN z); 297 GEN qfr(GEN x, GEN y, GEN z, GEN d); 298 GEN quadgen(GEN x); 299 GEN quadpoly(GEN x); 300 GEN quadpoly0(GEN x, long v); 301 GEN redimag(GEN x); 302 GEN redreal(GEN x); 303 GEN redrealnod(GEN x, GEN isqrtD); 304 GEN rhoreal(GEN x); 305 GEN rhorealnod(GEN x, GEN isqrtD); 306 GEN sqcompimag(GEN x); 307 GEN sqcompreal(GEN x); 308 309 /* arith1.c */ 310 311 ulong Fl_pow(ulong x, ulong n, ulong p); 312 ulong Fl_sqrt(ulong a, ulong p); 313 GEN Fp_inv(GEN a, GEN m); 314 GEN Fp_invsafe(GEN a, GEN m); 315 GEN Fp_pow(GEN a, GEN n, GEN m); 316 GEN Fp_pows(GEN A, long k, GEN N); 317 GEN Fp_powu(GEN x, ulong k, GEN p); 318 GEN Fp_sqrt(GEN a, GEN p); 319 GEN Fp_sqrtn(GEN a, GEN n, GEN p, GEN *zetan); 320 long Z_issquarerem(GEN x, GEN *pt); 321 GEN bestappr0(GEN x, GEN a, GEN b); 322 GEN bestappr(GEN x, GEN k); 323 long cgcd(long a,long b); 324 GEN chinese1(GEN x); 325 GEN chinese(GEN x, GEN y); 326 GEN classno2(GEN x); 327 GEN classno(GEN x); 328 long clcm(long a,long b); 329 GEN contfrac0(GEN x, GEN b, long flag); 330 GEN fibo(long n); 331 GEN fundunit(GEN x); 332 GEN gboundcf(GEN x, long k); 333 GEN gcf2(GEN b, GEN x); 334 GEN gcf(GEN x); 335 GEN gener(GEN m); 336 ulong gener_Fl_local(ulong p, GEN L); 337 ulong gener_Fl(ulong p); 338 GEN gener_Fp_local(GEN p, GEN L); 339 GEN gener_Fp(GEN p); 340 GEN gfundunit(GEN x); 341 GEN ggener(GEN m); 342 long gisanypower(GEN x, GEN *pty); 343 GEN gisfundamental(GEN x); 344 GEN gisprime(GEN x, long flag); 345 GEN gispseudoprime(GEN x, long flag); 346 GEN gispsp(GEN x); 347 GEN gissquarerem(GEN x, GEN *pt); 348 GEN gissquare(GEN x); 349 GEN gkrogs(GEN x, long y); 350 GEN gkronecker(GEN x, GEN y); 351 GEN gmillerrabin(GEN n, long k); 352 GEN gnextprime(GEN n); 353 GEN gprecprime(GEN n); 354 GEN gracine(GEN a); 355 GEN gregula(GEN x, long prec); 356 GEN hclassno(GEN x); 357 long hil0(GEN x, GEN y, GEN p); 358 long hil(GEN x, GEN y, GEN p); 359 long isanypower(GEN x, GEN *y); 360 long isfundamental(GEN x); 361 long ispower(GEN x, GEN k, GEN *pty); 362 long isprime(GEN x); 363 long isprimeSelfridge(GEN x); 364 long ispseudoprime(GEN x, long flag); 365 long ispsp(GEN x); 366 long krois(GEN x, long y); 367 long kronecker(GEN x, GEN y); 368 long krosi(long s, GEN x); 369 long kross(long x, long y); 370 long krouu(ulong x, ulong y); 371 GEN lcmii(GEN a, GEN b); 372 GEN mpfact(long n); 373 GEN order(GEN x); 374 GEN pnqn(GEN x); 375 GEN qfbclassno0(GEN x,long flag); 376 GEN quaddisc(GEN x); 377 GEN racine(GEN a); 378 GEN regula(GEN x, long prec); 379 GEN seq_umul(ulong a, ulong b); 380 long uissquarerem(ulong A, ulong *sqrtA); 381 GEN znorder(GEN x, GEN o); 382 GEN znstar(GEN x); 383 384 /* arith2.c */ 385 386 long Z_issquarefree(GEN x); 387 GEN addprimes(GEN primes); 388 GEN auxdecomp(GEN n, long all); 389 long bigomega(GEN n); 390 GEN binaire(GEN x); 391 long bittest(GEN x, long n); 392 GEN boundfact(GEN n, long lim); 393 GEN core(GEN n); 394 GEN corepartial(GEN n, long l); 395 GEN core0(GEN n,long flag); 396 GEN core2(GEN n); 397 GEN core2partial(GEN n, long l); 398 GEN coredisc(GEN n); 399 GEN coredisc0(GEN n,long flag); 400 GEN coredisc2(GEN n); 401 GEN divisors(GEN n); 402 GEN factorint(GEN n, long flag); 403 GEN factoru(ulong n); 404 GEN factoru_pow(ulong n); 405 GEN gbigomega(GEN n); 406 GEN gbitand(GEN x, GEN y); 407 GEN gbitneg(GEN x, long n); 408 GEN gbitnegimply(GEN x, GEN y); 409 GEN gbitor(GEN x, GEN y); 410 GEN gbittest(GEN x, GEN n); 411 GEN gbitxor(GEN x, GEN y); 412 GEN gboundfact(GEN n, long lim); 413 GEN gissquarefree(GEN x); 414 GEN gmu(GEN n); 415 GEN gnumbdiv(GEN n); 416 GEN gomega(GEN n); 417 GEN gphi(GEN n); 418 GEN gsumdiv(GEN n); 419 GEN gsumdivk(GEN n,long k); 420 byteptr initprimes(ulong maxnum); 421 long issquarefree(GEN x); 422 ulong maxprime(void); 423 void maxprime_check(ulong c); 424 long mu(GEN n); 425 GEN numbdiv(GEN n); 426 long omega(GEN n); 427 GEN phi(GEN n); 428 GEN prime(long n); 429 GEN primepi(GEN x); 430 GEN primes(long n); 431 GEN removeprimes(GEN primes); 432 GEN smallfact(GEN n); 433 GEN sumdiv(GEN n); 434 GEN sumdivk(GEN n,long k); 435 GEN Z_factor(GEN n); 436 437 /* base1.c */ 438 439 GEN T2_from_embed(GEN x, long r1); 440 void check_ZX(GEN x, char *s); 441 void check_ZXY(GEN x, char *s); 442 GEN check_units(GEN x, char *f); 443 void checkbid(GEN bid); 444 GEN checkbnf(GEN bnf); 445 void checkbnr(GEN bnr); 446 void checkbnrgen(GEN bnr); 447 void checkid(GEN x, long N); 448 GEN checknf(GEN nf); 449 GEN checknfelt_mod(GEN nf, GEN x, char *s); 450 void checkprimeid(GEN bid); 451 void checkrnf(GEN rnf); 452 GEN dirzetak(GEN nf, GEN b); 453 GEN factoredpolred(GEN x, GEN fa); 454 GEN factoredpolred2(GEN x, GEN fa); 455 GEN galois(GEN x, long prec); 456 GEN galoisapply(GEN nf, GEN aut, GEN x); 457 GEN get_bnf(GEN x, long *t); 458 GEN get_bnfpol(GEN x, GEN *bnf, GEN *nf); 459 GEN get_nf(GEN x, long *t); 460 GEN get_nfpol(GEN x, GEN *nf); 461 GEN get_primeid(GEN x); 462 GEN glambdak(GEN nfz, GEN s, long prec); 463 int gpolcomp(GEN p1, GEN p2); 464 GEN gzetak(GEN nfz, GEN s, long prec); 465 GEN gzetakall(GEN nfz, GEN s, long flag, long prec); 466 GEN initalg(GEN x, long prec); 467 GEN initalgred(GEN x, long prec); 468 GEN initalgred2(GEN x, long prec); 469 GEN initzeta(GEN pol, long prec); 470 long nf_get_r1(GEN nf); 471 long nf_get_r2(GEN nf); 472 void nf_get_sign(GEN nf, long *r1, long *r2); 473 long nfgetprec(GEN x); 474 GEN nfinit0(GEN x, long flag, long prec); 475 GEN nfisincl(GEN a, GEN b); 476 GEN nfisisom(GEN a, GEN b); 477 GEN nfnewprec(GEN nf, long prec); 478 GEN nfnewprec_i(GEN nf, long prec); 479 GEN ordred(GEN x); 480 GEN polgalois(GEN x, long prec); 481 GEN polred(GEN x); 482 GEN polred0(GEN x, long flag, GEN p); 483 GEN polred2(GEN x); 484 GEN polredabs(GEN x); 485 GEN polredabs0(GEN x, long flag); 486 GEN polredabs2(GEN x); 487 GEN polredabsall(GEN x, long flun); 488 GEN rootsof1(GEN x); 489 GEN smallpolred(GEN x); 490 GEN smallpolred2(GEN x); 491 GEN tschirnhaus(GEN x); 492 493 /* base2.c */ 494 495 GEN allbase(GEN f, long flag, GEN *dx, GEN *dK, GEN *index, GEN *ptw); 496 GEN base(GEN x, GEN *y); 497 GEN base2(GEN x, GEN *y); 498 void checkmodpr(GEN modpr); 499 GEN compositum(GEN pol1, GEN pol2); 500 GEN compositum2(GEN pol1, GEN pol2); 501 GEN discf(GEN x); 502 GEN discf2(GEN x); 503 GEN factoredbase(GEN x, GEN p, GEN *y); 504 GEN factoreddiscf(GEN x, GEN p); 505 GEN ff_to_nf(GEN x, GEN modpr); 506 GEN fix_relative_pol(GEN nf, GEN x, int chk_lead); 507 GEN gcdpm(GEN f1,GEN f2,GEN pm); 508 GEN indexpartial(GEN P, GEN DP); 509 GEN modprX(GEN x, GEN nf,GEN modpr); 510 GEN modprX_lift(GEN x, GEN modpr); 511 GEN modprM(GEN z, GEN nf,GEN modpr); 512 GEN modprM_lift(GEN z, GEN modpr); 513 GEN nf_to_ff_init(GEN nf, GEN *pr, GEN *T, GEN *p); 514 GEN nf_to_ff(GEN nf, GEN x, GEN modpr); 515 GEN nfbasis(GEN x, GEN *y,long flag,GEN p); 516 GEN nfbasis0(GEN x,long flag,GEN p); 517 GEN nfdiscf0(GEN x,long flag, GEN p); 518 GEN nfmodprinit(GEN nf, GEN pr); 519 GEN nfreducemodpr(GEN nf, GEN x, GEN modpr); 520 GEN polcompositum0(GEN pol1, GEN pol2,long flag); 521 GEN primedec(GEN nf,GEN p); 522 GEN rnfbasis(GEN bnf, GEN order); 523 GEN rnfdedekind(GEN nf, GEN T, GEN pr); 524 GEN rnfdet(GEN nf, GEN order); 525 GEN rnfdet2(GEN nf, GEN A, GEN I); 526 GEN rnfdiscf(GEN nf, GEN pol); 527 GEN rnfequation(GEN nf, GEN pol2); 528 GEN rnfequation0(GEN nf, GEN pol2, long flall); 529 GEN rnfequation2(GEN nf, GEN pol); 530 GEN rnfhnfbasis(GEN bnf, GEN order); 531 long rnfisfree(GEN bnf, GEN order); 532 GEN rnflllgram(GEN nf, GEN pol, GEN order,long prec); 533 GEN rnfpolred(GEN nf, GEN pol, long prec); 534 GEN rnfpolredabs(GEN nf, GEN pol, long flag); 535 GEN rnfpseudobasis(GEN nf, GEN pol); 536 GEN rnfsimplifybasis(GEN bnf, GEN order); 537 GEN rnfsteinitz(GEN nf, GEN order); 538 GEN smallbase(GEN x, GEN *y); 539 GEN smalldiscf(GEN x); 540 long val_fact(ulong n, ulong p); 541 GEN zk_to_ff_init(GEN nf, GEN *pr, GEN *T, GEN *p); 542 GEN zk_to_ff(GEN x, GEN modpr); 543 GEN zkmodprinit(GEN nf, GEN pr); 544 545 /* base3.c */ 546 547 int RgV_isscalar(GEN x); 548 GEN algtobasis(GEN nf, GEN x); 549 GEN arch_to_perm(GEN arch); 550 GEN basistoalg(GEN nf, GEN x); 551 GEN dethnf(GEN x); 552 GEN dethnf_i(GEN mat); 553 GEN element_div(GEN nf, GEN x, GEN y); 554 GEN element_inv(GEN nf, GEN x); 555 GEN element_invmodideal(GEN nf, GEN x, GEN ideal); 556 GEN element_mul(GEN nf,GEN x,GEN y); 557 GEN element_muli(GEN nf,GEN x,GEN y); 558 GEN element_mulid(GEN nf, GEN x, long i); 559 GEN element_pow(GEN nf,GEN x,GEN k); 560 GEN element_powmodideal(GEN nf,GEN x,GEN k,GEN ideal); 561 GEN element_powmodidele(GEN nf,GEN x,GEN k,GEN idele,GEN structarch); 562 GEN element_sqr(GEN nf,GEN x); 563 GEN element_sqri(GEN nf, GEN x); 564 long element_val(GEN nf, GEN x, GEN vp); 565 GEN eltmul_get_table(GEN nf, GEN x); 566 GEN ideallist(GEN nf,long bound); 567 GEN ideallist0(GEN nf,long bound, long flag); 568 GEN ideallistarch(GEN nf, GEN list, GEN arch); 569 GEN ideallistunit(GEN nf,long bound); 570 GEN ideallistunitgen(GEN nf,long bound); 571 GEN ideallistzstar(GEN nf,long bound); 572 GEN ideallistzstargen(GEN nf,long bound); 573 GEN idealstar0(GEN nf, GEN x,long flag); 574 int isnfscalar(GEN x); 575 GEN lift_to_pol(GEN x); 576 GEN lllreducemodmatrix(GEN x,GEN y); 577 GEN matalgtobasis(GEN nf, GEN x); 578 GEN matbasistoalg(GEN nf, GEN x); 579 GEN nfdiveuc(GEN nf, GEN a, GEN b); 580 GEN nfdivrem(GEN nf, GEN a, GEN b); 581 GEN nfmod(GEN nf, GEN a, GEN b); 582 GEN nfreducemodideal(GEN nf,GEN x,GEN ideal); 583 GEN nfreducemodidele(GEN nf,GEN g,GEN idele,GEN structarch); 584 GEN reducemodinvertible(GEN x, GEN y); 585 GEN reducemodmatrix(GEN x, GEN y); 586 GEN reducemodHNF(GEN x, GEN y, GEN *Q); 587 GEN rnfalgtobasis(GEN rnf, GEN x); 588 GEN rnfbasistoalg(GEN rnf, GEN x); 589 GEN set_sign_mod_idele(GEN nf, GEN x, GEN y, GEN idele, GEN sarch); 590 GEN vecmodii(GEN a, GEN b); 591 GEN zarchstar(GEN nf,GEN x,GEN arch); 592 GEN zideallog(GEN nf,GEN x,GEN bigideal); 593 GEN zidealstar(GEN nf, GEN x); 594 GEN zidealstarinit(GEN nf, GEN x); 595 GEN Idealstar(GEN nf, GEN x,long flun); 596 GEN zidealstarinitgen(GEN nf, GEN x); 597 GEN znlog(GEN x, GEN g); 598 GEN zsigne(GEN nf,GEN alpha,GEN arch); 599 GEN zsigns(GEN nf,GEN alpha); 600 601 /* base4.c */ 602 603 GEN element_divmodpr(GEN nf, GEN x, GEN y, GEN modpr); 604 GEN element_invmodpr(GEN nf, GEN y, GEN modpr); 605 GEN element_mulmodpr(GEN nf, GEN x, GEN y, GEN modpr); 606 GEN element_mulvec(GEN nf, GEN x, GEN v); 607 GEN element_powmodpr(GEN nf, GEN x, GEN k, GEN modpr); 608 GEN element_reduce(GEN nf, GEN x, GEN ideal); 609 GEN ideal_two_elt(GEN nf, GEN ix); 610 GEN ideal_two_elt0(GEN nf, GEN ix, GEN a); 611 GEN ideal_two_elt2(GEN nf, GEN x, GEN a); 612 GEN idealadd(GEN nf, GEN x, GEN y); 613 GEN idealaddmultoone(GEN nf, GEN list); 614 GEN idealaddtoone(GEN nf, GEN x, GEN y); 615 GEN idealaddtoone0(GEN nf, GEN x, GEN y); 616 GEN idealappr(GEN nf, GEN x); 617 GEN idealappr0(GEN nf, GEN x, long fl); 618 GEN idealapprfact(GEN nf, GEN x); 619 GEN idealchinese(GEN nf, GEN x, GEN y); 620 GEN idealcoprime(GEN nf, GEN x, GEN y); 621 GEN idealdiv(GEN nf, GEN x, GEN y); 622 GEN idealdiv0(GEN nf, GEN x, GEN y,long flag); 623 GEN idealdivexact(GEN nf, GEN x, GEN y); 624 GEN idealdivpowprime(GEN nf, GEN x, GEN vp, GEN n); 625 GEN idealmulpowprime(GEN nf, GEN x, GEN vp, GEN n); 626 GEN idealfactor(GEN nf, GEN x); 627 GEN idealhermite(GEN nf, GEN x); 628 GEN idealhnf0(GEN nf, GEN a, GEN b); 629 GEN idealintersect(GEN nf, GEN x, GEN y); 630 GEN idealinv(GEN nf, GEN ix); 631 GEN ideallllred(GEN nf,GEN ix,GEN vdir,long prec); 632 GEN ideallllred_elt(GEN nf, GEN I, GEN vdir); 633 GEN idealmul(GEN nf, GEN ix, GEN iy); 634 GEN idealmul0(GEN nf, GEN ix, GEN iy, long flag, long prec); 635 GEN idealmulh(GEN nf, GEN ix, GEN iy); 636 GEN idealmulprime(GEN nf,GEN ix,GEN vp); 637 GEN idealmulred(GEN nf, GEN ix, GEN iy, long prec); 638 GEN idealnorm(GEN nf, GEN x); 639 GEN idealpow(GEN nf, GEN ix, GEN n); 640 GEN idealpow0(GEN nf, GEN ix, GEN n, long flag, long prec); 641 GEN idealpowred(GEN nf, GEN ix, GEN n,long prec); 642 GEN idealpows(GEN nf, GEN ideal, long iexp); 643 GEN idealprodprime(GEN nf, GEN L); 644 GEN idealred_elt(GEN nf, GEN I); 645 long idealtyp(GEN *ideal, GEN *arch); 646 long idealval(GEN nf,GEN ix,GEN vp); 647 GEN ideleaddone(GEN nf, GEN x, GEN idele); 648 int isidentity(GEN x); 649 long isideal(GEN nf,GEN x); 650 GEN minideal(GEN nf,GEN ix,GEN vdir,long prec); 651 GEN mul_content(GEN cx, GEN cy); 652 GEN nfdetint(GEN nf,GEN pseudo); 653 GEN nfhermite(GEN nf, GEN x); 654 GEN nfhermitemod(GEN nf, GEN x, GEN detmat); 655 GEN nfkermodpr(GEN nf, GEN x, GEN modpr); 656 GEN nfsmith(GEN nf, GEN x); 657 GEN nfsolvemodpr(GEN nf, GEN a, GEN b, GEN modpr); 658 GEN prime_to_ideal(GEN nf, GEN vp); 659 GEN principalideal(GEN nf, GEN a); 660 GEN principalidele(GEN nf, GEN a, long prec); 661 GEN vecdiv(GEN x, GEN y); 662 GEN vecinv(GEN x); 663 GEN vecmul(GEN x, GEN y); 664 GEN vecpow(GEN x, GEN n); 665 666 /* base5.c */ 667 668 GEN rnfelementabstorel(GEN rnf, GEN x); 669 GEN rnfelementdown(GEN rnf, GEN x); 670 GEN rnfelementreltoabs(GEN rnf, GEN x); 671 GEN rnfelementup(GEN rnf, GEN x); 672 GEN rnfidealabstorel(GEN rnf, GEN x); 673 GEN rnfidealdown(GEN rnf, GEN x); 674 GEN rnfidealhermite(GEN rnf, GEN x); 675 GEN rnfidealmul(GEN rnf,GEN x,GEN y); 676 GEN rnfidealnormabs(GEN rnf, GEN x); 677 GEN rnfidealnormrel(GEN rnf, GEN x); 678 GEN rnfidealreltoabs(GEN rnf, GEN x); 679 GEN rnfidealtwoelement(GEN rnf,GEN x); 680 GEN rnfidealup(GEN rnf, GEN x); 681 GEN rnfinitalg(GEN nf,GEN pol,long prec); 682 683 /* bibli1.c */ 684 685 GEN ZM_zc_mul(GEN x, GEN y); 686 GEN ZM_zm_mul(GEN x, GEN y); 687 GEN algdep(GEN x, long n, long prec); 688 GEN algdep0(GEN x, long n, long bit,long prec); 689 GEN algdep2(GEN x, long n, long bit); 690 GEN gram_matrix(GEN M); 691 GEN kerint(GEN x); 692 GEN kerint1(GEN x); 693 GEN lindep(GEN x, long prec); 694 GEN lindep0(GEN x, long flag,long prec); 695 GEN lindep2(GEN x, long bit); 696 GEN lll(GEN x, long prec); 697 GEN lllgen(GEN x); 698 GEN lllgram(GEN x, long prec); 699 GEN lllgramgen(GEN x); 700 GEN lllgramint(GEN x); 701 GEN lllgramkerim(GEN x); 702 GEN lllgramkerimgen(GEN x); 703 GEN lllint(GEN x); 704 GEN lllint_i(GEN x, long alpha, int gram, GEN *h, GEN *ptfl, GEN *ptB); 705 GEN lllint_ip(GEN x, long alpha); 706 GEN lllintpartial(GEN mat); 707 GEN lllintpartial_ip(GEN mat); 708 GEN lllkerim(GEN x); 709 GEN lllkerimgen(GEN x); 710 GEN matkerint0(GEN x,long flag); 711 GEN minim(GEN a, GEN borne, GEN stockmax); 712 GEN qfrep0(GEN a, GEN borne, long flag); 713 GEN qfminim0(GEN a, GEN borne, GEN stockmax,long flag, long prec); 714 GEN minim2(GEN a, GEN borne, GEN stockmax); 715 GEN perf(GEN a); 716 GEN qflll0(GEN x, long flag, long prec); 717 GEN qflllgram0(GEN x, long flag, long prec); 718 char* stackmalloc(size_t N); 719 GEN zncoppersmith(GEN P0, GEN N, GEN X, GEN B) ; 720 721 /* bibli2.c */ 722 723 GEN binomial(GEN x, long k); 724 int cmp_prime_ideal(GEN x, GEN y); 725 int cmp_prime_over_p(GEN x, GEN y); 726 int cmp_vecint(GEN x, GEN y); 727 GEN convol(GEN x, GEN y); 728 GEN cyclo(long n, long v); 729 GEN dirdiv(GEN x, GEN y); 730 GEN dirmul(GEN x, GEN y); 731 long gen_search(GEN x, GEN y, long flag, int (*cmp)(GEN,GEN)); 732 long gen_search_aux(GEN x, GEN y, long flag, void *data, int (*cmp)(void*,GEN,GEN)); 733 GEN gen_setminus(GEN set1, GEN set2, int (*cmp)(GEN,GEN)); 734 GEN gen_sort(GEN x, long flag, int (*cmp)(GEN,GEN)); 735 GEN gen_sort_aux(GEN x, long flag, void *data, int (*cmp)(void *,GEN,GEN)); 736 GEN genrand(GEN N); 737 long getrand(void); 738 long getstack(void); 739 long gettime(void); 740 GEN gprec(GEN x, long l); 741 GEN gprec_wtrunc(GEN x, long pr); 742 GEN gprec_w(GEN x, long pr); 743 GEN gtoset(GEN x); 744 GEN indexlexsort(GEN x); 745 GEN indexsort(GEN x); 746 GEN laplace(GEN x); 747 GEN legendre(long n, long v); 748 GEN lexsort(GEN x); 749 GEN mathilbert(long n); 750 GEN matqpascal(long n, GEN q); 751 GEN modreverse_i(GEN a, GEN T); 752 GEN numtoperm(long n, GEN x); 753 int pari_compare_lg(GEN a,GEN b); 754 int pari_compare_long(long *a,long *b); 755 GEN permtonum(GEN x); 756 GEN polint(GEN xa, GEN ya, GEN x, GEN *dy); 757 GEN polrecip(GEN x); 758 GEN polymodrecip(GEN x); 759 GEN roots_to_pol(GEN a, long v); 760 GEN setintersect(GEN x, GEN y); 761 long setisset(GEN x); 762 GEN setminus(GEN x, GEN y); 763 long setrand(long seed); 764 long setsearch(GEN x, GEN y, long flag); 765 GEN setunion(GEN x, GEN y); 766 GEN sindexlexsort(GEN x); 767 GEN sindexsort(GEN x); 768 GEN sort(GEN x); 769 long tablesearch(GEN T, GEN x, int (*cmp)(GEN,GEN)); 770 GEN tchebi(long n, long v); 771 GEN vecbinome(long n); 772 GEN vecsort(GEN x, GEN k); 773 GEN vecsort0(GEN x, GEN k, long flag); 774 775 /* buch1.c */ 776 777 GEN buchimag(GEN D, GEN gcbach, GEN gcbach2, GEN gCO); 778 GEN buchreal(GEN D, GEN gsens, GEN gcbach, GEN gcbach2, GEN gRELSUP, long prec); 779 GEN quadclassunit0(GEN x, long flag,GEN data, long prec); 780 GEN quadhilbert(GEN D, GEN flag, long prec); 781 GEN quadray(GEN bnf, GEN f, GEN flag, long prec); 782 783 784 /* buch2.c */ 785 786 GEN bnfclassunit0(GEN P,long flag,GEN data,long prec); 787 GEN bnfinit0(GEN P,long flag,GEN data,long prec); 788 GEN bnfmake(GEN sbnf,long prec); 789 GEN bnfnewprec(GEN nf, long prec); 790 GEN bnrnewprec(GEN bnr, long prec); 791 GEN buchall(GEN P, double bach, double bach2, long nbrelpid, long flun, long prec); 792 GEN buchfu(GEN bignf); 793 GEN check_and_build_obj(GEN S, long tag, GEN (*build)(GEN)); 794 GEN classgrouponly(GEN P,GEN data,long prec); 795 GEN isprincipal(GEN bignf, GEN x); 796 GEN isprincipalall(GEN bignf, GEN x,long flall); 797 GEN isprincipalfact(GEN bnf,GEN P, GEN e, GEN C, long flag); 798 GEN isprincipalforce(GEN bignf,GEN x); 799 GEN isprincipalgen(GEN bignf, GEN x); 800 GEN isprincipalgenforce(GEN bignf,GEN x); 801 GEN isunit(GEN bignf, GEN x); 802 GEN regulator(GEN P,GEN data,long prec); 803 GEN signunits(GEN bignf); 804 GEN smallbuchinit(GEN pol,double bach,double bach2,long nbrelpid,long prec); 805 GEN zsignunits(GEN bnf, GEN archp, int add_zu); 806 807 /* buch3.c */ 808 809 GEN bnrclass0(GEN bignf, GEN ideal, long flag); 810 GEN bnrclassno(GEN bignf,GEN ideal); 811 GEN bnrclassnolist(GEN bnf,GEN listes); 812 GEN bnrconductor(GEN arg0,GEN arg1,GEN arg2,GEN flag); 813 GEN bnrconductorofchar(GEN bnr,GEN chi); 814 GEN bnrdisc0(GEN arg0, GEN arg1, GEN arg2, long flag); 815 GEN bnrdisclist0(GEN bnf,GEN borne, GEN arch); 816 GEN bnrinit0(GEN bignf,GEN ideal,long flag); 817 long bnrisconductor(GEN arg0,GEN arg1,GEN arg2); 818 GEN bnrisprincipal(GEN bnf, GEN x,long flag); 819 GEN buchnarrow(GEN bignf); 820 GEN buchray(GEN bignf,GEN ideal); 821 GEN buchrayinit(GEN bignf,GEN ideal); 822 GEN buchrayinitgen(GEN bignf,GEN ideal); 823 long certifybuchall(GEN bnf); 824 GEN conductor(GEN bnr,GEN subgroup,long all); 825 GEN decodemodule(GEN nf, GEN fa); 826 GEN discrayabs(GEN bnr,GEN subgroup); 827 GEN discrayabscond(GEN bnr,GEN subgroup); 828 GEN discrayabslist(GEN bnf,GEN listes); 829 GEN discrayabslistarch(GEN bnf, GEN arch, long bound); 830 GEN discrayabslistlong(GEN bnf, long bound); 831 GEN discrayrel(GEN bnr,GEN subgroup); 832 GEN discrayrelcond(GEN bnr,GEN subgroup); 833 GEN idealmodidele(GEN bnr, GEN x); 834 long isinvector(GEN v, GEN x); 835 GEN isprincipalray(GEN bnf, GEN x); 836 GEN isprincipalraygen(GEN bnf, GEN x); 837 GEN quick_isprincipalgen(GEN bnf, GEN x); 838 GEN rnfconductor(GEN bnf, GEN polrel, long flag); 839 GEN rnfnormgroup(GEN bnr, GEN polrel); 840 GEN subgrouplist0(GEN bnr, GEN indexbound, long all); 841 842 /* buch4.c */ 843 844 GEN bnfisnorm(GEN bnf,GEN x,long flag,long PREC); 845 GEN rnfisnorm(GEN S, GEN x, long flag); 846 GEN rnfisnorminit(GEN bnf, GEN relpol, int galois); 847 GEN bnfissunit(GEN bnf,GEN suni,GEN x); 848 GEN bnfsunit(GEN bnf,GEN s,long PREC); 849 long nfhilbert(GEN bnf,GEN a,GEN b); 850 long nfhilbert0(GEN bnf,GEN a,GEN b,GEN p); 851 long nfhilbertp(GEN bnf,GEN a,GEN b,GEN p); 852 long qpsoluble(GEN pol,GEN p); 853 long qpsolublenf(GEN bnf,GEN pol,GEN p); 854 long zpsoluble(GEN pol,GEN p); 855 long zpsolublenf(GEN bnf,GEN pol,GEN p); 856 857 /* default.c */ 858 859 GEN default0(char *a, char *b, long flag); 860 GEN gp_default(char *a, char *b); 861 long setseriesprecision(long n); 862 long getrealprecision(void); 863 long setrealprecision(long n, long *prec); 864 865 /* elldata.c */ 866 867 GEN ellcondfile(long f); 868 GEN ellcondlist(long f); 869 GEN ellconvertname(GEN s); 870 GEN ellgenerators(GEN E); 871 GEN ellidentify(GEN E); 872 GEN ellsearch(GEN A); 873 GEN ellsearchcurve(GEN name); 874 void forell(entree *ep, long a, long b, char *ch); 875 876 /* elliptic.c */ 877 878 GEN addell(GEN e, GEN z1, GEN z2); 879 GEN akell(GEN e, GEN n); 880 GEN anell(GEN e, long n); 881 GEN apell(GEN e, GEN p); 882 GEN apell2(GEN e, GEN p); 883 GEN bilhell(GEN e, GEN z1, GEN z2, long prec); 884 void checkbell(GEN e); 885 void checkell(GEN e); 886 void checksell(GEN e); 887 GEN coordch(GEN e, GEN ch); 888 GEN ellap0(GEN e, GEN p, long flag); 889 GEN elleisnum(GEN om, long k, long flag, long prec); 890 GEN elleta(GEN om, long prec); 891 GEN ellglobalred(GEN e1); 892 GEN ellheight0(GEN e, GEN a, long flag,long prec); 893 GEN ellinit0(GEN x,long flag,long prec); 894 GEN ellisoncurve(GEN e, GEN z); 895 GEN elllseries(GEN e, GEN s, GEN A, long prec); 896 GEN elllocalred(GEN e, GEN p1); 897 GEN ellminimalmodel(GEN E, GEN *ptv); 898 long ellrootno(GEN e, GEN p); 899 GEN ellsigma(GEN om, GEN z, long flag, long prec); 900 GEN elltaniyama(GEN e, long prec); 901 GEN elltors0(GEN e, long flag); 902 GEN ellwp0(GEN e, GEN z, long flag, long prec, long PREC); 903 GEN ellzeta(GEN om, GEN z, long prec); 904 GEN ghell(GEN e, GEN a, long prec); 905 GEN ghell2(GEN e, GEN a, long prec); 906 GEN initell(GEN x, long prec); 907 GEN mathell(GEN e, GEN x, long prec); 908 int oncurve(GEN e, GEN z); 909 GEN ordell(GEN e, GEN x, long prec); 910 GEN orderell(GEN e, GEN p); 911 GEN pointch(GEN x, GEN ch); 912 GEN pointchinv(GEN x, GEN ch); 913 GEN pointell(GEN e, GEN z, long prec); 914 GEN powell(GEN e, GEN z, GEN n); 915 GEN smallinitell(GEN x); 916 GEN subell(GEN e, GEN z1, GEN z2); 917 GEN torsell(GEN e); 918 GEN weipell(GEN e, long precdl); 919 GEN zell(GEN e, GEN z, long prec); 920 921 /* es.c */ 922 923 GEN GENtocanonicalstr(GEN x); 924 GEN GENtoGENstr(GEN x); 925 char* GENtoTeXstr(GEN x); 926 char* GENtostr(GEN x); 927 GEN Str(GEN g); 928 GEN Strchr(GEN g); 929 GEN Strexpand(GEN g); 930 GEN Strtex(GEN g); 931 void brute(GEN g, char format, long dec); 932 void bruteall(GEN g, char f, long d, long sp); 933 void bruterr(GEN x,char format,long dec); 934 void error0(GEN g); 935 void etatpile(void); 936 char* expand_tilde(const char *s); 937 int file_is_binary(FILE *f); 938 void flusherr(void); 939 void fprintferr(const char* pat, ...); 940 GEN gp_read_file(char *s); 941 GEN gp_read_stream(FILE *f); 942 GEN gp_readvec_file(char *s); 943 GEN gp_readvec_stream(FILE *f); 944 void killallfiles(int check); 945 int killfile(pariFILE *f); 946 void matbrute(GEN g, char format, long dec); 947 pariFILE* newfile(FILE *f, char *name, int type); 948 void os_close(long fd); 949 char* os_getenv(char *s); 950 long os_open(char *s, int mode); 951 void os_read(long fd, char ch[], long s); 952 void (*os_signal(int sig, void (*f)(int)))(int); 953 void outbeaut(GEN x); 954 void outbeauterr(GEN x); 955 void outbrute(GEN x); 956 void outerr(GEN x); 957 void outmat(GEN x); 958 void output(GEN x); 959 void outsor(GEN x); 960 void outtex(GEN x); 961 char* pGENtostr(GEN g, long flag); 962 void pari_fclose(pariFILE *f); 963 pariFILE* pari_fopen(char *s, char *mode); 964 pariFILE* pari_safefopen(char *s, char *mode); 965 char* pari_strdup(const char *s); 966 char* pari_strndup(const char *s, long n); 967 char* pari_unique_dir(char *s); 968 char* pari_unique_filename(char *s); 969 void pari_unlink(char *s); 970 void pariflush(void); 971 void pariputc(char c); 972 void pariputs(const char *s); 973 void pariprintf(const char *format, ...); 974 int popinfile(void); 975 void print(GEN g); 976 void print1(GEN g); 977 void printp(GEN g); 978 void printp1(GEN g); 979 void printtex(GEN g); 980 void sor(GEN g, char fo, long dd, long chmp); 981 void switchin(const char *name); 982 void switchout(char *name); 983 void texe(GEN g, char format, long dec); 984 pariFILE* try_pipe(char *cmd, int flag); 985 const char* type_name(long t); 986 void voir(GEN x, long nb); 987 void vpariputs(const char* format, va_list args); 988 void write0(const char *s, GEN g); 989 void write1(const char *s, GEN g); 990 void writebin(char *name, GEN x); 991 void writetex(const char *s, GEN g); 992 993 /* galconj.c */ 994 995 GEN checkgal(GEN gal); 996 GEN checkgroup(GEN g, GEN *S); 997 GEN galois_group(GEN gal); 998 GEN galoisconj(GEN nf); 999 GEN galoisconj0(GEN nf, long flag, GEN d, long prec); 1000 GEN galoisconj2(GEN x, long nbmax, long prec); 1001 GEN galoisconj4(GEN T, GEN den, long flag); 1002 GEN galoisexport(GEN gal, long format); 1003 GEN galoisfixedfield(GEN gal, GEN v, long flag, long y); 1004 GEN galoisidentify(GEN gal); 1005 GEN galoisinit(GEN nf, GEN den); 1006 GEN galoisisabelian(GEN gal, long flag); 1007 GEN galoispermtopol(GEN gal, GEN perm); 1008 GEN galoissubgroups(GEN G); 1009 GEN galoissubfields(GEN G, long flag, long v); 1010 long numberofconjugates(GEN T, long pdepart); 1011 GEN vandermondeinverse(GEN L, GEN T, GEN den, GEN prep); 1012 /* gen1.c */ 1013 1014 GEN gadd(GEN x, GEN y); 1015 GEN gaddsg(long x, GEN y); 1016 GEN gdiv(GEN x, GEN y); 1017 GEN gdivgs(GEN x, long s); 1018 GEN gmul(GEN x, GEN y); 1019 GEN gmul2n(GEN x, long n); 1020 GEN gmulsg(long s, GEN y); 1021 GEN gsqr(GEN x); 1022 GEN gsub(GEN x, GEN y); 1023 1024 /* gen2.c */ 1025 GEN gopsg2(GEN (*f)(GEN, GEN), long s, GEN y); 1026 1027 long ZX_valuation(GEN x, GEN *Z); 1028 GEN cgetimag(void); 1029 GEN cgetp(GEN x); 1030 GEN cvtop(GEN x, GEN p, long l); 1031 GEN cvtop2(GEN x, GEN y); 1032 GEN gabs(GEN x, long prec); 1033 void gaffect(GEN x, GEN y); 1034 void gaffsg(long s, GEN x); 1035 int gcmp(GEN x, GEN y); 1036 int gcmpsg(long x, GEN y); 1037 int gcmp0(GEN x); 1038 int gcmp1(GEN x); 1039 int gcmp_1(GEN x); 1040 GEN gcvtop(GEN x, GEN p, long r); 1041 int gequal(GEN x, GEN y); 1042 int gequalsg(long s, GEN x); 1043 long gexpo(GEN x); 1044 long ggval(GEN x, GEN p); 1045 long glength(GEN x); 1046 GEN gmax(GEN x, GEN y); 1047 GEN gmaxgs(GEN x, long y); 1048 GEN gmin(GEN x, GEN y); 1049 GEN gmings(GEN x, long y); 1050 GEN gneg(GEN x); 1051 GEN gneg_i(GEN x); 1052 GEN greffe(GEN x, long l, long use_stack); 1053 int gsigne(GEN x); 1054 GEN gtofp(GEN z, long prec); 1055 GEN gtolist(GEN x); 1056 long gtolong(GEN x); 1057 int lexcmp(GEN x, GEN y); 1058 GEN listconcat(GEN list1, GEN list2); 1059 GEN listcreate(long n); 1060 GEN listinsert(GEN list, GEN object, long index); 1061 void listkill(GEN list); 1062 GEN listput(GEN list, GEN object, long index); 1063 GEN listsort(GEN list, long flag); 1064 GEN matsize(GEN x); 1065 GEN normalize(GEN x); 1066 GEN normalizepol(GEN x); 1067 GEN normalizepol_approx(GEN x, long lx); 1068 GEN normalizepol_i(GEN x, long lx); 1069 long polvaluation(GEN x, GEN *z); 1070 long polvaluation_inexact(GEN x, GEN *Z); 1071 GEN pureimag(GEN x); 1072 GEN quadtoc(GEN x, long l); 1073 long sizedigit(GEN x); 1074 long u_lval(ulong x, ulong p); 1075 long u_lvalrem(ulong x, ulong p, ulong *py); 1076 long u_pvalrem(ulong x, GEN p, ulong *py); 1077 GEN vecmax(GEN x); 1078 GEN vecmin(GEN x); 1079 long Z_lval(GEN n, ulong p); 1080 long Z_lvalrem(GEN n, ulong p, GEN *py); 1081 long z_pval(long n, GEN p); 1082 long Z_pval(GEN n, GEN p); 1083 long Z_pvalrem(GEN x, GEN p, GEN *py); 1084 1085 /* gen3.c */ 1086 1087 GEN Mod0(GEN x, GEN y,long flag); 1088 GEN ceil_safe(GEN x); 1089 GEN ceilr(GEN x); 1090 GEN centerlift(GEN x); 1091 GEN centerlift0(GEN x,long v); 1092 GEN compo(GEN x, long n); 1093 GEN deg1pol(GEN x1, GEN x0,long v); 1094 GEN deg1pol_i(GEN x1, GEN x0,long v); 1095 long degree(GEN x); 1096 GEN denom(GEN x); 1097 GEN deriv(GEN x, long v); 1098 GEN derivpol(GEN x); 1099 GEN derivser(GEN x); 1100 GEN diviiround(GEN x, GEN y); 1101 GEN divrem(GEN x, GEN y, long v); 1102 GEN gand(GEN x, GEN y); 1103 GEN gceil(GEN x); 1104 GEN gcvtoi(GEN x, long *e); 1105 GEN gdivent(GEN x, GEN y); 1106 GEN gdiventgs(GEN x, long y); 1107 GEN gdiventres(GEN x, GEN y); 1108 GEN gdivmod(GEN x, GEN y, GEN *pr); 1109 GEN gdivround(GEN x, GEN y); 1110 GEN geq(GEN x, GEN y); 1111 GEN geval(GEN x); 1112 GEN gfloor(GEN x); 1113 GEN gfloor2n(GEN x, long s); 1114 GEN gfrac(GEN x); 1115 GEN gge(GEN x, GEN y); 1116 GEN ggprecision(GEN x); 1117 GEN ggrando(GEN x, long n); 1118 GEN ggt(GEN x, GEN y); 1119 GEN gimag(GEN x); 1120 GEN ginv(GEN x); 1121 GEN gle(GEN x, GEN y); 1122 GEN glt(GEN x, GEN y); 1123 GEN gmod(GEN x, GEN y); 1124 GEN gmodgs(GEN x, long y); 1125 GEN gmodulo(GEN x,GEN y); 1126 GEN gmodulo(GEN x,GEN y); 1127 GEN gmodulsg(long x, GEN y); 1128 GEN gmodulss(long x, long y); 1129 GEN gne(GEN x, GEN y); 1130 GEN gnot(GEN x); 1131 GEN gor(GEN x, GEN y); 1132 GEN gpolvar(GEN y); 1133 long gprecision(GEN x); 1134 GEN greal(GEN x); 1135 GEN grndtoi(GEN x, long *e); 1136 GEN ground(GEN x); 1137 GEN gshift(GEN x, long n); 1138 GEN gsubst(GEN x, long v, GEN y); 1139 GEN gsubstpol(GEN x, GEN v, GEN y); 1140 GEN gsubstvec(GEN x, GEN v, GEN y); 1141 GEN gtocol(GEN x); 1142 GEN gtopoly(GEN x, long v); 1143 GEN gtopolyrev(GEN x, long v); 1144 GEN gtoser(GEN x, long v); 1145 GEN gtovec(GEN x); 1146 GEN gtovecsmall(GEN x); 1147 GEN gtrunc(GEN x); 1148 long gvar(GEN x); 1149 long gvar2(GEN x); 1150 GEN hqfeval(GEN q, GEN x); 1151 GEN imag_i(GEN x); 1152 GEN integ(GEN x, long v); 1153 int iscomplex(GEN x); 1154 int isexactzero(GEN g); 1155 int isexactzeroscalar(GEN g); 1156 int isinexact(GEN x); 1157 int isinexactreal(GEN x); 1158 int isint(GEN n, GEN *ptk); 1159 int issmall(GEN n, long *ptk); 1160 int ismonome(GEN x); 1161 GEN lift(GEN x); 1162 GEN lift0(GEN x,long v); 1163 GEN mkcoln(long n, ...); 1164 GEN mkintn(long n, ...); 1165 GEN mkpoln(long n, ...); 1166 GEN mkvecn(long n, ...); 1167 GEN mulmat_real(GEN x, GEN y); 1168 GEN numer(GEN x); 1169 long padicprec(GEN x, GEN p); 1170 GEN polcoeff0(GEN x,long n,long v); 1171 GEN polcoeff_i(GEN x, long n, long v); 1172 long poldegree(GEN x,long v); 1173 GEN poleval(GEN x, GEN y); 1174 GEN pollead(GEN x,long v); 1175 long precision(GEN x); 1176 GEN precision0(GEN x,long n); 1177 GEN qf_base_change(GEN q, GEN M, int flag); 1178 GEN qfeval(GEN q, GEN x); 1179 GEN real_i(GEN x); 1180 GEN recip(GEN x); 1181 GEN round0(GEN x, GEN *pte); 1182 GEN roundr(GEN x); 1183 GEN scalarpol(GEN x, long v); 1184 GEN scalarser(GEN x, long v, long prec); 1185 GEN simplify(GEN x); 1186 GEN simplify_i(GEN x); 1187 GEN tayl(GEN x, long v, long precdl); 1188 GEN toser_i(GEN x); 1189 GEN truecoeff(GEN x, long n); 1190 GEN trunc0(GEN x, GEN *pte); 1191 GEN u2toi(ulong a, ulong b); 1192 1193 /* groupid.c */ 1194 1195 long group_ident(GEN G, GEN S); 1196 1197 /* ifactor1.c */ 1198 1199 long BSW_psp(GEN N); 1200 int uisprime(ulong n); 1201 int is_357_power(GEN x, GEN *pt, ulong *mask); 1202 int is_odd_power(GEN x, GEN *pt, ulong *curexp, ulong cutoffbits); 1203 long millerrabin(GEN n, long k); 1204 GEN nextprime(GEN n); 1205 GEN plisprime(GEN N, long flag); 1206 GEN precprime(GEN n); 1207 1208 /* init.c */ 1209 1210 long TIMER(pari_timer *T); 1211 void TIMERstart(pari_timer *T); 1212 long allocatemoremem(size_t newsize); 1213 GEN cgetalloc(long t, size_t l); 1214 GEN changevar(GEN x, GEN y); 1215 void disable_dbg(long val); 1216 void* err_catch(long errnum, jmp_buf *penv); 1217 void err_leave(void **v); 1218 GEN gclone(GEN x); 1219 GEN gcopy(GEN x); 1220 GEN gcopy_i(GEN x, long lx); 1221 GEN gerepile(pari_sp ltop, pari_sp lbot, GEN q); 1222 void gerepileall(pari_sp av, int n, ...); 1223 void gerepileallsp(pari_sp av, pari_sp tetpil, int n, ...); 1224 void gerepilecoeffs(pari_sp av, GEN x, int n); 1225 void gerepilecoeffssp(pari_sp av, pari_sp tetpil, long *g, int n); 1226 GEN gerepilecopy(pari_sp av, GEN x); 1227 void gerepilemany(pari_sp av, GEN* g[], int n); 1228 void gerepilemanysp(pari_sp av, pari_sp tetpil, GEN* g[], int n); 1229 GEN gerepileupto(pari_sp av, GEN q); 1230 GEN gerepileuptoint(pari_sp av, GEN q); 1231 GEN gerepileuptoleaf(pari_sp av, GEN q); 1232 GEN getheap(void); 1233 char* gpmalloc(size_t bytes); 1234 char* gprealloc(void *pointer,size_t size); 1235 void gunclone(GEN x); 1236 void killbloc(GEN x); 1237 void msgTIMER(pari_timer *T, char *format, ...); 1238 void msgtimer(char *format, ...); 1239 GEN newbloc(long n); 1240 void pari_add_function(entree *ep); 1241 void pari_add_module(entree *ep); 1242 void pari_close(void); 1243 void pari_close_opts(ulong init_opts); 1244 void pari_err(long numerr, ...); 1245 void pari_init_opts(size_t parisize, ulong maxprime, ulong init_opts); 1246 void pari_init(size_t parisize, ulong maxprime); 1247 void pari_sig_init(void (*f)(int)); 1248 GEN pari_version(void); 1249 void pari_warn(long numerr, ...); 1250 GEN reorder(GEN x); 1251 GEN shallowcopy(GEN x); 1252 stackzone* switch_stack(stackzone *z, long n); 1253 long taille(GEN x); 1254 long taille2(GEN x); 1255 long timer(void); 1256 long timer2(void); 1257 void traverseheap( void(*f)(GEN, void *), void *data ); 1258 1259 /* intnum.c */ 1260 1261 GEN intcirc(void *E, GEN (*eval) (GEN, void *), GEN a, GEN R, GEN tab, long prec); 1262 GEN intcirc0(entree *ep, GEN a, GEN R, char *ch, GEN tab, long prec); 1263 GEN intfourcos0(entree *ep, GEN a, GEN b, GEN x, char *ch, GEN tab, long prec); 1264 GEN intfourexp0(entree *ep, GEN a, GEN b, GEN x, char *ch, GEN tab, long prec); 1265 GEN intfouriercos(void *E, GEN (*eval) (GEN, void *), GEN a, GEN b, GEN x, GEN tab, long prec); 1266 GEN intfouriersin(void *E, GEN (*eval) (GEN, void *), GEN a, GEN b, GEN x, GEN tab, long prec); 1267 GEN intfoursin0(entree *ep, GEN a, GEN b, GEN x, char *ch, GEN tab, long prec); 1268 GEN intfuncinit(void *E, GEN (*eval) (GEN, void *), GEN a, GEN b, long m, long flag, long prec); 1269 GEN intfuncinit0(entree *ep, GEN a, GEN b, char *ch, long flag, long m, long prec); 1270 GEN intlaplaceinv(void *E, GEN (*eval) (GEN, void *), GEN sig, GEN x, GEN tab, long prec); 1271 GEN intlaplaceinv0(entree *ep, GEN sig, GEN x, char *ch, GEN tab, long prec); 1272 GEN intmellininv(void *E, GEN (*eval) (GEN, void *), GEN sig, GEN x, GEN tab, long prec); 1273 GEN intmellininv0(entree *ep, GEN sig, GEN x, char *ch, GEN tab, long prec); 1274 GEN intmellininvshort(GEN sig, GEN x, GEN tab, long prec); 1275 GEN intnum(void *E, GEN (*eval) (GEN, void *), GEN a, GEN b, GEN tab, long prec); 1276 GEN intnum0(entree *ep, GEN a, GEN b, char *ch, GEN tab, long prec); 1277 GEN intnuminit(GEN a, GEN b, long m, long prec); 1278 GEN intnuminit0(GEN a, GEN b, GEN tab, long prec); 1279 GEN intnuminitgen(void *E, GEN (*eval) (GEN, void *), GEN a, GEN b, long m, long flext, long prec); 1280 GEN intnuminitgen0(entree *ep, GEN a, GEN b, char *ch, long m, long flag, long prec); 1281 GEN intnumromb(void *E, GEN (*eval) (GEN, void *), GEN a, GEN b, long flag, long prec); 1282 GEN intnumromb0(entree *ep, GEN a, GEN b, char *ch, long flag, long prec); 1283 long intnumstep(long prec); 1284 GEN sumnum(void *E, GEN (*f) (GEN, void *), GEN a, GEN sig, GEN tab, long flag, long prec); 1285 GEN sumnum0(entree *ep, GEN a, GEN sig, char *ch, GEN tab, long flag, long prec); 1286 GEN sumnumalt(void *E, GEN (*f) (GEN, void *), GEN a, GEN s, GEN tab, long flag, long prec); 1287 GEN sumnumalt0(entree *ep, GEN a, GEN sig, char *ch, GEN tab, long flag, long prec); 1288 GEN sumnuminit(GEN sig, long m, long sgn, long prec); 1289 GEN sumnuminit0(GEN a, GEN tab, long sgn, long prec); 1290 1291 /* kummer.c */ 1292 1293 GEN rnfkummer(GEN bnr, GEN subgroup, long all, long prec); 1294 1295 /* members.c */ 1296 1297 GEN member_a1(GEN x); 1298 GEN member_a2(GEN x); 1299 GEN member_a3(GEN x); 1300 GEN member_a4(GEN x); 1301 GEN member_a6(GEN x); 1302 GEN member_area(GEN x); 1303 GEN member_b2(GEN x); 1304 GEN member_b4(GEN x); 1305 GEN member_b6(GEN x); 1306 GEN member_b8(GEN x); 1307 GEN member_bid(GEN x); 1308 GEN member_bnf(GEN x); 1309 GEN member_c4(GEN x); 1310 GEN member_c6(GEN x); 1311 GEN member_clgp(GEN x); 1312 GEN member_codiff(GEN x); 1313 GEN member_cyc(GEN clg); 1314 GEN member_diff(GEN x); 1315 GEN member_disc(GEN x); 1316 GEN member_e(GEN x); 1317 GEN member_eta(GEN x); 1318 GEN member_f(GEN x); 1319 GEN member_fu(GEN x); 1320 GEN member_futu(GEN x); 1321 GEN member_gen(GEN x); 1322 GEN member_group(GEN x); 1323 GEN member_index(GEN x); 1324 GEN member_j(GEN x); 1325 GEN member_mod(GEN x); 1326 GEN member_nf(GEN x); 1327 GEN member_no(GEN clg); 1328 GEN member_omega(GEN x); 1329 GEN member_orders(GEN x); 1330 GEN member_p(GEN x); 1331 GEN member_pol(GEN x); 1332 GEN member_reg(GEN x); 1333 GEN member_r1(GEN x); 1334 GEN member_r2(GEN x); 1335 GEN member_roots(GEN x); 1336 GEN member_sign(GEN x); 1337 GEN member_t2(GEN x); 1338 GEN member_tate(GEN x); 1339 GEN member_tufu(GEN x); 1340 GEN member_tu(GEN x); 1341 GEN member_w(GEN x); 1342 GEN member_zk(GEN x); 1343 GEN member_zkst(GEN bid); 1344 1345 /* mp.c */ 1346 1347 int absi_cmp(GEN x, GEN y); 1348 int absi_equal(GEN x, GEN y); 1349 int absr_cmp(GEN x, GEN y); 1350 GEN addii_sign(GEN x, long sx, GEN y, long sy); 1351 GEN addir_sign(GEN x, long sx, GEN y, long sy); 1352 GEN addrr_sign(GEN x, long sx, GEN y, long sy); 1353 GEN addsi_sign(long x, GEN y, long sy); 1354 GEN addsr(long x, GEN y); 1355 GEN addss(long x, long y); 1356 void affir(GEN x, GEN y); 1357 void affrr(GEN x, GEN y); 1358 GEN bezout(GEN a, GEN b, GEN *u, GEN *v); 1359 long cbezout(long a,long b,long *uu,long *vv); 1360 void cgiv(GEN x); 1361 int cmpii(GEN x, GEN y); 1362 int cmprr(GEN x, GEN y); 1363 int cmpsi(long x, GEN y); 1364 int cmpui(ulong x, GEN y); 1365 GEN dbltor(double x); 1366 GEN diviiexact(GEN x, GEN y); 1367 GEN diviuexact(GEN x, ulong y); 1368 GEN divir(GEN x, GEN y); 1369 GEN divis(GEN y, long x); 1370 GEN divis_rem(GEN x, long y, long *rem); 1371 GEN diviu_rem(GEN y, ulong x, ulong *rem); 1372 GEN divri(GEN x, GEN y); 1373 GEN divrr(GEN x, GEN y); 1374 GEN divrs(GEN x, long y); 1375 GEN divsi(long x, GEN y); 1376 GEN divsr(long x, GEN y); 1377 GEN dvmdii(GEN x, GEN y, GEN *z); 1378 int equalii(GEN x, GEN y); 1379 int equalsi(long x, GEN y); 1380 int equalui(ulong x, GEN y); 1381 GEN floorr(GEN x); 1382 GEN gcdii(GEN x, GEN y); 1383 GEN int_normalize(GEN x, long known_zero_words); 1384 GEN int2n(long n); 1385 GEN int2u(ulong n); 1386 int invmod(GEN a, GEN b, GEN *res); 1387 ulong invrev(ulong b); 1388 ulong Fl_inv(ulong x, ulong p); 1389 GEN ishiftr(GEN x, long n); 1390 GEN modii(GEN x, GEN y); 1391 void modiiz(GEN x, GEN y, GEN z); 1392 void mpdivz(GEN x, GEN y, GEN z); 1393 GEN mulii(GEN x, GEN y); 1394 GEN mulir(GEN x, GEN y); 1395 GEN mulrr(GEN x, GEN y); 1396 GEN mulsi(long x, GEN y); 1397 GEN mulsr(long x, GEN y); 1398 GEN mulss(long x, long y); 1399 GEN mului(ulong x, GEN y); 1400 GEN mulur(ulong x, GEN y); 1401 GEN muluu(ulong x, ulong y); 1402 long pari_rand31(void); 1403 GEN randomi(GEN x); 1404 int ratlift(GEN x, GEN m, GEN *a, GEN *b, GEN amax, GEN bmax); 1405 GEN resmod2n(GEN x, long n); 1406 double rtodbl(GEN x); 1407 GEN shifti(GEN x, long n); 1408 GEN sqri(GEN x); 1409 #define sqrti(x) sqrtremi((x),NULL) 1410 GEN sqrtremi(GEN S, GEN *R); 1411 GEN subsr(long x, GEN y); 1412 GEN truedvmdii(GEN x, GEN y, GEN *z); 1413 GEN truedvmdis(GEN x, long y, GEN *z); 1414 GEN truncr(GEN x); 1415 ulong umodiu(GEN y, ulong x); 1416 long vals(ulong x); 1417 1418 /* nffactor.c */ 1419 1420 GEN nffactor(GEN nf,GEN x); 1421 GEN nffactormod(GEN nf,GEN pol,GEN pr); 1422 int nfisgalois(GEN nf, GEN x); 1423 GEN nfroots(GEN nf,GEN pol); 1424 GEN rnfcharpoly(GEN nf, GEN T, GEN alpha, long v); 1425 GEN unifpol(GEN nf,GEN pol,long flag); 1426 1427 /* part.c */ 1428 1429 GEN numbpart(GEN x); 1430 1431 /* perm.c */ 1432 1433 GEN abelian_group(GEN G); 1434 GEN bitvec_alloc(long n); 1435 void bitvec_clear(GEN bitvec, long b); 1436 void bitvec_set(GEN bitvec, long b); 1437 GEN bitvec_shorten(GEN bitvec, long n); 1438 long bitvec_test(GEN bitvec, long b); 1439 GEN const_col(long n, GEN x); 1440 GEN const_vec(long n, GEN x); 1441 GEN const_vecsmall(long n, long c); 1442 GEN cyclicgroup(GEN g, long s); 1443 GEN cyclicperm(long l, long d); 1444 GEN cyc_pow(GEN cyc, long exp); 1445 GEN cyc_pow_perm(GEN cyc, long exp); 1446 GEN dicyclicgroup(GEN g1, GEN g2, long s1, long s2); 1447 GEN group_abelianHNF(GEN G, GEN L); 1448 GEN group_abelianSNF(GEN G, GEN L); 1449 long group_domain(GEN G); 1450 GEN group_elts(GEN G, long n); 1451 GEN group_export(GEN G, long format); 1452 long group_isA4S4(GEN G); 1453 long group_isabelian(GEN G); 1454 GEN group_leftcoset(GEN G, GEN g); 1455 long group_order(GEN G); 1456 long group_perm_normalize(GEN N, GEN g); 1457 GEN group_quotient(GEN G, GEN H); 1458 GEN group_rightcoset(GEN G, GEN g); 1459 GEN group_subgroups(GEN G); 1460 GEN groupelts_center(GEN S); 1461 GEN groupelts_abelian_group(GEN S); 1462 int perm_commute(GEN p, GEN q); 1463 GEN perm_cycles(GEN v); 1464 GEN perm_identity(long l); 1465 GEN perm_inv(GEN x); 1466 GEN perm_mul(GEN s, GEN t); 1467 long perm_order(GEN perm); 1468 GEN perm_pow(GEN perm, long exp); 1469 GEN quotient_group(GEN C, GEN G); 1470 GEN quotient_perm(GEN C, GEN p); 1471 GEN vec_to_vecsmall(GEN z); 1472 GEN vecperm_orbits(GEN v, long n); 1473 int vec_is1to1(GEN v); 1474 int vec_isconst(GEN v); 1475 GEN vec_lengthen(GEN v, long n); 1476 GEN vec_shorten(GEN v, long n); 1477 GEN vecsmall_append(GEN V, long s); 1478 long vecsmall_coincidence(GEN u, GEN v); 1479 GEN vecsmall_concat(GEN u, GEN v); 1480 GEN vecsmall_copy(GEN x); 1481 GEN vecsmall_indexsort(GEN V); 1482 long vecsmall_isin(GEN v, long x); 1483 GEN vecsmall_lengthen(GEN v, long n); 1484 int vecsmall_lexcmp(GEN x, GEN y); 1485 long vecsmall_pack(GEN V, long base, long mod); 1486 int vecsmall_prefixcmp(GEN x, GEN y); 1487 GEN vecsmall_prepend(GEN V, long s); 1488 GEN vecsmall_shorten(GEN v, long n); 1489 void vecsmall_sort(GEN V); 1490 GEN vecsmall_to_col(GEN z); 1491 GEN vecsmall_to_vec(GEN z); 1492 GEN vecsmall_uniq(GEN V); 1493 GEN vecvecsmall_indexsort(GEN x); 1494 GEN vecvecsmall_sort(GEN x); 1495 long vecvecsmall_search(GEN x, GEN y, long flag); 1496 1497 /* polarit1.c */ 1498 1499 long Flx_nbfact(GEN z, ulong p); 1500 long Flx_nbroots(GEN f, ulong p); 1501 GEN FpX_degfact(GEN f, GEN p); 1502 long FpX_is_irred(GEN f, GEN p); 1503 long FpX_is_squarefree(GEN f, GEN p); 1504 long FpX_is_totally_split(GEN f, GEN p); 1505 GEN FpX_factor(GEN f, GEN p); 1506 long FpX_nbfact(GEN f, GEN p); 1507 long FpX_nbroots(GEN f, GEN p); 1508 GEN FqX_factor(GEN x, GEN T, GEN p); 1509 GEN FqX_gcd(GEN P, GEN Q, GEN T, GEN p); 1510 long FqX_is_squarefree(GEN P, GEN T, GEN p); 1511 long FqX_nbfact(GEN u, GEN T, GEN p); 1512 long FqX_nbroots(GEN f, GEN T, GEN p); 1513 GEN FpX_rand(long d, long v, GEN p); 1514 GEN FpX_roots(GEN f, GEN p); 1515 int cmp_pol(GEN x, GEN y); 1516 GEN factcantor(GEN x, GEN p); 1517 GEN factmod(GEN f, GEN p); 1518 GEN factorff(GEN f, GEN p, GEN a); 1519 GEN factormod0(GEN f, GEN p,long flag); 1520 GEN factorpadic0(GEN f,GEN p,long r,long flag); 1521 GEN factorpadic2(GEN x, GEN p, long r); 1522 GEN factorpadic4(GEN x, GEN p, long r); 1523 int gdvd(GEN x, GEN y); 1524 long hensel_lift_accel(long n, long *pmask); 1525 GEN padicappr(GEN f, GEN a); 1526 GEN padicsqrtnlift(GEN a, GEN n, GEN S, GEN p, long e); 1527 int poldvd(GEN x, GEN y, GEN *z); 1528 GEN poldivrem(GEN x, GEN y, GEN *pr); 1529 GEN polfnf(GEN a, GEN t); 1530 GEN rootmod(GEN f, GEN p); 1531 GEN rootmod0(GEN f, GEN p,long flag); 1532 GEN rootmod2(GEN f, GEN p); 1533 GEN rootpadic(GEN f, GEN p, long r); 1534 GEN rootpadicfast(GEN f, GEN p, long e); 1535 GEN ZX_deriv(GEN x); 1536 GEN FpX_deriv(GEN f, GEN p); 1537 GEN FqX_deriv(GEN f, GEN T, GEN p); 1538 GEN ZpX_liftroot(GEN f, GEN a, GEN p, long e); 1539 GEN ZpXQX_liftroot(GEN f, GEN a, GEN T, GEN p, long e); 1540 GEN ZpX_liftroots(GEN f, GEN S, GEN q, long e); 1541 GEN roots2(GEN pol,long PREC); 1542 GEN rootsold(GEN x, long l); 1543 GEN simplefactmod(GEN f, GEN p); 1544 1545 /* polarit2.c */ 1546 1547 GEN Newton_exponents(long e); 1548 GEN Q_content(GEN x); 1549 GEN Q_denom(GEN x); 1550 GEN Q_div_to_int(GEN x, GEN c); 1551 GEN Q_muli_to_int(GEN x, GEN d); 1552 GEN Q_primitive_part(GEN x, GEN *ptc); 1553 GEN Q_primpart(GEN x); 1554 GEN Q_remove_denom(GEN x, GEN *ptd); 1555 GEN RgX_extgcd(GEN x, GEN y, GEN *U, GEN *V); 1556 GEN ZX_squff(GEN f, GEN *ex); 1557 GEN centermod(GEN x, GEN p); 1558 GEN centermod_i(GEN x, GEN p, GEN ps2); 1559 GEN centermodii(GEN x, GEN p, GEN po2); 1560 GEN combine_factors(GEN target, GEN famod, GEN p, long klim, long hint); 1561 GEN concat_factor(GEN f, GEN g); 1562 GEN content(GEN x); 1563 GEN deg1_from_roots(GEN L, long v); 1564 GEN discsr(GEN x); 1565 GEN divide_conquer_prod(GEN x, GEN (*mul)(GEN,GEN)); 1566 GEN divide_conquer_assoc(GEN x, GEN (*mul)(void*,GEN,GEN), void *data); 1567 GEN factor(GEN x); 1568 GEN factor0(GEN x,long flag); 1569 GEN factorback(GEN fa,GEN nf); 1570 GEN factorback0(GEN fa,GEN e, GEN nf); 1571 GEN factorbackelt(GEN fa, GEN e, GEN nf); 1572 GEN factpol(GEN x, long hint); 1573 GEN gbezout(GEN x, GEN y, GEN *u, GEN *v); 1574 GEN gcd0(GEN x, GEN y,long flag); 1575 GEN gdeflate(GEN x, long v, long d); 1576 GEN gdivexact(GEN x, GEN y); 1577 GEN ggcd(GEN x, GEN y); 1578 GEN ginvmod(GEN x, GEN y); 1579 GEN gisirreducible(GEN x); 1580 GEN glcm(GEN x, GEN y); 1581 GEN glcm0(GEN x, GEN y); 1582 GEN hensel_lift_fact(GEN pol, GEN Q, GEN T, GEN p, GEN pe, long e); 1583 GEN leftright_pow(GEN,GEN,void*,GEN (*sqr)(void*,GEN),GEN (*mul)(void*,GEN,GEN)); 1584 GEN leftright_pow_u(GEN x, ulong n, void *data, GEN (*sqr)(void*,GEN), GEN (*mul)(void*,GEN,GEN)); 1585 GEN leftright_pow_fold(GEN x, GEN n, void *data, GEN (*sqr)(void*,GEN), GEN (*msqr)(void*,GEN)); 1586 GEN leftright_pow_u_fold(GEN x, ulong n, void *data, GEN (*sqr)(void*,GEN), GEN (*msqr)(void*,GEN)); 1587 long logint(GEN B, GEN y, GEN *ptq); 1588 GEN newtonpoly(GEN x, GEN p); 1589 GEN nfgcd(GEN P, GEN Q, GEN nf, GEN den); 1590 GEN nfrootsQ(GEN x); 1591 GEN poldeflate(GEN x0, long *m); 1592 GEN poldeflate_i(GEN x0, long d); 1593 GEN poldisc0(GEN x, long v); 1594 GEN polhensellift(GEN pol, GEN fct, GEN p, long exp); 1595 GEN polinflate(GEN x0, long d); 1596 GEN polresultant0(GEN x, GEN y,long v,long flag); 1597 GEN polsym(GEN x, long n); 1598 GEN primitive_part(GEN x, GEN *c); 1599 GEN primpart(GEN x); 1600 GEN pseudorem(GEN x, GEN y); 1601 GEN reduceddiscsmith(GEN pol); 1602 GEN resultant2(GEN x, GEN y); 1603 GEN resultantducos(GEN x, GEN y); 1604 GEN roots_from_deg1(GEN x); 1605 GEN srgcd(GEN x, GEN y); 1606 long sturmpart(GEN x, GEN a, GEN b); 1607 GEN subresall(GEN u, GEN v, GEN *sol); 1608 GEN subresext(GEN x, GEN y, GEN *U, GEN *V); 1609 GEN sylvestermatrix(GEN x,GEN y); 1610 GEN vecbezout(GEN x, GEN y); 1611 GEN vecbezoutres(GEN x, GEN y); 1612 1613 /* polarit3.c */ 1614 1615 GEN FpC_red(GEN z, GEN p); 1616 GEN FpC_to_mod(GEN z, GEN p); 1617 GEN FpM_red(GEN z, GEN p); 1618 GEN FpM_to_mod(GEN z, GEN p); 1619 GEN FpV_polint(GEN xa, GEN ya, GEN p); 1620 GEN FpV_red(GEN z, GEN p); 1621 GEN FpV_roots_to_pol(GEN V, GEN p, long v); 1622 GEN FpV_to_mod(GEN z, GEN p); 1623 GEN FpX_FpXQ_compo(GEN f,GEN x,GEN T,GEN p); 1624 GEN FpX_FpXQV_compo(GEN f,GEN x,GEN T,GEN p); 1625 GEN FpX_Fp_add(GEN y,GEN x,GEN p); 1626 GEN FpX_Fp_mul(GEN y,GEN x,GEN p); 1627 GEN FpX_add(GEN x,GEN y,GEN p); 1628 GEN FpX_center(GEN T,GEN mod); 1629 GEN FpX_chinese_coprime(GEN x,GEN y,GEN Tx,GEN Ty,GEN Tz,GEN p); 1630 GEN FpX_divrem(GEN x, GEN y, GEN p, GEN *pr); 1631 GEN FpX_eval(GEN x,GEN y,GEN p); 1632 GEN FpX_extgcd(GEN x, GEN y, GEN p, GEN *ptu, GEN *ptv); 1633 GEN FpX_factorff_irred(GEN P, GEN Q, GEN l); 1634 void FpX_ffintersect(GEN P,GEN Q,long n,GEN l,GEN *SP,GEN *SQ,GEN MA,GEN MB); 1635 GEN FpX_ffisom(GEN P,GEN Q,GEN l); 1636 GEN FpX_gcd(GEN x, GEN y, GEN p); 1637 GEN FpX_mul(GEN x,GEN y,GEN p); 1638 GEN FpX_neg(GEN x,GEN p); 1639 GEN FpX_normalize(GEN z, GEN p); 1640 GEN FpX_red(GEN z, GEN p); 1641 GEN FpX_resultant(GEN a, GEN b, GEN p); 1642 GEN FpX_sqr(GEN x,GEN p); 1643 GEN FpX_sub(GEN x,GEN y,GEN p); 1644 GEN FpX_to_mod(GEN z, GEN p); 1645 GEN FpXQ_charpoly(GEN x, GEN T, GEN p); 1646 GEN FpXQ_div(GEN x,GEN y,GEN T,GEN p); 1647 GEN FpXQ_ffisom_inv(GEN S,GEN Tp, GEN p); 1648 GEN FpXQ_inv(GEN x,GEN T,GEN p); 1649 GEN FpXQ_invsafe(GEN x, GEN T, GEN p); 1650 GEN FpXQ_matrix_pow(GEN y, long n, long m, GEN P, GEN l); 1651 GEN FpXQ_minpoly(GEN x, GEN T, GEN p); 1652 GEN FpXQ_mul(GEN y,GEN x,GEN T,GEN p); 1653 GEN FpXQ_pow(GEN x, GEN n, GEN T, GEN p); 1654 GEN FpXQ_powers(GEN x, long l, GEN T, GEN p); 1655 GEN FpXQ_sqr(GEN y, GEN T, GEN p); 1656 GEN FpXQ_sqrtn(GEN a, GEN n, GEN T, GEN p, GEN *zetan); 1657 GEN FpXQX_gcd(GEN P, GEN Q, GEN T, GEN p); 1658 GEN FpXQX_mul(GEN x, GEN y, GEN T, GEN p); 1659 GEN FpXQX_red(GEN z, GEN T, GEN p); 1660 GEN FpXQX_sqr(GEN x, GEN T, GEN p); 1661 GEN FpXQX_extgcd(GEN x, GEN y, GEN T, GEN p, GEN *ptu, GEN *ptv); 1662 GEN FpXQX_divrem(GEN x, GEN y, GEN T, GEN p, GEN *pr); 1663 GEN FpXQXV_prod(GEN V, GEN Tp, GEN p); 1664 GEN FpXQYQ_pow(GEN x, GEN n, GEN S, GEN T, GEN p); 1665 GEN FpXV_FpC_mul(GEN V, GEN W, GEN p); 1666 GEN FpXV_prod(GEN V, GEN p); 1667 GEN FpXV_red(GEN z, GEN p); 1668 GEN FpXX_add(GEN x, GEN y, GEN p); 1669 GEN FpXX_red(GEN z, GEN p); 1670 GEN FpX_rescale(GEN P, GEN h, GEN p); 1671 GEN FpY_FpXY_resultant(GEN a, GEN b0, GEN p); 1672 GEN Fq_inv(GEN x, GEN T, GEN p); 1673 GEN Fq_invsafe(GEN x, GEN T, GEN p); 1674 GEN Fq_add(GEN x, GEN y, GEN T/*unused*/, GEN p); 1675 GEN Fq_mul(GEN x, GEN y, GEN T, GEN p); 1676 GEN Fq_neg(GEN x, GEN T, GEN p); 1677 GEN Fq_neg_inv(GEN x, GEN T, GEN p); 1678 GEN Fq_pow(GEN x, GEN n, GEN T, GEN p); 1679 GEN Fq_red(GEN x, GEN T, GEN p); 1680 GEN Fq_sub(GEN x, GEN y, GEN T/*unused*/, GEN p); 1681 GEN FqC_to_FlxC(GEN v, GEN T, GEN pp); 1682 GEN FqM_to_FlxM(GEN x, GEN T, GEN pp); 1683 GEN FqV_roots_to_pol(GEN V, GEN T, GEN p, long v); 1684 GEN FqV_red(GEN z, GEN T, GEN p); 1685 GEN FqV_to_FlxV(GEN v, GEN T, GEN pp); 1686 GEN FqX_Fq_mul(GEN P, GEN U, GEN T, GEN p); 1687 GEN FqX_div(GEN x, GEN y, GEN T, GEN p); 1688 GEN FqX_divrem(GEN x, GEN y, GEN T, GEN p, GEN *z); 1689 GEN FqX_eval(GEN x, GEN y, GEN T, GEN p); 1690 GEN FqX_normalize(GEN z, GEN T, GEN p); 1691 GEN FqX_red(GEN z, GEN T, GEN p); 1692 GEN FqX_rem(GEN x, GEN y, GEN T, GEN p); 1693 GEN FqX_mul(GEN x, GEN y, GEN T, GEN p); 1694 GEN FqX_sqr(GEN x, GEN T, GEN p); 1695 GEN QXQ_inv(GEN A, GEN B); 1696 ulong Rg_to_Fl(GEN x, ulong p); 1697 GEN Rg_to_Fp(GEN x, GEN p); 1698 GEN RgC_to_FpC(GEN x, GEN p); 1699 GEN RgV_to_FpV(GEN x, GEN p); 1700 GEN RgX_to_FpX(GEN x, GEN p); 1701 GEN RgX_to_FqX(GEN x, GEN T, GEN p); 1702 GEN ZX_QX_resultant(GEN A, GEN B); 1703 GEN ZX_Z_add(GEN y,GEN x); 1704 GEN ZX_Z_mul(GEN y,GEN x); 1705 GEN ZX_add(GEN x, GEN y); 1706 GEN ZX_caract(GEN A, GEN B, long v); 1707 GEN ZX_disc(GEN x); 1708 int ZX_is_squarefree(GEN x); 1709 GEN ZX_neg(GEN x); 1710 GEN ZX_renormalize(GEN x, long lx); 1711 GEN ZX_resultant(GEN A, GEN B); 1712 GEN ZX_sub(GEN x, GEN y); 1713 long brent_kung_optpow(long d, long n); 1714 GEN ffinit(GEN p, long n, long v); 1715 GEN from_Kronecker(GEN z, GEN pol); 1716 GEN init_Fq(GEN p, long n, long v); 1717 GEN modulargcd(GEN a,GEN b); 1718 GEN stopoly(ulong m, ulong p, long v); 1719 GEN stopoly_gen(GEN m, GEN p, long v); 1720 GEN to_Kronecker(GEN P, GEN Q); 1721 1722 /* RgX.c */ 1723 1724 int is_rational(GEN x); 1725 GEN RgM_to_RgXV(GEN x, long v); 1726 GEN RgM_to_RgXX(GEN x, long v,long w); 1727 GEN RgM_zc_mul(GEN x, GEN y); 1728 GEN RgM_zm_mul(GEN x, GEN y); 1729 GEN RgV_to_RgX(GEN x, long v); 1730 GEN RgV_zc_mul(GEN x, GEN y); 1731 GEN RgV_zm_mul(GEN x, GEN y); 1732 GEN RgX_div_by_X_x(GEN a, GEN x, GEN *r); 1733 GEN RgX_divrem(GEN x,GEN y,GEN *r); 1734 int RgX_is_rational(GEN x); 1735 GEN RgX_mul(GEN x,GEN y); 1736 GEN RgX_mulspec(GEN a, GEN b, long na, long nb); 1737 GEN RgX_powers(GEN a, GEN T, long l); 1738 GEN RgX_renormalize(GEN x); 1739 GEN RgX_rescale(GEN P, GEN h); 1740 GEN RgX_unscale(GEN P, GEN h); 1741 GEN RgXQ_mul(GEN x,GEN y,GEN T); 1742 GEN RgXQ_powers(GEN x, long l, GEN T); 1743 GEN RgXQ_sqr(GEN x,GEN T); 1744 GEN RgXQC_red(GEN P, GEN T); 1745 GEN RgXQV_red(GEN P, GEN T); 1746 GEN RgXQX_RgXQ_mul(GEN x, GEN y, GEN T); 1747 GEN RgXQX_divrem(GEN x,GEN y,GEN T,GEN *r); 1748 GEN RgXQX_mul(GEN x,GEN y,GEN T); 1749 GEN RgXQX_red(GEN P, GEN T); 1750 GEN RgXQX_sqr(GEN x, GEN T); 1751 GEN RgXV_unscale(GEN v, GEN h); 1752 GEN RgX_Rg_div(GEN y, GEN x); 1753 GEN RgX_Rg_mul(GEN y, GEN x); 1754 GEN RgX_RgXQ_compo(GEN f, GEN x, GEN T); 1755 GEN RgX_mulXn(GEN x, long d); 1756 GEN RgX_shift_shallow(GEN x, long n); 1757 GEN RgX_shift(GEN a, long n); 1758 GEN RgX_sqr(GEN x); 1759 GEN RgX_sqrspec(GEN a, long na); 1760 GEN RgX_to_RgV(GEN x, long N); 1761 GEN RgXV_to_RgM(GEN v, long n); 1762 GEN RgXX_to_RgM(GEN v, long n); 1763 GEN RgXY_swap(GEN x, long n, long w); 1764 1765 /* rootpol.c */ 1766 1767 GEN cleanroots(GEN x,long l); 1768 int isrealappr(GEN x, long l); 1769 GEN roots(GEN x,long l); 1770 GEN roots0(GEN x,long flag,long l); 1771 1772 /* subcyclo.c */ 1773 1774 GEN galoissubcyclo(GEN N, GEN sg, long flag, long v); 1775 GEN polsubcyclo(long n, long d, long v); 1776 GEN subcyclo(long n, long d, long v); 1777 GEN znstar_small(GEN zn); 1778 1779 /* subfield.c */ 1780 1781 GEN subfields(GEN nf,GEN d); 1782 GEN subfields0(GEN nf,GEN d); 1783 1784 /* subgroup.c */ 1785 1786 void forsubgroup(entree *oep, GEN cyc, GEN bound, char *och); 1787 GEN subgrouplist(GEN cyc, GEN bound); 1788 1789 /* stark.c */ 1790 1791 GEN bnrL1(GEN bnr, GEN sbgrp, long flag, long prec); 1792 GEN bnrrootnumber(GEN bnr, GEN chi, long flag, long prec); 1793 GEN bnrstark(GEN bnr, GEN subgroup, long prec); 1794 1795 /* sumiter.c */ 1796 1797 GEN direuler(void *E, GEN (*eval)(GEN,void*), GEN ga, GEN gb, GEN c); 1798 GEN direuler0(entree *ep, GEN a, GEN b, char *ch, GEN c); 1799 GEN divsum(GEN num,entree *ep, char *ch); 1800 void fordiv(GEN a, entree *ep, char *ch); 1801 void forpari(entree *ep, GEN a, GEN b, char *ch); 1802 void forprime(entree *ep, GEN a, GEN b, char *ch); 1803 void forstep(entree *ep, GEN a, GEN b, GEN s, char *ch); 1804 void forvec(entree *ep, GEN x, char *ch, long flag); 1805 GEN forvec_start(GEN x, long flag, GEN *d, GEN (**next)(GEN,GEN)); 1806 GEN matrice(GEN nlig, GEN ncol,entree *ep1, entree *ep2, char *ch); 1807 GEN polzag(long n, long m); 1808 GEN polzagreel(long n, long m, long prec); 1809 GEN prodeuler(void *E, GEN (*eval)(GEN,void*), GEN ga, GEN gb, long prec); 1810 GEN prodeuler0(entree *ep, GEN a, GEN b, char *ch, long prec); 1811 GEN prodinf(void *E, GEN (*eval)(GEN,void*), GEN a, long prec); 1812 GEN prodinf0(entree *ep, GEN a, char *ch, long flag, long prec); 1813 GEN prodinf1(void *E, GEN (*eval)(GEN,void*), GEN a, long prec); 1814 GEN produit(entree *ep, GEN a, GEN b, char *ch, GEN x); 1815 GEN somme(entree *ep, GEN a, GEN b, char *ch, GEN x); 1816 GEN sumalt(void *E, GEN (*eval)(GEN,void*), GEN a, long prec); 1817 GEN sumalt0(entree *ep, GEN a, char *ch,long flag, long prec); 1818 GEN sumalt2(void *E, GEN (*eval)(GEN,void*), GEN a, long prec); 1819 GEN sumpos(void *E, GEN (*eval)(GEN,void*), GEN a, long prec); 1820 GEN sumpos2(void *E, GEN (*eval)(GEN,void*), GEN a, long prec); 1821 GEN sumpos0(entree *ep, GEN a, char *ch, long flag,long prec); 1822 GEN suminf(void *E, GEN (*eval)(GEN,void*), GEN a, long prec); 1823 GEN suminf0(entree *ep, GEN a, char *ch, long prec); 1824 GEN vecteur(GEN nmax, entree *ep, char *ch); 1825 GEN vecteursmall(GEN nmax, entree *ep, char *ch); 1826 GEN vvecteur(GEN nmax, entree *ep, char *ch); 1827 GEN zbrent0(entree *ep, GEN a, GEN b, char *ch, long prec); 1828 GEN zbrent(void *E, GEN (*eval)(GEN,void*), GEN a, GEN b, long prec); 1829 1830 /* thue.c */ 1831 1832 GEN bnfisintnorm(GEN x, GEN y); 1833 GEN thue(GEN thueres, GEN rhs, GEN ne); 1834 GEN thueinit(GEN pol, long flag, long prec); 1835 1836 /* trans1.c */ 1837 1838 GEN Pi2n(long n, long prec); 1839 GEN PiI2(long prec); 1840 GEN PiI2n(long n, long prec); 1841 GEN agm(GEN x, GEN y, long prec); 1842 void consteuler(long prec); 1843 void constpi(long prec); 1844 GEN exp_Ir(GEN x); 1845 GEN gcos(GEN x, long prec); 1846 GEN gcotan(GEN x, long prec); 1847 GEN gexp(GEN x, long prec); 1848 GEN glog(GEN x, long prec); 1849 GEN gpow(GEN x, GEN n, long prec); 1850 GEN gpowgs(GEN x, long n); 1851 GEN gsin(GEN x, long prec); 1852 void gsincos(GEN x, GEN *s, GEN *c, long prec); 1853 GEN gsqrt(GEN x, long prec); 1854 GEN gsqrtn(GEN x, GEN n, GEN *zetan, long prec); 1855 GEN gtan(GEN x, long prec); 1856 GEN log0(GEN x,long flag, long prec); 1857 GEN mpcos(GEN x); 1858 GEN mpeuler(long prec); 1859 GEN mpexp(GEN x); 1860 GEN mpexp1(GEN x); 1861 GEN mplog(GEN x); 1862 GEN mplog2(long prec); 1863 GEN mppi(long prec); 1864 GEN mpsin(GEN x); 1865 void mpsincos(GEN x, GEN *s, GEN *c); 1866 GEN powiu(GEN p, ulong k); 1867 GEN powuu(ulong p, ulong k); 1868 GEN sqrtr(GEN x); 1869 GEN sqrtnr(GEN x, long n); 1870 GEN palog(GEN x); 1871 GEN powgi(GEN x, GEN n); 1872 GEN teich(GEN x); 1873 ulong upowuu(ulong p, ulong k); 1874 1875 /* trans2.c */ 1876 1877 GEN bernfrac(long n); 1878 GEN bernreal(long n, long prec); 1879 GEN bernvec(long nomb); 1880 GEN gach(GEN x, long prec); 1881 GEN gacos(GEN x, long prec); 1882 GEN garg(GEN x, long prec); 1883 GEN gash(GEN x, long prec); 1884 GEN gasin(GEN x, long prec); 1885 GEN gatan(GEN x, long prec); 1886 GEN gath(GEN x, long prec); 1887 GEN gch(GEN x, long prec); 1888 GEN ggamd(GEN x, long prec); 1889 GEN ggamma(GEN x, long prec); 1890 GEN glngamma(GEN x, long prec); 1891 GEN gpsi(GEN x, long prec); 1892 GEN gsh(GEN x, long prec); 1893 GEN gth(GEN x, long prec); 1894 void mpbern(long nomb, long prec); 1895 GEN mpfactr(long n, long prec); 1896 1897 /* trans3.c */ 1898 1899 GEN dilog(GEN x, long prec); 1900 GEN eint1(GEN x, long prec); 1901 GEN eta(GEN x, long prec); 1902 GEN eta0(GEN x, long flag,long prec); 1903 GEN gerfc(GEN x, long prec); 1904 GEN gpolylog(long m, GEN x, long prec); 1905 void gpolylogz(long m, GEN x, GEN y); 1906 GEN gzeta(GEN x, long prec); 1907 GEN hyperu(GEN a, GEN b, GEN gx, long prec); 1908 GEN incgam(GEN a, GEN x, long prec); 1909 GEN incgam0(GEN a, GEN x, GEN z,long prec); 1910 GEN incgam2(GEN a, GEN x, long prec); 1911 GEN incgamc(GEN a, GEN x, long prec); 1912 GEN hbessel1(GEN n, GEN z, long prec); 1913 GEN hbessel2(GEN n, GEN z, long prec); 1914 GEN ibessel(GEN n, GEN z, long prec); 1915 GEN jbessel(GEN n, GEN z, long prec); 1916 GEN jbesselh(GEN n, GEN z, long prec); 1917 GEN nbessel(GEN n, GEN z, long prec); 1918 GEN jell(GEN x, long prec); 1919 GEN kbessel(GEN nu, GEN gx, long prec); 1920 GEN kbessel0(GEN nu, GEN gx, long flag,long prec); 1921 GEN kbessel2(GEN nu, GEN x, long prec); 1922 GEN polylog(long m, GEN x, long prec); 1923 GEN polylog0(long m, GEN x, long flag, long prec); 1924 GEN polylogd(long m, GEN x, long prec); 1925 GEN polylogdold(long m, GEN x, long prec); 1926 GEN polylogp(long m, GEN x, long prec); 1927 GEN szeta(long x, long prec); 1928 GEN theta(GEN q, GEN z, long prec); 1929 GEN thetanullk(GEN q, long k, long prec); 1930 GEN trueeta(GEN x, long prec); 1931 GEN veceint1(GEN nmax, GEN C, long prec); 1932 GEN vecthetanullk(GEN q, long k, long prec); 1933 GEN weber0(GEN x, long flag,long prec); 1934 GEN weberf(GEN x, long prec); 1935 GEN weberf1(GEN x, long prec); 1936 GEN weberf2(GEN x, long prec); 1937