home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / progs / pari / pari_137 / src / gencom.h < prev    next >
C/C++ Source or Header  |  1992-05-20  |  23KB  |  621 lines

  1. /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
  2. /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
  3. /*                                                                 */
  4. /*                        Fichier Include PARI                     */
  5. /*                                                                 */
  6. /*                    commun a toutes les versions                 */
  7. /*                                                                 */
  8. /*                        copyright  Babecool                      */
  9. /*                                                                 */
  10. /*                                                                 */
  11. /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
  12. /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
  13.  
  14. typedef long    *GEN;
  15. typedef unsigned long ulong;
  16.  
  17. typedef struct entree {
  18.   char *name;
  19.   long valence;
  20.   void *value;
  21.   struct entree *next;
  22. } entree;
  23.  
  24. typedef unsigned char *byteptr;
  25.  
  26. /*      Variables statiques communes :
  27.         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  */
  28.  
  29. extern  unsigned long overflow,hiremainder;
  30.  
  31. extern  long    prec,precdl,defaultpadicprecision;
  32. extern  GEN     bernzone,gpi,geuler;
  33. extern  long    tglobal,paribuffsize,pariecho;
  34. extern  long    *ordvar,varchanged;
  35. extern  GEN     polvar;
  36. extern  GEN     RAVYZARC;
  37.  
  38. extern  long    NUMFUNC;
  39. extern  entree  fonctions[],*hashtable[];
  40. extern  long    lontyp[],lontyp2[];
  41.  
  42. extern  jmp_buf environnement;
  43. extern  FILE    *outfile, *logfile, *infile;
  44.  
  45. extern  unsigned long    avma,bot,top;
  46. extern  GEN     gnil,gun,gdeux,ghalf,gi,gzero;
  47.  
  48. extern  GEN     *polun,*polx;
  49. extern  byteptr diffptr;
  50.  
  51. extern  GEN     *g;
  52. extern  entree  **varentries; /* noms des inconnues actives */
  53. extern  GEN     *blocliste;   /* tableau des pointeur de blocs */
  54. extern  long    nvar;         /* numero de la prochaine inconnue */
  55. extern  long    glbfmt[];
  56. extern  long    **rectgraph;
  57.  
  58. extern  char    *helpmessage[]; /* un message pour chaque fonction predefinie */
  59. extern  char    *errmessage[];  /* un par numero d'erreur */
  60.  
  61. #define STACKSIZE      1000  /* nombre de gn possibles */
  62. #define MAXVAR          150  /* nombre maximum de variables */
  63. #define MAXFILES 5
  64. #define TBLSZ           135  /* taille de la table de hashcodes */
  65. #define MAXBLOC        5000  /* nombre de blocs autorises dans le tas */
  66.  
  67. #define K       9.632959862             /* 32*log(2)/log(10)    */
  68. #define K1      0.103810253             /* log(10)/(32*log(2))  */
  69. #define K2      1.1239968               /* 1/(1-(log(2)/(2*pi)))*/
  70. /* #define K3      0.900643041 */            /* 1/(1+(log(2)/(2*pi)))*/
  71. #define K4      0.5337333889            /* e*pi/16              */
  72. #define LOG2    0.693147180559945       /* log(2)               */
  73. #define L2SL10  0.301029995663981       /* log(2)/log(10)       */
  74. #undef  PI
  75. #define PI      3.141592653589          /* pi                   */
  76. #define rac5    2.23606797749           /* racine de 5          */
  77. #define C1      0.9189385332            /* log(2*pi)/2          */
  78. #define C2      22.18070978             /* 32*log(2)            */
  79. #define C3      0.0216950598            /* log((1+sqrt(5))/2)/(32*log(2)) */
  80. #define C4      4294967296.0            /* 2^32                 */
  81. #define C31     2147483648.0            /* 2^31                 */
  82. #define CN31    -2147483648.0           /* -2^31                */
  83. #define BIGINT  32767                   /* 2^15-1               */
  84. #define LARGERINT 1048576               /* 2^20                 */
  85. #define VERYBIGINT 2147483647           /* 2^31-1               */
  86.  
  87. #ifndef exp2
  88. #define exp2(x) exp((double)(x)*log(2.))
  89. #define log2(x) log((double)(x))/log(2.)
  90. #endif
  91.  
  92. #define min(a,b) ((a)>(b)?(b):(a))
  93. #define max(a,b) ((a)>(b)?(a):(b))
  94.  
  95. #define separe(c)     ((c==';')||(c==':')||(c=='\n'))
  96.  
  97. #define output(x)     {brute(x,'g',-1);printf("\n");fflush(stdout);}
  98. #define outmat(x)     {matbrute(x,'g',-1);printf("\n");fflush(stdout);}
  99. #define outbeaut(x)   {sor(x,'g',-1,0);printf("\n");fflush(stdout);}
  100.  
  101. #define addis(x,s)  addsi(s,x)
  102. #define addrs(x,s)  addsr(s,x)
  103. #define mulis(x,s)  mulsi(s,x)
  104. #define mulri(x,s)  mulir(s,x)
  105. #define mulrs(x,s)  mulsr(s,x)
  106.  
  107. #define gval(x,v) ggval(x,polx[v])
  108. #define gvar9(x) ((typ(x)==9)?gvar2(x):gvar(x))
  109.  
  110. #define lgeti   (long)cgeti
  111. #define lgetr   (long)cgetr
  112. #define lpile   (long)gerepile
  113. #define lstoi   (long)stoi
  114. #define lnegi   (long)negi
  115. #define lnegr   (long)negr
  116. #define lmpneg  (long)mpneg
  117. #define labsi   (long)absi
  118. #define labsr   (long)absr
  119. #define lmpabs  (long)mpabs
  120. #define lmptrunc (long)mptrunc
  121. #define lmpent  (long)mpent
  122. #define lshifts (long)shifts
  123. #define lshifti (long)shifti
  124. #define lshiftr (long)shiftr
  125. #define lmpshift (long)mpshift
  126. #define laddsi  (long)addsi
  127. #define laddsr  (long)addsr
  128. #define laddis  (long)addis
  129. #define laddrs  (long)addrs
  130. #define laddii  (long)addii
  131. #define laddir  (long)addir
  132. #define laddrr  (long)addrr
  133. #define lmpadd  (long)mpadd
  134. #define lsubsi  (long)subsi
  135. #define lsubis  (long)subis
  136. #define lsubsr  (long)subsr
  137. #define lsubrs  (long)subrs
  138. #define lsubii  (long)subii
  139. #define lsubir  (long)subir
  140. #define lsubri  (long)subri
  141. #define lsubrr  (long)subrr
  142. #define lmpsub  (long)mpsub
  143. #define lmulss  (long)mulss
  144. #define lmulsi  (long)mulsi
  145. #define lmulsr  (long)mulsr
  146. #define lmulis  (long)mulis
  147. #define lmulrs  (long)mulrs
  148. #define lmulii  (long)mulii
  149. #define lmulir  (long)mulir
  150. #define lmulri  (long)mulri
  151. #define lmulrr  (long)mulrr
  152. #define lmpmul  (long)mpmul
  153. #define ldivsi  (long)divsi
  154. #define ldivis  (long)divis
  155. #define ldivsr  (long)divsr
  156. #define ldivrs  (long)divrs
  157. #define ldivii  (long)divii
  158. #define ldivir  (long)divir
  159. #define ldivri  (long)divri
  160. #define ldivrr  (long)divrr
  161. #define lmpdiv  (long)mpdiv
  162. #define lmodii  (long)modii
  163. #define lresii  (long)resii
  164. #define ldvmdii (long)dvmdii
  165. #define ldvmdsi (long)dvmdsi
  166. #define ldvmdis (long)dvmdis
  167.   
  168. #define ltree   (long)gettree
  169. #define lgen    (long)getgen
  170. #define lcopy   (long)gcopy
  171. #define lclone  (long)gclone
  172. #define lgetg   (long)cgetg
  173. #define lgetp   (long)cgetp
  174. #define laddpex (long)gaddpex
  175. #define lgreffe (long)greffe
  176. #define lopsg2  (long)gopsg2
  177. #define lopgs2  (long)gopgs2
  178. #define lco8    (long)co8
  179. #define lneg    (long)gneg
  180. #define labs    (long)gabs
  181. #define lmax    (long)gmax
  182. #define lmin    (long)gmin
  183. #define ladd    (long)gadd
  184. #define lsub    (long)gsub
  185. #define lmul    (long)gmul
  186. #define ldiv    (long)gdiv
  187. #define linv    (long)ginv
  188. #define lmod    (long)gmod
  189. #define ldivmod (long)gdivmod
  190. #define lshift  (long)gshift
  191. #define lmul2n  (long)gmul2n
  192. #define lpuigs  (long)gpuigs
  193. #define lpui    (long)gpui
  194. #define lsubst  (long)gsubst
  195. #define lderiv  (long)deriv
  196. #define linteg  (long)integ
  197. #define lrecip  (long)recip
  198. #define lceil   (long)gceil
  199. #define lfloor  (long)gfloor
  200. #define lround  (long)ground
  201. #define lcvtoi  (long)gcvtoi
  202. #define lrndtoi (long)grndtoi
  203. #define lfrac   (long)gfrac
  204. #define ltrunc  (long)gtrunc
  205. #define lmodulcp  (long)gmodulcp
  206. #define lmodulo  (long)gmodulo
  207.   
  208. #define lconcat (long)concat
  209. #define lnorm   (long)gnorm
  210. #define lnorml2 (long)gnorml2
  211. #define lconj   (long)gconj
  212. #define lreal   (long)greal
  213. #define limag   (long)gimag
  214. #define lmppi   (long)mppi
  215. #define lmpeuler (long)mpeuler
  216. #define lmpsqrt (long)mpsqrt
  217. #define lsqrt   (long)gsqrt
  218. #define lmpexp1 (long)mpexp1
  219. #define lmpexp  (long)mpexp
  220. #define lexp    (long)gexp
  221. #define lmplog  (long)mplog
  222. #define llog    (long)glog
  223. #define lmpsc1  (long)mpsc1
  224. #define lmpcos  (long)mpcos
  225. #define lcos    (long)gcos
  226. #define lmpsin  (long)mpsin
  227. #define lsin    (long)gsin
  228. #define lmpaut  (long)mpaut
  229. #define lmptan  (long)mptan
  230. #define ltan    (long)gtan
  231. #define lmpatan (long)mpatan
  232. #define latan   (long)gatan
  233. #define lmpasin (long)mpasin
  234. #define lasin   (long)gasin
  235. #define lmpacos (long)mpacos
  236. #define lacos   (long)gacos
  237. #define lmpch   (long)mpch
  238. #define lch     (long)gch
  239. #define lmpsh   (long)mpsh
  240. #define lsh     (long)gsh
  241. #define lmpth   (long)mpth
  242. #define lth     (long)gth
  243. #define lmpath  (long)mpath
  244. #define lath    (long)gath
  245. #define lmpash  (long)mpash
  246. #define lash    (long)gash
  247. #define lmpach  (long)mpach
  248. #define lach    (long)gach
  249. #define lmpgamma (long)mpgamma
  250. #define lgamma  (long)ggamma
  251. #define lmplngamma (long)mplngamma
  252. #define llngamma  (long)glngamma
  253. #define lgamd   (long)ggamd
  254. #define lmppsi  (long)mppsi
  255. #define lpsi    (long)gpsi
  256. #define lmpgamd (long)mpgamd
  257. #define larg    (long)garg
  258. #define lsqr    (long)gsqr
  259.   
  260. #define ltrans  (long)gtrans
  261. #define lscalmat (long)gscalmat
  262. #define lscalsmat (long)gscalsmat
  263. #define laddmat (long)gaddmat
  264. #define laddsmat (long)gaddsmat
  265. #define lgauss  (long)gauss
  266. #define linvmat (long)invmat
  267. #define linvmulmat (long)invmulmat
  268. #define ldet    (long)det
  269. #define ldet2   (long)det2
  270. #define lcaract (long)caract
  271. #define lcaradj (long)caradj
  272. #define ladj    (long)adj
  273. #define ltrace  (long)trace
  274. #define lassmat (long)assmat
  275. #define lscal   (long)gscal
  276.   
  277. #define linvmod (long)ginvmod
  278. #define lred    (long)gred
  279. #define ldeuc   (long)gdeuc
  280. #define lres    (long)gres
  281. #define ldivres (long)poldivres
  282. #define lpoleval (long)poleval
  283. #define lroots  (long)roots
  284. #define lgcd    (long)ggcd
  285. #define lpolgcd (long)polgcd
  286. #define lcontent (long)content
  287. #define lprimpart (long)primpart
  288. #define lpsres  (long)psres
  289. #define lsubres (long)subres
  290. #define ldiscsr (long)discsr
  291. #define lquadpoly (long)quadpoly
  292. #define lquadgen (long)quadgen
  293.   
  294. #define llegendre (long)legendre
  295. #define ltchebi (long)tchebi
  296. #define lhilb   (long)hilb
  297. #define lpasc   (long)pasc
  298. #define lprec   (long)gprec
  299. #define lbinome (long)binome
  300.   
  301. #define lracine (long)racine
  302. #define lmppgcd (long)mppgcd
  303. #define lmpfact (long)mpfact
  304. #define lsfcont (long)sfcont
  305. #define lbezout (long)bezout
  306. #define lmpinvmod (long)mpinvmod
  307. #define lpuissmodulo (long)puissmodulo
  308. #define lfibo   (long)fibo
  309. #define lchangevar (long)changevar
  310.   
  311. #define zero    (long)gzero
  312. #define un      (long)gun
  313. #define deux    (long)gdeux
  314. #define lhalf   (long)ghalf
  315.   
  316. #define lpolx   (long)polx
  317. #define lpolun   (long)polun
  318.  
  319. #define mpmodz(x,y,z)     (modiiz(x,y,z))
  320. #define mpresz(x,y,z)     (resiiz(x,y,z))
  321. #define mpmod(x,y)        (modii(x,y))
  322. #define mpres(x,y)        (resii(x,y))
  323.  
  324. #define laddsg(s,y)         (lopsg2(gadd,s,y))
  325. #define laddgs(y,s)         (lopsg2(gadd,s,y))
  326. #define lsubsg(s,y)         (lopsg2(gsub,s,y))
  327. #define lsubgs(y,s)         (lopgs2(gsub,y,s))
  328. #define lmulsg(s,y)         ((long)gmulsg(s,y))
  329. #define lmulgs(y,s)         ((long)gmulsg(s,y))
  330. #define ldivsg(s,y)         (lopsg2(gdiv,s,y))
  331. #define ldivgs(x,s)         ((long)gdivgs(x,s))
  332. #define lmodsg(s,y)         (lopsg2(gmod,s,y))
  333. #define lmodgs(y,s)         (lopgs2(gmod,y,s))
  334. #define ldiventsg(s,y)      (lopsg2(gdivent,s,y))
  335. #define ldiventgs(y,s)      (lopgs2(gdivent,y,s))
  336. #define lminsg(s,y)         (lopsg2(gmin,s,y))
  337. #define lmings(y,s)         (lopgs2(gmin,y,s))
  338. #define lmaxsg(s,y)         (lopsg2(gmax,s,y))
  339. #define lmaxgs(y,s)         (lopgs2(gmax,y,s))
  340.  
  341.  
  342. #define mppiz(x)              (gop0z(mppi,x))
  343. #define mpeulerz(x)           (gop0z(mpeuler,x))
  344. #define mpsqrtz(x,y)        (gop1z(mpsqrt,x,y))
  345. #define mpexpz(x,y)         (gop1z(mpexp,x,y))
  346. #define mpexp1z(x,y)        (gop1z(mpexp1,x,y))
  347. #define mplogz(x,y)         (gop1z(mplog,x,y))
  348. #define mpcosz(x,y)         (gop1z(mpcos,x,y))
  349. #define mpsinz(x,y)         (gop1z(mpsin,x,y))
  350. #define autz(x,y)           (gop1z(mpaut,x,y))
  351. #define mptanz(x,y)         (gop1z(mptan,x,y))
  352. #define mpatanz(x,y)        (gop1z(mpatan,x,y))
  353. #define mpasinz(x,y)        (gop1z(mpasin,x,y))
  354. #define mpacosz(x,y)        (gop1z(mpacos,x,y))
  355. #define mpchz(x,y)          (gop1z(mpch,x,y))
  356. #define mpshz(x,y)          (gop1z(mpsh,x,y))
  357. #define mpthz(x,y)          (gop1z(mpth,x,y))
  358. #define mpathz(x,y)         (gop1z(mpath,x,y))
  359. #define mpashz(x,y)         (gop1z(mpash,x,y))
  360. #define mpachz(x,y)         (gop1z(mpach,x,y))
  361. #define mpgammaz(x,y)       (gop1z(mpgamma,x,y))
  362. #define mpargz(x,y,z)      (gop2z(mparg,x,y,z))
  363. #define mpfactz(s,y)        (gops1z(mpfact,s,y))
  364.  
  365. #define gredz(x,y)          (gop1z(gred,x,y))
  366. #define gnegz(x,y)          (gop1z(gneg,x,y))
  367. #define gabsz(x,y)          (gop1z(gabs,x,y))
  368. #define gmaxz(x,y,z)       (gop2z(gmax,x,y,z))
  369. #define gminz(x,y,z)       (gop2z(gmin,x,y,z))
  370. #define gaddz(x,y,z)       (gop2z(gadd,x,y,z))
  371. #define gsubz(x,y,z)       (gop2z(gsub,x,y,z))
  372. #define gmulz(x,y,z)       (gop2z(gmul,x,y,z))
  373. #define gdivz(x,y,z)       (gop2z(gdiv,x,y,z))
  374. #define gdeucz(x,y,z)      (gop2z(gdeuc,x,y,z))
  375. #define gdiventz(x,y,z)    (gop2z(gdivent,x,y,z))
  376. #define gmodz(x,y,z)       (gop2z(gmod,x,y,z))
  377. #define gshiftz(x,s,z)      (gops2gsz(gshift,x,s,z))
  378. #define gmul2nz(x,s,z)      (gops2gsz(gmul2n,x,s,z))
  379. #define gaddsg(s,y)         (gopsg2(gadd,s,y))
  380. #define gaddgs(y,s)         (gopsg2(gadd,s,y))
  381. #define gsubsg(s,y)         (gopsg2(gsub,s,y))
  382. #define gsubgs(y,s)         (gopgs2(gsub,y,s))
  383. #define gcmpsg(s,y)         (-opgs2(gcmp,y,s))
  384. #define gcmpgs(y,s)         (opgs2(gcmp,y,s))
  385. #define gegalsg(s,y)        (opgs2(gegal,y,s))
  386. #define gegalgs(y,s)        (opgs2(gegal,y,s))
  387. #define gmulgs(y,s)         (gmulsg(s,y))
  388. #define gdivsg(s,y)         (gopsg2(gdiv,s,y))
  389. #define gdiventsg(s,y)      (gopsg2(gdivent,s,y))
  390. #define gdiventgs(y,s)      (gopgs2(gdivent,y,s))
  391. #define gmodsg(s,y)         (gopsg2(gmod,s,y))
  392. #define gmodgs(y,s)         (gopgs2(gmod,y,s))
  393. #define gminsg(s,y)         (gopsg2(gmin,s,y))
  394. #define gmings(y,s)         (gopgs2(gmin,y,s))
  395. #define gmaxsg(s,y)         (gopsg2(gmax,s,y))
  396. #define gmaxgs(y,s)         (gopgs2(gmax,y,s))
  397.  
  398.  
  399. #define gaddsgz(s,y,z)    (gopsg2z(gadd,s,y,z))
  400. #define gaddgsz(y,s,z)    (gopsg2z(gadd,s,y,z))
  401. #define gsubsgz(s,y,z)    (gopsg2z(gsub,s,y,z))
  402. #define gsubgsz(y,s,z)    (gopgs2z(gsub,y,s,z))
  403. #define gmulsgz(s,y,z)    (gops2sgz(gmulsg,s,y,z))
  404. #define gmulgsz(y,s,z)    (gops2sgz(gmulsg,s,y,z))
  405. #define gdivsgz(s,y,z)    (gopsg2z(gdiv,s,y,z))
  406. #define gdivgsz(y,s,z)    (gops2gsz(gdivgs,y,s,z))
  407. #define gdiventsgz(s,y,z) (gopsg2z(gdivent,s,y,z))
  408. #define gdiventgsz(y,s,z) (gopgs2z(gdivent,y,s,z))
  409. #define gmodsgz(s,y,z)    (gopsg2z(gmod,s,y,z))
  410. #define gmodgsz(y,s,z)    (gopgs2z(gmod,y,s,z))
  411. #define gminsgz(s,y,z)    (gopsg2z(gmin,s,y,z))
  412. #define gmingsz(y,s,z)    (gopgs2z(gmin,y,s,z))
  413. #define gmaxsgz(s,y,z)    (gopsg2z(gmax,s,y,z))
  414. #define gmaxgsz(y,s,z)    (gopgs2z(gmax,y,s,z))
  415.  
  416. #define coeff(a,i,j)      (*((long*)(*(a+(j)))+(i)))
  417. #define coef1(a,i,j)      (*((long*)(*(a+(j)+1))+(i)+1))
  418. #define bern(i)         (bernzone + (i)*(*(bernzone + 2)) + 3)
  419.  
  420. #define isonstack(x)   (RAVYZARC=(GEN)(x),((RAVYZARC>=(GEN)bot)&&(RAVYZARC<(GEN)top)))
  421.  
  422. #define copyifstack(x) (RAVYZARC=(GEN)(x),((RAVYZARC>=(GEN)bot)&&(RAVYZARC<(GEN)top))?lcopy(RAVYZARC):(long)RAVYZARC)
  423.  
  424. #define adecaler(x,tetpil,anavma) (RAVYZARC=(GEN)(x),((RAVYZARC>=(GEN)anavma)&&(RAVYZARC<(GEN)tetpil)))
  425.  
  426. #define isscalar(x)   ((typ(x)<10)||((typ(x)==10)&&(lgef(x)<=3)))
  427. #define isnonscalar(x)  ((typ(x)==10)&&(lgef(x)>3))
  428. #define leadingterm(x)  ((typ(x)<10)?x:((GEN)(x[lgef(x)-1])))
  429.  
  430. #define odd(x)                ((x) & 1)
  431. #define mpodd(x) (signe(x) && odd(mant(x,lgef(x) - 2)))
  432.  
  433. /* mp.c ou mp.s */
  434.  
  435. GEN     cgetr(),cgeti(),gerepile(),stoi();
  436. GEN     negi(),negr(),absi(),absr();
  437. GEN     mptrunc(),mpent(),shifts(),shifti(),shiftr();
  438. GEN     addsi(),addsr(),addii(),addir(),addrr(),mpadd();
  439. GEN     subsi(),subsr(),subii(),subir();
  440. GEN     subri(),subrr(),mpsub();
  441. GEN     mulss(),mulsi(),mulsr(),mulii(),mulir(),mulrr(),mpmul();
  442. GEN     divsi(),divis(),divsr(),divrs(),divir();
  443. GEN     divri(),divrr(),mpdiv(),convi(),confrac();
  444. GEN     modss(),resss(),modsi(),ressi(),modis(),resis(),modii();
  445. GEN     dvmdii(),dvmdsi(),dvmdis();
  446. long    itos(),vals(),vali(),divisii();
  447. int     expi(),divise(),mpcmp(),cmpss(),cmpsi(),cmpsr(),cmpii(),cmpir();
  448. int     cmprr(),mpdivis();
  449. void    mpaff(),affsi(),affsr(),affii(),affir(),affrr(),mulsii(),addsii();
  450. void    divsiz(),divisz(),divssz(),diviiz(),divrrz(),cgiv();
  451. void    dvmdssz(),dvmdsiz(),dvmdisz(),dvmdiiz(),mpdivz(),modiiz();
  452. void    addssz(),subssz(),mulssz(),modiiz(),resiiz();
  453.      
  454. /* alglin.c */
  455.      
  456. GEN     gtrans(),gscalmat(),gscalsmat(),gaddmat(),gaddsmat(),inverseimage();
  457. GEN     ker(),keri(),kerreel(),image(),image2(),suppl(),eigen(),hess();
  458. GEN     carhess();
  459. GEN     gauss(),invmat(),det(),detreel(),det2();
  460. GEN     caract(),caradj(),adj(),caradj0(),trace();
  461. GEN     assmat(),gnorm(),gnorml2(),gconj(),concat(),idmat();
  462. GEN     extract(),matextract(),gtomat(),invmulmat(),invmulmatreel(),invmatreel();
  463. GEN     sqred(),sqred1(),sqred2(),sqred3(),signat(),jacobi(),matrixqz(),matrixqz2(),matrixqz3();
  464. GEN     indexrank(),kerint(),kerint1(),kerint2(),intersect();
  465. long    rank();
  466.  
  467. /* anal.c */
  468.      
  469. GEN     lisexpr(),readexpr(),lisseq(),readseq();
  470. void    switchin(), switchout(), fliplog();
  471.      
  472. /* arith.c */
  473.      
  474. GEN     racine(),mppgcd(),mpfact(),mpfactr();
  475. GEN     sfcont(),sfcont2(),gcf(),gcf2(),pnqn(),gboundcf();
  476. GEN     bezout(),chinois(),mpinvmod(),puissmodulo(),fibo(),bigprem(),prime();
  477. GEN     primes(),phi(),decomp(),auxdecomp(),smallfact(),boundfact();
  478. GEN     sumdiv(),sumdivk(),numbdiv(),binaire(),order(),gener(),divisors();
  479. GEN     ellfacteur(),classno(),classno2(),classno3(),fundunit(),regula();
  480. GEN     compose(),sqcomp(),qfi(),qfr(),compreal(),redreal(),sqcompreal();
  481. GEN     rhoreal(),rhorealnod(),redrealnod(),compose2(),sqcomp2(),redcomp();
  482. GEN     primeform(),nucomp(),nudupl(),nupow();
  483. GEN     comprealraw(),sqcomprealraw(),powrealraw();
  484.  
  485. GEN     gkronecker(),gkrogs(),gcarreparfait(),gcarrecomplet();
  486. GEN     gisprime(),gispsp(),gissquarefree(),gisfundamental(),gbittest();
  487. GEN     gpseudopremier(),gmillerrabin(),gmu(),gomega(),gbigomega();
  488.  
  489. long    kronecker(),krosg(),krogs(),kross(),kro8();
  490. long    mu(),omega(),bigomega(),hil();
  491. int     carreparfait(),carrecomplet(),bittest();
  492. int     isprime(),ispsp(),issquarefree(),isfundamental(),mpsqrtmod();
  493. int     millerrabin(),pseudopremier(),inversemodulo();
  494. byteptr initprimes();
  495. void    lucas();
  496.  
  497. /* base.c */
  498.  
  499. GEN     base(),smallbase(),discf(),smalldiscf(),hnf(),hnfold(),smith(),smith2();
  500. GEN     factoredbase(),factoreddiscf(),allbase(),galois(),initalg();
  501. GEN     tchirnhausen(),galoisconj();
  502.  
  503. /* bibli1.c */
  504.      
  505. GEN     tayl(),legendre(),tchebi(),hilb(),pasc(),laplace();
  506. GEN     gprec(),convol(),ggrando(),gconvsp(),gconvpe(),gaminc();
  507. GEN     lll(),lll1(),lllrat(),lllgram(),lllgram1(),lllgramint(),lllint();
  508. GEN     lllgramkerim(),lllkerim(),lllgramall(),lllall0();
  509. GEN     lllgen(),lllkerimgen(),lllgramgen(),lllgramkerimgen(),lllgramallgen();
  510. GEN     binome(),gscal(),cyclo(),vecsort();
  511. GEN     lindep(),lindep2(),algdep(),algdep2(),changevar(),ordred();
  512. GEN     polrecip(),reorder(),sort(),lexsort(),indexsort(),polsym(),minim();
  513. GEN     polred(),factoredpolred(),smallpolred(),polred2(),factoredpolred2();
  514. GEN     smallpolred2(),allpolred(),polymodrecip(),genrand(),permute();
  515. long    setprecr(),setserieslength();
  516.      
  517. /* bibli2.c */
  518.  
  519. GEN     somme(),produit(),suminf(),prodinf(),prodinf1(),prodeuler();
  520. GEN     vecteur(),vvecteur(),matrice(),divsomme();
  521. GEN     qromb(),qromo(),qromi(),rombint();
  522. GEN     polint(),plot(),ploth(),ploth2(),plothraw(),zbrent(),sumalt(),sumpos();
  523. GEN     forpari(),forstep(),fordiv(),forprime();
  524. GEN     initrect(),killrect(),rectcursor(),rectmove(),rectrmove(),rectpoint();
  525. GEN     rectrpoint(),rectbox(),rectrbox(),rectline(),rectrline(),rectdraw();
  526. GEN     rectpoints(),rectlines(),rectstring();
  527. GEN     postdraw(),postploth(),postploth2(),postplothraw();
  528.  
  529. /* buch.c */
  530.  
  531. GEN     buchimag(),buchreal();
  532.  
  533. /* elliptic.c */
  534.  
  535. GEN     ghell(),ghell2(),ghell3();
  536. GEN     initell(),initell2(),smallinitell(),zell(),coordch(),pointch();
  537. GEN     addell(),subell(),powell(),matell(),ordell(),apell(),apell1(),apell2();
  538. GEN     anell(),akell();
  539. GEN     localreduction(), globalreduction(),lseriesell(),pointell();
  540. int     oncurve();
  541. void    eulsum();
  542.  
  543. /* es.c */
  544.  
  545. void    filtre(),  pariputc(), pariputs(), ecrire(), voir(), sor();
  546. void    brute(), matbrute(), texe(), etatpile();
  547.  
  548. /* gen1.c */
  549.  
  550. GEN     gadd(),gsub(),gmul(),gdiv();
  551.  
  552. /* gen2.c gen3.c */
  553.  
  554. GEN     gcopy(),forcecopy(),gclone(),cgetg(),cgetp(),gaddpex();
  555. GEN     greffe(),gopsg2(),gopgs2(),co8(),cvtop(),compo(),gsqr();
  556. GEN     gneg(),gabs(),gmax(),gmin(),ginv(),denom(),numer(),lift(),centerlift();
  557. GEN     gmulsg(),gdivgs(),gmodulo(),gmodulcp(),simplify();
  558. GEN     gmod(),gshift(),gmul2n(),gpuigs(),gpui();
  559. GEN     gsubst(),deriv(),integ(),recip(),ground(),gcvtoi(),grndtoi();
  560. GEN     gceil(),gfloor(),gfrac(),gtrunc(),gdivent(),gdiventres();
  561. GEN     gdivmod(),geval(),glt(),gle(),ggt(),gge(),geq(),gne();
  562. GEN     gand(),gor(),glength(),matsize(),truecoeff(),gtype();
  563. GEN     gtopoly(),gtopolyrev(),gtoser(),gtovec(),dbltor();
  564. GEN     karamul();
  565.  
  566. void    gop0z(),gop1z(),gop2z(),gops2gsz(),gops2sgz(),gops2ssz();
  567. void    gop3z(),gops1z(),gopsg2z(),gopgs2z(),gaffsg(),gaffect();
  568. void    normalize(),normalizepol();
  569.  
  570. int     gcmp0(),gcmp1(),gcmp_1(),gcmp(),lexcmp(),gegal(),polegal(),gsigne();
  571. int     gvar(),gvar2(),tdeg(),precision(),ismonome(),iscomplex(),isexactzero();
  572. long    opgs2(),taille(),gexpo(),gtolong(),ggval(),rounderror(),gsize(),pvaluation();
  573. double  rtodbl(),gtodouble();
  574.  
  575. /* init.c */
  576.  
  577. GEN     newbloc(),geni();
  578. long    marklist();
  579. void    init(),killbloc(),newvalue(),killvalue();
  580. void    err(),recover(),changevalue(),allocatemoremem();
  581.  
  582. /* polarit.c */
  583.      
  584. GEN     ginvmod(),gred(),gdeuc(),gres(),poldivres();
  585. GEN     poleval(),roots(),rootslong(),ggcd(),gbezout(),vecbezout(),glcm();
  586. GEN     polgcd(),srgcd(),polgcdnun(),content(),primpart(),psres(),factmod9();
  587. GEN     factmod(),rootmod(),rootmod2(),decpol(),factor(),factpol(),factpol2();
  588. GEN     subres(),discsr(),quadpoly(),quadgen(),bezoutpol(),polinvmod();
  589. GEN     resultant2(),polfnf(),nfiso(),nfincl();
  590. GEN     newtonpoly(),apprgen(),apprgen9(),rootpadic(),gcvtop(),factorpadic();
  591. long    sturm(),sturmpart(),rootsof1();
  592. int     poldivis(),gdivise();
  593. void    gredsp(),split(),split9();
  594.      
  595. /* trans.c */
  596.      
  597. GEN     greal(),gimag(),teich(),agm(),palog();
  598. GEN     mpsqrt(),gsqrt(),mpexp1(),mpexp(),gexp(),logagm(),glogagm();
  599. GEN     mplog(),glog(),mpsc1(),mpcos(),gcos(),mpsin(),gsin();
  600. GEN     mpaut(),mptan(),gtan(),mpatan(),gatan(),mpasin(),gasin();
  601. GEN     mpacos(),gacos(),mparg(),mpch(),gch(),mpsh(),gsh();
  602. GEN     mpth(),gth(),mpath(),gath(),mpash(),gash();
  603. GEN     garg(),sarg(),mppsi(),gpsi(),transc(),kbessel(),hyperu();
  604. GEN     cxpsi(),jbesselh(),gzeta();
  605. GEN     kbessel2(),eint1(),gerfc(),eta(),jell(),wf2(),wf();
  606. GEN     incgam(),incgam1(),incgam2(),incgam3(),incgam4(),bernreal(),bernvec();
  607. GEN     mpach(),gach(),mpgamma(),cxgamma(),ggamma(),mpgamd(),ggamd(),mppi();
  608. GEN     mpeuler(),polylog(),dilog(),polylogd(),polylogdold(),polylogp(),gpolylog();
  609. GEN     theta(),thetanullk(),mplngamma(),cxlngamma(),glngamma(),izeta();
  610.  
  611. void    constpi(),consteuler(),mpbern(),gsincos();
  612. void    gsqrtz(),gexpz(),glogz(),gcosz(),gsinz(),mpsincos(),gtanz();
  613. void    gatanz(),gasinz(),gacosz(),gchz(),gshz(),gthz(),gashz(),gachz();
  614. void    gathz(),ggammaz(),glngammaz(),mpgamdz(),ggamdz(),gpsiz(),gzetaz();
  615. void    gpolylogz();
  616.  
  617. /* version.c */
  618.  
  619. GEN     gerepilc();
  620. void    printversion();
  621.