=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/include/ca.h,v retrieving revision 1.66 retrieving revision 1.76 diff -u -p -r1.66 -r1.76 --- OpenXM_contrib2/asir2000/include/ca.h 2006/11/29 05:08:14 1.66 +++ OpenXM_contrib2/asir2000/include/ca.h 2009/03/16 16:43:03 1.76 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/include/ca.h,v 1.65 2006/04/16 00:51:14 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/include/ca.h,v 1.75 2009/02/05 08:37:02 ohara Exp $ */ #include #include @@ -93,6 +93,8 @@ typedef void * pointer; #endif #endif +#define TODO printf("%s: not implemented!\n", __func__) + #define COPY(a,b) ((b)=(a)) #define FREEN(p) #define FREEQ(p) @@ -151,7 +153,7 @@ typedef enum { A_end=0,A_fnode,A_arf,A_int,A_str,A_internal,A_node,A_notimpl,A_func } farg_type; -#if defined(LONG_IS_32BIT) +#if SIZEOF_LONG == 4 #if defined(VISUAL) typedef _int64 L; typedef unsigned _int64 UL; @@ -623,6 +625,7 @@ struct order_spec { int id; Obj obj; int nv; + int ispot; /* 1 means Position over Term (Pos then Term) */ union { int simple; struct { @@ -938,7 +941,7 @@ PL(NM(q))=1,BD(NM(q))[0]=(unsigned int)(n),DN(q)=0,(q) #define MKReal(a,b) (!(a)?((b)=0):(NEWReal(b),BDY(b)=(a),(b))) #define MKAlg(b,r) \ (!(b)?((r)=0):NUM(b)?((r)=(Alg)(b)):(NEWAlg(r),BDY(r)=(Obj)(b),(r))) -#define MKDAlg(dp,den,r) (!(dp)?((r)=0):(NEWDAlg(r),(r)->nm = (dp),(r)->dn=(den))) +#define MKDAlg(dp,den,r) (!(dp)?(void *)((r)=0):(void *)(NEWDAlg(r),(r)->nm = (dp),(r)->dn=(den))) #define IMM_MAX 1073741823 #define IMM_MIN -1073741823 @@ -1424,6 +1427,8 @@ LUM LUMALLOC(int, int); BM BMALLOC(int, int); Obj ToAlg(Num); UM *berlemain(register int, UM, UM *); +void Risa_GC_set_adj(int,int); +void Risa_GC_get_adj(int *,int *); void *Risa_GC_malloc(size_t); void *Risa_GC_malloc_atomic(size_t); void *Risa_GC_realloc(void *,size_t); @@ -2640,3 +2645,8 @@ void addnbp(VL vl,NBP p1,NBP p2, NBP *rp); void mulnbp(VL vl,NBP p1,NBP p2, NBP *rp); void pwrnbp(VL vl,NBP p1,Q n, NBP *rp); int compnbp(VL vl,NBP p1,NBP p2); + +#if defined(PARI23) +#define prec precreal +#define mppgcd(a,b) (gcdii((a),(b))) +#endif