[BACK]Return to paricom.h CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / pari-2.2 / src / headers

Diff for /OpenXM_contrib/pari-2.2/src/headers/Attic/paricom.h between version 1.1 and 1.2

version 1.1, 2001/10/02 11:17:07 version 1.2, 2002/09/11 07:26:58
Line 18  Foundation, Inc., 59 Temple Place - Suite 330, Boston,
Line 18  Foundation, Inc., 59 Temple Place - Suite 330, Boston,
 /*              PARI header file (common to all versions)         */  /*              PARI header file (common to all versions)         */
 /*                                                                */  /*                                                                */
 /******************************************************************/  /******************************************************************/
   #ifdef STMT_START /* perl headers */
   #  undef STMT_START
   #endif
   #ifdef STMT_END
   #  undef STMT_END
   #endif
   /* STMT_START { statements; } STMT_END;
    * can be used as a single statement, as in
    * if (x) STMT_START { ... } STMT_END; else ...
    * [ avoid "dangling else" problem in macros ] */
   #define STMT_START      do
   #define STMT_END        while (0)
   /*=====================================================================*/
   /* CATCH(numer) {
    *   recovery
    * } TRY {
    *   code
    * } ENDCATCH
    * will execute 'code', then 'recovery' if exception 'numer' is thrown
    * [ any exception if numer < 0 ].
    * RETRY = as TRY, but execute 'recovery', then 'code' again [still catching] */
   #define CATCH(err) {         \
     VOLATILE long __err = err; \
     jmp_buf __env;             \
     void *__catcherr;          \
     if (setjmp(__env))
   
   #define RETRY { __catcherr = err_catch(__err, __env, NULL); {
   #define TRY else { __catcherr = err_catch(__err, __env, NULL); {
   
   #define ENDCATCH }} err_leave(&__catcherr); }
   /*=====================================================================*/
   
 #define bit_accuracy(x) (((x)-2) << TWOPOTBITS_IN_LONG)  #define bit_accuracy(x) (((x)-2) << TWOPOTBITS_IN_LONG)
   
 #define GSTR(x) ((char*) (((GEN) (x)) + 1 ))  #define GSTR(x) ((char*) (((GEN) (x)) + 1 ))
Line 39  Foundation, Inc., 59 Temple Place - Suite 330, Boston,
Line 71  Foundation, Inc., 59 Temple Place - Suite 330, Boston,
 #define absi  mpabs  #define absi  mpabs
 #define negi  mpneg  #define negi  mpneg
 #define negr  mpneg  #define negr  mpneg
 #define mpnegz(x,y)      {long av=avma;mpaff(mpneg(x),y);avma=av;}  #define mpnegz(x,y) \
 #define mpabsz(x,y)      {long av=avma;mpaff(mpabs(x),y);avma=av;}    STMT_START {gpmem_t av=avma;mpaff(mpneg(x),y);avma=av;} STMT_END
 #define absrz(x,z)       mpabsz((x),(z))  #define mpabsz(x,y) \
 #define negrz(x,z)       mpnegz((x),(z))    STMT_START {gpmem_t av=avma;mpaff(mpabs(x),y);avma=av;} STMT_END
   #define absrz(x,z)  mpabsz((x),(z))
   #define negrz(x,z)  mpnegz((x),(z))
   
 /* Common global variables: */  /* Common global variables: */
   
 extern PariOUT *pariOut, *pariErr;  extern PariOUT *pariOut, *pariErr;
 extern FILE    *pari_outfile, *logfile, *infile, *errfile;  extern FILE    *pari_outfile, *logfile, *infile, *errfile;
   
 extern long  DEBUGFILES, DEBUGLEVEL, DEBUGMEM, precdl;  extern ulong DEBUGFILES, DEBUGLEVEL, DEBUGMEM, precdl;
 extern long  *ordvar;  extern long  *ordvar;
 extern GEN   bernzone,gpi,geuler;  extern GEN   bernzone,gpi,geuler;
 extern GEN   polvar,*polun,*polx,primetab;  extern GEN   polvar,*polun,*polx,primetab;
Line 58  extern GEN   gun,gdeux,ghalf,gi,gzero;
Line 92  extern GEN   gun,gdeux,ghalf,gi,gzero;
 extern const long lontyp[];  extern const long lontyp[];
 extern void* global_err_data;  extern void* global_err_data;
   
   extern int new_galois_format;
   
 #define MAXITERPOL  10 /* max #of prec increase in polredabs-type operations */  #define MAXITERPOL  10 /* max #of prec increase in polredabs-type operations */
   
                                                 /* let SL = sizeof(long) */                                                  /* let SL = sizeof(long) */
