=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/include/ca.h,v retrieving revision 1.91 retrieving revision 1.97 diff -u -p -r1.91 -r1.97 --- OpenXM_contrib2/asir2000/include/ca.h 2015/08/06 10:01:52 1.91 +++ OpenXM_contrib2/asir2000/include/ca.h 2016/08/24 05:33:58 1.97 @@ -45,12 +45,13 @@ * 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.90 2015/08/06 00:43:21 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/include/ca.h,v 1.96 2016/06/28 11:59:30 ohara Exp $ */ #include #include #include -#include +#include +#include /* from mpfr-impl.h */ #define MPFR_PREC(x) ((x)->_mpfr_prec) @@ -59,12 +60,16 @@ #define MPFR_LAST_LIMB(x) ((MPFR_PREC (x) - 1) / GMP_NUMB_BITS) #define MPFR_LIMB_SIZE(x) (MPFR_LAST_LIMB (x) + 1) +#define RAT_CEIL(nm,dn) (((nm)+(dn)-1)/((dn))) +#define MPFR_LIMB_SIZE_REAL(x) (RAT_CEIL(MPFR_PREC((x)),sizeof(mp_limb_t)*CHAR_BIT) * (sizeof(mp_limb_t)/sizeof(int)) ) +#define MPFR_LIMB_SIZE_BODY(x) (RAT_CEIL(MPFR_PREC((x)),sizeof(unsigned int)*CHAR_BIT)) + #if defined(hpux) #include # define setbuffer(FP,buf,siz) setvbuf(FP,buf,_IOFBF,siz) #endif -#if !defined(VISUAL) && !defined(__MINGW32__) && !defined(__MINGW64__) +#if !defined(VISUAL) && !defined(__MINGW32__) #include #include #endif @@ -77,7 +82,7 @@ #define alloca(x) __builtin_alloca(x) #endif -#if defined(VISUAL) || defined(__MINGW32__) || defined(__MINGW64__) +#if defined(VISUAL) || defined(__MINGW32__) #include #include #endif @@ -94,7 +99,7 @@ typedef void * pointer; #include #else #include -#if defined(VISUAL) || defined(__MINGW32__) || defined(__MINGW64__) +#if defined(VISUAL) || defined(__MINGW32__) #define index(s,c) strchr(s,c) #define bzero(s,len) memset(s,0,len) #define bcopy(x,y,len) memcpy(y,x,len) @@ -663,6 +668,9 @@ struct order_spec { int nv; int ispot; /* 1 means Position over Term (Pos then Term) */ int pot_nelim; /* size of positions for pot-elimination order */ + int *top_weight; + int module_rank; + int *module_top_weight; union { int simple; struct { @@ -772,14 +780,23 @@ typedef unsigned int ModNum; #define GCFREE(p) Risa_GC_free(p) #define CALLOC(d,e) MALLOC((d)*(e)) -#if !defined(__CYGWIN__) && (defined(__GNUC__) || defined(vax) || defined(apollo) || defined(alloca) || defined(VISUAL) || defined(__MINGW32__) || defined(__MINGW64__)) +#if !defined(__CYGWIN__) && (defined(__GNUC__) || defined(vax) || defined(apollo) || defined(alloca) || defined(VISUAL) || defined(__MINGW32__)) #define ALLOCA(d) alloca(d) #else #define ALLOCA(d) MALLOC(d) #endif +/* for handling signals */ +#if defined(HAVE_SIGACTION) /* POSIX */ +void (*set_signal(int sig, void (*handler)(int)))(int); +#define set_signal_for_restart(x,y) (0) +#else +#define set_signal(x,y) (signal(x,y)) +#define set_signal_for_restart(x,y) (signal(x,y)) +#endif + /* for setjmp/longjmp compatibility */ -#if defined(__CYGWIN__) || defined(__x86_64) +#if defined(__CYGWIN__) || defined(HAVE_SIGACTION) || (defined(__x86_64) && !defined(__MINGW32__)) #define JMP_BUF sigjmp_buf #define SETJMP(x) sigsetjmp(x,~0) #define LONGJMP(x,y) siglongjmp(x,y) @@ -1257,7 +1274,7 @@ void rtime_init(void); void setmod_gf2n(P); void mt_sgenrand(unsigned long); unsigned long mt_genrand(void); -#if defined(VISUAL) || defined(__MINGW32__) || defined(__MINGW64__) +#if defined(VISUAL) || defined(__MINGW32__) void srandom(unsigned int); unsigned int random(void); #endif @@ -2668,7 +2685,7 @@ void mkwcz(int k,int l,Z *t); int remzi(Z n,int m); -#if 0 && !defined(VISUAL) && !defined(__MINGW32__) && !defined(__MINGW64__) +#if 0 && !defined(VISUAL) && !defined(__MINGW32__) void bzero(const void *,int); void bcopy(const void *,void *,int); char *index(char *,int);