home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / lisp / gcl-1.000 / gcl-1 / gcl-1.0 / h / gencom.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-11-29  |  17.8 KB  |  525 lines

  1.  
  2. /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
  3. /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
  4. /*                                                                 */
  5. /*                        Fichier Include PARI                     */
  6. /*                                                                 */
  7. /*                    commun a toutes les versions                 */
  8. /*                                                                 */
  9. /*                        copyright  Babecool                      */
  10. /*                                                                 */
  11. /*                                                                 */
  12. /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
  13. /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
  14.  
  15. typedef long    *GEN;
  16. #define ulong _ulong
  17. typedef unsigned long ulong;
  18.  
  19. typedef struct entree {
  20.   char *name;
  21.   long valence;
  22.   void *value;
  23.   struct entree *next;
  24. } entree;
  25.  
  26. typedef unsigned char *byteptr;
  27.  
  28. /*      Variables statiques communes :
  29.         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  */
  30. extern  long    prec,precdl;
  31. extern  GEN     bernzone,gpi,geuler;
  32. extern  long    tglobal;
  33. extern  long    *ordvar,varchanged;
  34. extern  GEN     polvar;
  35. extern  GEN     RAVYZARC;
  36.  
  37. extern  long    NUMFUNC;
  38. extern  entree  fonctions[],*hashtable[];
  39. extern  long    lontyp[],lontyp2[];
  40.  
  41. extern  jmp_buf environnement;
  42.  
  43. #ifndef IN_INIT_PARI
  44. extern  unsigned long    avma,bot,top;
  45. #endif
  46.  
  47. extern  GEN     gnil,gun,gdeux,ghalf,gi,gzero;
  48.  
  49. extern  GEN     *polun,*polx;
  50. extern  byteptr diffptr;
  51.  
  52. extern  GEN     *g;
  53. extern  entree  **varentries; /* noms des inconnues actives */
  54. extern  GEN     *blocliste;   /* tableau des pointeur de blocs */
  55. extern  long    nvar;         /* numero de la prochaine inconnue */
  56. extern  long    glbfmt[];
  57.  
  58. extern  char    *helpmessage[]; /* un message pour chaque fonction predefinei */
  59. extern  char    *errmessage[];  /* un par numero d'erreur */
  60.  
  61. #define STACKSIZE       500  /* nombre de gn possibles */
  62. #define MAXVAR          150  /* nombre maximum de variables */
  63. #define TBLSZ           135  /* taille de la table de hashcodes */
  64. #define MAXBLOC        5000  /* nombre de blocs autorises dans le tas */
  65.  
  66. #define K       9.632959862             /* 32*log(2)/log(10)    */
  67. #define K1      0.103810253             /* log(10)/(32*log(2))  */
  68. #define K2      1.1239968               /* 1/(1-(log(2)/(2*pi)))*/
  69. #define K3      0.900643041             /* 1/(1+(log(2)/(2*pi)))*/
  70. #define LOG2    0.693147180559945       /* log(2)               */
  71. #define L2SL10  0.301029995663981       /* log(2)/log(10)       */
  72. #undef  PI
  73. #define PI      3.141592653589          /* pi                   */
  74. #define rac5    2.23606797749           /* racine de 5          */
  75. #define C1      0.9189385332            /* log(2*pi)/2          */
  76. #define C2      22.18070978             /* 32*log(2)            */
  77. #define C3      0.0216950598            /* log((1+sqrt(5))/2)/(32*log(2)) */
  78. #define C4      4294967296.0            /* 2^32                 */
  79. #define C31     2147483648.0            /* 2^31                 */
  80. #define CN31    -2147483648.0           /* -2^31                */
  81. #define BIGINT  32767                   /* 2^15-1               */
  82.  
  83. #ifndef exp2
  84. #define exp2(x) exp((double)(x)*log(2.))
  85. #define log2(x) log((double)(x))/log(2.)
  86. #endif
  87.  
  88. #define separe(c)     ((c==';')||(c==':')||(c=='\n'))
  89.  
  90. #define output(x)     {brute(x,'g',-1);printf("\n");fflush(stdout);}
  91. #define outbeaut(x)   {sor(x,'g',-1,0);printf("\n");fflush(stdout);}
  92.  
  93. #define addis(x,s)  addsi(s,x)
  94. #define addrs(x,s)  addsr(s,x)
  95. #define mulis(x,s)  mulsi(s,x)
  96. #define mulrs(x,s)  mulsr(s,x)
  97.  
  98. #define gval(x,v) ggval(x,polx[v])
  99.  
  100. #define lgeti   (long)cgeti
  101. #define lgetr   (long)cgetr
  102. #define lpile   (long)gerepile
  103. #define lstoi   (long)stoi
  104. #define lnegi   (long)negi
  105. #define lnegr   (long)negr
  106. #define lmpneg  (long)mpneg
  107. #define labsi   (long)absi
  108. #define labsr   (long)absr
  109. #define lmpabs  (long)mpabs
  110. #define lmptrunc (long)mptrunc
  111. #define lmpent  (long)mpent
  112. #define lshifts (long)shifts
  113. #define lshifti (long)shifti
  114. #define lshiftr (long)shiftr
  115. #define lmpshift (long)mpshift
  116. #define laddsi  (long)addsi
  117. #define laddsr  (long)addsr
  118. #define laddis  (long)addis
  119. #define laddrs  (long)addrs
  120. #define laddii  (long)addii
  121. #define laddir  (long)addir
  122. #define laddrr  (long)addrr
  123. #define lmpadd  (long)mpadd
  124. #define lsubsi  (long)subsi
  125. #define lsubis  (long)subis
  126. #define lsubsr  (long)subsr
  127. #define lsubrs  (long)subrs
  128. #define lsubii  (long)subii
  129. #define lsubir  (long)subir
  130. #define lsubri  (long)subri
  131. #define lsubrr  (long)subrr
  132. #define lmpsub  (long)mpsub
  133. #define lmulss  (long)mulss
  134. #define lmulsi  (long)mulsi
  135. #define lmulsr  (long)mulsr
  136. #define lmulis  (long)mulis
  137. #define lmulrs  (long)mulrs
  138. #define lmulii  (long)mulii
  139. #define lmulir  (long)mulir
  140. #define lmulrr  (long)mulrr
  141. #define lmpmul  (long)mpmul
  142. #define ldivsi  (long)divsi
  143. #define ldivis  (long)divis
  144. #define ldivsr  (long)divsr
  145. #define ldivrs  (long)divrs
  146. #define ldivii  (long)divii
  147. #define ldivir  (long)divir
  148. #define ldivri  (long)divri
  149. #define ldivrr  (long)divrr
  150. #define lmpdiv  (long)mpdiv
  151. #define lmodii  (long)modii
  152. #define lresii  (long)resii
  153. #define ldvmdii (long)dvmdii
  154. #define ldvmdsi (long)dvmdsi
  155. #define ldvmdis (long)dvmdis
  156.   
  157. #define ltree   (long)gettree
  158. #define lgen    (long)getgen
  159. #define lcopy   (long)gcopy
  160. #define lclone  (long)gclone
  161. #define lgetg   (long)cgetg
  162. #define lgetp   (long)cgetp
  163. #define laddpex (long)gaddpex
  164. #define lgreffe (long)greffe
  165. #define lopsg2  (long)gopsg2
  166. #define lopgs2  (long)gopgs2
  167. #define lco8    (long)co8
  168. #define lneg    (long)gneg
  169. #define labs    (long)gabs
  170. #define lmax    (long)gmax
  171. #define lmin    (long)gmin
  172. #define ladd    (long)gadd
  173. #define lsub    (long)gsub
  174. #define lmul    (long)gmul
  175. #define ldiv    (long)gdiv
  176. #define linv    (long)ginv
  177. #define lmod    (long)gmod
  178. #define ldivmod (long)gdivmod
  179. #define lshift  (long)gshift
  180. #define lmul2n  (long)gmul2n
  181. #define lpuigs  (long)gpuigs
  182. #define lpui    (long)gpui
  183. #define lsubst  (long)gsubst
  184. #define lderiv  (long)deriv
  185. #define linteg  (long)integ
  186. #define lrecip  (long)recip
  187. #define lceil   (long)gceil
  188. #define lfloor  (long)gfloor
  189. #define lround  (long)ground
  190. #define lcvtoi  (long)gcvtoi
  191. #define lrndtoi (long)grndtoi
  192. #define lfrac   (long)gfrac
  193. #define ltrunc  (long)gtrunc
  194.   
  195. #define lconcat (long)concat
  196. #define lnorm   (long)gnorm
  197. #define lnorml2 (long)gnorml2
  198. #define lconj   (long)gconj
  199. #define lreal   (long)greal
  200. #define limag   (long)gimag
  201. #define lmppi   (long)mppi
  202. #define lmpeuler (long)mpeuler
  203. #define lmpsqrt (long)mpsqrt
  204. #define lsqrt   (long)gsqrt
  205. #define lmpexp1 (long)mpexp1
  206. #define lmpexp  (long)mpexp
  207. #define lexp    (long)gexp
  208. #define lmplog  (long)mplog
  209. #define llog    (long)glog
  210. #define lmpsc1  (long)mpsc1
  211. #define lmpcos  (long)mpcos
  212. #define lcos    (long)gcos
  213. #define lmpsin  (long)mpsin
  214. #define lsin    (long)gsin
  215. #define lmpaut  (long)mpaut
  216. #define lmptan  (long)mptan
  217. #define ltan    (long)gtan
  218. #define lmpatan (long)mpatan
  219. #define latan   (long)gatan
  220. #define lmpasin (long)mpasin
  221. #define lasin   (long)gasin
  222. #define lmpacos (long)mpacos
  223. #define lacos   (long)gacos
  224. #define lmpch   (long)mpch
  225. #define lch     (long)gch
  226. #define lmpsh   (long)mpsh
  227. #define lsh     (long)gsh
  228. #define lmpth   (long)mpth
  229. #define lth     (long)gth
  230. #define lmpath  (long)mpath
  231. #define lath    (long)gath
  232. #define lmpash  (long)mpash
  233. #define lash    (long)gash
  234. #define lmpach  (long)mpach
  235. #define lach    (long)gach
  236. #define lmpgamma (long)mpgamma
  237. #define lgamma  (long)ggamma
  238. #define lgamd   (long)ggamd
  239. #define lmppsi  (long)mppsi
  240. #define lpsi    (long)gpsi
  241. #define lmpgamd (long)mpgamd
  242. #define larg    (long)garg
  243. #define lsqr    (long)gsqr
  244.   
  245. #define ltrans  (long)gtrans
  246. #define lscalmat (long)gscalmat
  247. #define lscalsmat (long)gscalsmat
  248. #define laddmat (long)gaddmat
  249. #define laddsmat (long)gaddsmat
  250. #define lgauss  (long)gauss
  251. #define linvmat (long)invmat
  252. #define linvmulmat (long)invmulmat
  253. #define ldet    (long)det
  254. #define ldet2   (long)det2
  255. #define lcaract (long)caract
  256. #define lcaradj (long)caradj
  257. #define ladj    (long)adj
  258. #define ltrace  (long)trace
  259. #define lassmat (long)assmat
  260. #define lscal   (long)gscal
  261.   
  262. #define linvmod (long)ginvmod
  263. #define lred    (long)gred
  264. #define ldeuc   (long)gdeuc
  265. #define lres    (long)gres
  266. #define ldivres (long)poldivres
  267. #define lpoleval (long)poleval
  268. #define lroots  (long)roots
  269. #define lgcd    (long)ggcd
  270. #define lpolgcd (long)polgcd
  271. #define lcontent (long)content
  272. #define lprimpart (long)primpart
  273. #define lpsres  (long)psres
  274. #define lsubres (long)subres
  275. #define ldiscsr (long)discsr
  276. #define lquadpoly (long)quadpoly
  277. #define lquadgen (long)quadgen
  278.   
  279. #define llegendre (long)legendre
  280. #define ltchebi (long)tchebi
  281. #define lhilb   (long)hilb
  282. #define lpasc   (long)pasc
  283. #define lprec   (long)gprec
  284. #define lbinome (long)binome
  285.   
  286. #define lracine (long)racine
  287. #define lmppgcd (long)mppgcd
  288. #define lmpfact (long)mpfact
  289. #define lsfcont (long)sfcont
  290. #define lbezout (long)bezout
  291. #define lmpinvmod (long)mpinvmod
  292. #define lpuissmodulo (long)puissmodulo
  293. #define lfibo   (long)fibo
  294. #define lchangevar (long)changevar
  295.   
  296. #define zero    (long)gzero
  297. #define un      (long)gun
  298. #define deux    (long)gdeux
  299. #define lhalf   (long)ghalf
  300.   
  301. #define lpolx   (long)polx
  302. #define lpolun   (long)polun
  303.  
  304. #define laddsg(s,y)         (lopsg2(gadd,s,y))
  305. #define laddgs(y,s)         (lopsg2(gadd,s,y))
  306. #define lsubsg(s,y)         (lopsg2(gsub,s,y))
  307. #define lsubgs(y,s)         (lopgs2(gsub,y,s))
  308. #define lmulsg(s,y)         ((long)gmulsg(s,y))
  309. #define lmulgs(y,s)         ((long)gmulsg(s,y))
  310. #define ldivsg(s,y)         (lopsg2(gdiv,s,y))
  311. #define ldivgs(x,s)         ((long)gdivgs(x,s))
  312. #define lmodsg(s,y)         (lopsg2(gmod,s,y))
  313. #define lmodgs(y,s)         (lopgs2(gmod,y,s))
  314. #define ldiventsg(s,y)      (lopsg2(gdivent,s,y))
  315. #define ldiventgs(y,s)      (lopgs2(gdivent,y,s))
  316. #define lminsg(s,y)         (lopsg2(gmin,s,y))
  317. #define lmings(y,s)         (lopgs2(gmin,y,s))
  318. #define lmaxsg(s,y)         (lopsg2(gmax,s,y))
  319. #define lmaxgs(y,s)         (lopgs2(gmax,y,s))
  320.  
  321.  
  322. #define mppiz(x)              (gop0z(mppi,x))
  323. #define mpeulerz(x)           (gop0z(mpeuler,x))
  324. #define mpsqrtz(x,y)        (gop1z(mpsqrt,x,y))
  325. #define mpexpz(x,y)         (gop1z(mpexp,x,y))
  326. #define mpexp1z(x,y)        (gop1z(mpexp1,x,y))
  327. #define mplogz(x,y)         (gop1z(mplog,x,y))
  328. #define mpcosz(x,y)         (gop1z(mpcos,x,y))
  329. #define mpsinz(x,y)         (gop1z(mpsin,x,y))
  330. #define autz(x,y)           (gop1z(mpaut,x,y))
  331. #define mptanz(x,y)         (gop1z(mptan,x,y))
  332. #define mpatanz(x,y)        (gop1z(mpatan,x,y))
  333. #define mpasinz(x,y)        (gop1z(mpasin,x,y))
  334. #define mpacosz(x,y)        (gop1z(mpacos,x,y))
  335. #define mpchz(x,y)          (gop1z(mpch,x,y))
  336. #define mpshz(x,y)          (gop1z(mpsh,x,y))
  337. #define mpthz(x,y)          (gop1z(mpth,x,y))
  338. #define mpathz(x,y)         (gop1z(mpath,x,y))
  339. #define mpashz(x,y)         (gop1z(mpash,x,y))
  340. #define mpachz(x,y)         (gop1z(mpach,x,y))
  341. #define mpgammaz(x,y)       (gop1z(mpgamma,x,y))
  342. #define mpargz(x,y,z)      (gop2z(mparg,x,y,z))
  343. #define mpfactz(s,y)        (gops1z(mpfact,s,y))
  344.  
  345. #define gredz(x,y)          (gop1z(gred,x,y))
  346. #define gnegz(x,y)          (gop1z(gneg,x,y))
  347. #define gabsz(x,y)          (gop1z(gabs,x,y))
  348. #define gmaxz(x,y,z)       (gop2z(gmax,x,y,z))
  349. #define gminz(x,y,z)       (gop2z(gmin,x,y,z))
  350. #define gaddz(x,y,z)       (gop2z(gadd,x,y,z))
  351. #define gsubz(x,y,z)       (gop2z(gsub,x,y,z))
  352. #define gmulz(x,y,z)       (gop2z(gmul,x,y,z))
  353. #define gdivz(x,y,z)       (gop2z(gdiv,x,y,z))
  354. #define gdeucz(x,y,z)      (gop2z(gdeuc,x,y,z))
  355. #define gmodz(x,y,z)       (gop2z(gmod,x,y,z))
  356. #define gshiftz(x,s,z)      (gops2gsz(gshift,x,s,z))
  357. #define gmul2nz(x,s,z)      (gops2gsz(gmul2n,x,s,z))
  358. #define gaddsg(s,y)         (gopsg2(gadd,s,y))
  359. #define gaddgs(y,s)         (gopsg2(gadd,s,y))
  360. #define gsubsg(s,y)         (gopsg2(gsub,s,y))
  361. #define gsubgs(y,s)         (gopgs2(gsub,y,s))
  362. #define gcmpsg(s,y)         (-opgs2(gcmp,y,s))
  363. #define gcmpgs(y,s)         (opgs2(gcmp,y,s))
  364. #define gegalsg(s,y)        (opgs2(gegal,y,s))
  365. #define gegalgs(y,s)        (opgs2(gegal,y,s))
  366. #define gmulgs(y,s)         (gmulsg(s,y))
  367. #define gdivsg(s,y)         (gopsg2(gdiv,s,y))
  368. #define gdiventsg(s,y)      (gopsg2(gdivent,s,y))
  369. #define gdiventgs(y,s)      (gopgs2(gdivent,y,s))
  370. #define gmodsg(s,y)         (gopsg2(gmod,s,y))
  371. #define gmodgs(y,s)         (gopgs2(gmod,y,s))
  372. #define gminsg(s,y)         (gopsg2(gmin,s,y))
  373. #define gmings(y,s)         (gopgs2(gmin,y,s))
  374. #define gmaxsg(s,y)         (gopsg2(gmax,s,y))
  375. #define gmaxgs(y,s)         (gopgs2(gmax,y,s))
  376.  
  377.  
  378. #define gaddsgz(s,y,z)    (gopsg2z(gadd,s,y,z))
  379. #define gaddgsz(y,s,z)    (gopsg2z(gadd,s,y,z))
  380. #define gsubsgz(s,y,z)    (gopsg2z(gsub,s,y,z))
  381. #define gsubgsz(y,s,z)    (gopgs2z(gsub,y,s,z))
  382. #define gmulsgz(s,y,z)    (gops2sgz(gmulsg,s,y,z))
  383. #define gmulgsz(y,s,z)    (gops2sgz(gmulsg,s,y,z))
  384. #define gdivsgz(s,y,z)    (gopsg2z(gdiv,s,y,z))
  385. #define gdivgsz(y,s,z)    (gops2gsz(gdivgs,y,s,z))
  386. #define gdiventsgz(s,y,z) (gopsg2z(gdivent,s,y,z))
  387. #define gdiventgsz(y,s,z) (gopgs2z(gdivent,y,s,z))
  388. #define gmodsgz(s,y,z)    (gopsg2z(gmod,s,y,z))
  389. #define gmodgsz(y,s,z)    (gopgs2z(gmod,y,s,z))
  390. #define gminsgz(s,y,z)    (gopsg2z(gmin,s,y,z))
  391. #define gmingsz(y,s,z)    (gopgs2z(gmin,y,s,z))
  392. #define gmaxsgz(s,y,z)    (gopsg2z(gmax,s,y,z))
  393. #define gmaxgsz(y,s,z)    (gopgs2z(gmax,y,s,z))
  394.  
  395. #define coeff(a,i,j)      (*((long*)(*(a+(j)))+(i)))
  396. #define coef1(a,i,j)      (*((long*)(*(a+(j)+1))+(i)+1))
  397. #define bern(i)         (bernzone + (i)*(*(bernzone + 2)) + 3)
  398.  
  399. #define isonstack(x)   (RAVYZARC=(GEN)(x),((RAVYZARC>=(GEN)bot)&&(RAVYZARC<(GEN)top)))
  400. #define copyifstack(x) (RAVYZARC=(GEN)(x),((RAVYZARC>=(GEN)bot)&&(RAVYZARC<(GEN)top))?lcopy(RAVYZARC):(long)RAVYZARC)
  401.  
  402.  
  403. #define odd(x)                (x & 1)
  404. #define mpodd(x) (signe(x) && odd(mant(x,lgef(x) - 2)))
  405.      
  406. /* alglin.c */
  407.      
  408. GEN     gtrans(),gscalmat(),gscalsmat(),gaddmat(),gaddsmat();
  409. GEN     ker(),keri(),kerreel(),eigen(),hess(),carhess();
  410. GEN     gauss(),invmat(),det(),detreel(),det2(),caract(),caradj(),adj(),trace();
  411. GEN     assmat(),gnorm(),gnorml2(),gconj(),concat(),idmat();
  412. GEN     extract(),matextract(),gtomat(),invmulmat(),invmulmatreel(),invmatreel();
  413. GEN     sqred(),sqred1(),signat(),jacobi();
  414. long    rank();
  415.  
  416. /* anal.c */
  417.      
  418. GEN     lisexpr(),readexpr(),lisseq(),readseq();
  419.      
  420. /* arith.c */
  421.      
  422. GEN     racine(),mppgcd(),mpfact(),sfcont(),fc(),bezout(),chinois();
  423. GEN     mpinvmod(),puissmodulo(),fibo(),bigprem(),prime(),primes();
  424. GEN     phi(),decomp(),auxdecomp(),smallfact(),boundfact(),sumdiv(),sumdivk(),numbdiv();
  425. GEN     ellfacteur(),classno(),classno2(),classno3(),fundunit(),regula();
  426. GEN     compose(),sqcomp(),qf(),compose2(),sqcomp2(),qfred1(),primeform();
  427. GEN     binaire(),order(),gener(),divisors();
  428.      
  429. long    kronecker(),krosg(),krogs(),kross(),kro8();
  430. long    mu(),omega(),bigomega(),hil(),carreparfait();
  431. long    isprime(),ispsp(),issquarefree(),isfundamental();
  432. byteptr initprimes();
  433.  
  434. /* base.c */
  435.  
  436. GEN     base(),discf(),hnf(),smith();
  437.  
  438. /* bibli1.c */
  439.      
  440. GEN     tayl(),legendre(),tchebi(),hilb(),pasc(),laplace();
  441. GEN     gprec(),convol(),ggrando(),gconvsp(),gaminc();
  442. GEN     lll(),lllrat(),lllgram(),binome(),gscal();
  443. GEN     lindep(),lindep2(),algdep(),changevar(),ordred();
  444. GEN     polrecip(),reorder(),sort(),indexsort(),polred(),polsym();
  445.  
  446.      
  447. /* bibli2.c */
  448.  
  449. GEN     somme(),produit(),suminf(),prodinf(),prodinf1(),prodeuler();
  450. GEN     vecteur(),vvecteur(),matrice(),divsomme();
  451. GEN     qromb(),qromo(),qromi(),rombint();
  452. GEN     polint(),plot(),ploth(),ploth2(),zbrent(),sumalt(),sumpos();
  453. GEN     forpari(),forstep(),fordiv(),forprime(),ghell(),ghell2(),ghell3();
  454. GEN     initell(),zell(),coordch(),pointch();
  455. GEN     addell(),subell(),powell(),matell(),ordell(),apell(),apell1(),apell2();
  456. int     oncurve();
  457. void    eulsum();
  458.  
  459. /* es.c */
  460.  
  461. void    sor(),brute(),texe();
  462.  
  463. /* gen1.c */
  464.  
  465. GEN     gadd(),gsub(),gmul(),gdiv();
  466.  
  467. /* gen2.c gen3.c */
  468.  
  469. GEN     gcopy(),gclone(),cgetg(),cgetp(),gaddpex();
  470. GEN     greffe(),gopsg2(),gopgs2(),co8(),cvtop(),compo(),gsqr();
  471. GEN     gneg(),gabs(),gmax(),gmin(),ginv(),denom(),numer(),lift();
  472. GEN     gmulsg(),gdivgs(),gmodulo(),gmodulcp();
  473. GEN     gmod(),gshift(),gmul2n(),gpuigs(),gpui();
  474. GEN     gsubst(),deriv(),integ(),recip(),ground(),gcvtoi(),grndtoi();
  475. GEN     gceil(),gfloor(),gfrac(),gtrunc(),gdivent(),gdiventres();
  476. GEN     gdivmod(),geval(),glt(),gle(),ggt(),gge(),geq(),gne();
  477. GEN     gand(),gor(),glength(),truecoeff();
  478. GEN     gtopoly(),gtoser(),gtovec(),dbltor();
  479.  
  480. void    gop0z(),gop1z(),gop2z(),gops2gsz(),gops2sgz(),gops2ssz();
  481. void    gop3z(),gops1z(),gopsg2z(),gopgs2z();
  482. long    taille(),gexpo(),gsigne(),gcmp(),gtolong(),gegal();
  483. long    polegal(),tdeg(),ismonome(),iscomplex(),gvar(),ggval();
  484. double  rtodbl(),gtodouble();
  485.  
  486. /* init.c */
  487.  
  488. GEN     newbloc(),geni();
  489. long    marklist();
  490. void    init(),killbloc(),newvalue(),killvalue();
  491. void    err(),recover(),changevalue();
  492.  
  493. /* polarit.c */
  494.      
  495. GEN     ginvmod(),gred(),gdeuc(),gres(),poldivres();
  496. GEN     poleval(),roots(),ggcd(),gbezout(),vecbezout(),glcm();
  497. GEN     polgcd(),srgcd(),polgcdnun(),content(),primpart(),psres();
  498. GEN     factmod(),rootmod(),decpol(),factor(),factpol(),factpol2();
  499. GEN     subres(),discsr(),quadpoly(),quadgen(),bezoutpol(),polinvmod();
  500. long    sturm();
  501. void    gredsp();
  502.      
  503. /* trans.c */
  504.      
  505. GEN     greal(),gimag(),teich(),agm(),palog();
  506. GEN     mpsqrt(),gsqrt(),mpexp1(),mpexp(),gexp(),logagm(),glogagm();
  507. GEN     mplog(),glog(),mpsc1(),mpcos(),gcos(),mpsin(),gsin();
  508. GEN     mpaut(),mptan(),gtan(),mpatan(),gatan(),mpasin(),gasin();
  509. GEN     mpacos(),gacos(),mparg(),mpch(),gch(),mpsh(),gsh();
  510. GEN     mpth(),gth(),mpath(),gath(),mpash(),gash();
  511. GEN     garg(),sarg(),mppsi(),gpsi(),transc(),kbessel(),hyperu();
  512. GEN     cxpsi(),jbesselh(),gzeta();
  513. GEN     kbessel2(),eint1(),gerfc(),eta(),jell(),wf2(),wf();
  514. GEN     incgam(),incgam1(),incgam2(),incgam3(),bernreal(),bernvec();
  515. GEN     mpach(),gach(),mpgamma(),cxgamma(),ggamma(),mpgamd(),ggamd(),mppi();
  516. GEN     mpeuler(),polylog(),dilog(),polylogd(),polylogp();
  517. GEN     theta(),thetanullk();
  518.  
  519. void    constpi(),consteuler(),gsincos();
  520.  
  521. /* version.c */
  522.  
  523. GEN     gerepilc();
  524. void    printversion();
  525.