Line 242  extern void* global_err_data;
Line 278  extern void* global_err_data;
   
 #define leading_term(x) ((GEN)(((GEN)(x))[lgef(x)-1]))  #define leading_term(x) ((GEN)(((GEN)(x))[lgef(x)-1]))
 #define constant_term(x) (signe(x)? ((GEN)(((GEN)(x))[2])): gzero)  #define constant_term(x) (signe(x)? ((GEN)(((GEN)(x))[2])): gzero)
 #define degpol(a) (lgef(a)-3)  #define degpol(a) ((long)lgef(a)-3)
 #define evaldeg(d) (evallgef(d+3))  #define evaldeg(d) (evallgef(d+3))
   
 #define odd(x) ((x) & 1)  #define odd(x) ((x) & 1)
Line 250  extern void* global_err_data;
Line 286  extern void* global_err_data;
   
 #define ONLY_REM ((GEN*)0x1L)  #define ONLY_REM ((GEN*)0x1L)
 #define ONLY_DIVIDES ((GEN*)0x2L)  #define ONLY_DIVIDES ((GEN*)0x2L)
 #define ONLY_DIVIDES_EXACT ((GEN*)0x3L)  
 #define gdeuc(x,y) (poldivres((x),(y),NULL))  #define gdeuc(x,y) (poldivres((x),(y),NULL))
 #define gres(x,y) (poldivres((x),(y),ONLY_REM))  #define gres(x,y) (poldivres((x),(y),ONLY_REM))
 #define FpX_div(x,y,p) (FpX_divres((x),(y),(p), NULL))  #define FpX_div(x,y,p) (FpX_divres((x),(y),(p), NULL))
Line 278  extern void* global_err_data;
Line 313  extern void* global_err_data;
 #define element_mulmodideal(nf,x,y,ideal) (\  #define element_mulmodideal(nf,x,y,ideal) (\
   nfreducemodideal((nf),element_mul((nf),(x),(y)),(ideal))\    nfreducemodideal((nf),element_mul((nf),(x),(y)),(ideal))\
 )  )
 #define element_mulmodpr(nf,x,y,prhall) (\  
   nfreducemodpr((nf),element_mul((nf),(x),(y)),(prhall))\  
 )  
 #define element_sqrmodideal(nf,x,ideal) (\  #define element_sqrmodideal(nf,x,ideal) (\
   nfreducemodideal((nf),element_sqr((nf),(x)),(ideal))\    nfreducemodideal((nf),element_sqr((nf),(x)),(ideal))\
 )  )
 #define element_sqrmodpr(nf,x,prhall) (\  
   nfreducemodpr((nf),element_sqr((nf),(x)),(prhall))\  
 )  
 #define buchgen(P,gcbach,gcbach2,prec) (\  
   buchall((P),(gcbach),(gcbach2),stoi(5),gzero,4,3,0,(prec))\  
 )  
 #define buchgenfu(P,gcbach,gcbach2,prec) (\  
   buchall((P),(gcbach),(gcbach2),stoi(5),gzero,4,3,2,(prec))\  
 )  
 #define buchinit(P,gcbach,gcbach2,prec) (\  
   buchall((P),(gcbach),(gcbach2),stoi(5),gzero,4,3,-1,(prec))\  
 )  
 #define buchinitfu(P,gcbach,gcbach2,prec) (\  
   buchall((P),(gcbach),(gcbach2),stoi(5),gzero,4,3,-2,(prec))\  
 )  
   
 /* output of get_nf and get_bnf */  /* output of get_nf and get_bnf */
 #define typ_NULL 0  #define typ_NULL 0
Line 316  extern void* global_err_data;
Line 333  extern void* global_err_data;
 #define cmp_LEX 2  #define cmp_LEX 2
 #define cmp_REV 4  #define cmp_REV 4
 #define cmp_C   8  #define cmp_C   8
   
   #define DIFFPTR_SKIP    255             /* Skip these entries */
   #define NEXT_PRIME_VIADIFF(p,d) \
     { while (*(d) == DIFFPTR_SKIP) (p) += *(d)++; (p) += *(d)++; }
   #define NEXT_PRIME_VIADIFF_CHECK(p,d) \
     { if (!*(d)) err(primer1); NEXT_PRIME_VIADIFF(p,d) }

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>