=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2018/include/ca.h,v retrieving revision 1.13 retrieving revision 1.18 diff -u -p -r1.13 -r1.18 --- OpenXM_contrib2/asir2018/include/ca.h 2019/11/12 22:27:04 1.13 +++ OpenXM_contrib2/asir2018/include/ca.h 2020/02/22 06:23:36 1.18 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2018/include/ca.h,v 1.12 2019/11/12 07:47:45 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2018/include/ca.h,v 1.17 2019/12/27 08:13:59 noro Exp $ */ #include #include @@ -95,8 +95,13 @@ typedef caddr_t pointer; typedef void * pointer; -#if defined(sun) +#if defined(ANDROID) #include +#include +#define index(s,c) strchr(s,c) +#define rindex(s,c) strrchr(s,c) +#elif defined(sun) +#include #else #include #if defined(VISUAL) || defined(__MINGW32__) @@ -445,6 +450,7 @@ typedef struct oQUOTE { short id; short pad; pointer body; + struct oVS *pvs; } *QUOTE; typedef struct oQUOTEARG { @@ -543,6 +549,11 @@ typedef struct oDMMstack { struct oDMMstack *next; } *DMMstack; +typedef struct oDMMstack_array { + int len; + DMMstack *body; +} *DMMstack_array; + typedef struct oDL { int td; int d[1]; @@ -690,6 +701,7 @@ struct order_spec { int *top_weight; int module_rank; int *module_top_weight; + int *module_base_ord; struct order_spec *base; /* for schreyer order */ DMMstack dmmstack; union { @@ -819,7 +831,11 @@ void (*set_signal(int sig, void (*handler)(int)))(int) #endif /* for setjmp/longjmp compatibility */ -#if defined(__CYGWIN__) || defined(HAVE_SIGACTION) || (defined(__x86_64) && !defined(__MINGW32__)) +#if defined(ANDROID) +#define JMP_BUF jmp_buf +#define SETJMP(x) _setjmp(x) +#define LONGJMP(x,y) _longjmp(x,y) +#elif 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) @@ -912,6 +928,7 @@ bzero((char *)(q)->b,(w)*sizeof(unsigned int))) #define NEWMP(m) ((m)=(MP)MALLOC(sizeof(struct oMP))) #define NEWDMM(m) ((m)=(DMM)MALLOC(sizeof(struct oDMM))) #define NEWDMMstack(m) ((m)=(DMMstack)MALLOC(sizeof(struct oDMMstack))) +#define NEWDMMstack_array(m) ((m)=(DMMstack_array)MALLOC(sizeof(struct oDMMstack_array))) #define NEWDLBUCKET(a) ((a)=(DLBUCKET)MALLOC(sizeof(struct oDLBUCKET))) #define NEWDPP(a) ((a)=(DP_pairs)MALLOC(sizeof(struct dp_pairs))) @@ -972,7 +989,7 @@ DEG(DC(p))=ONE,COEF(DC(p))=(P)ONEM,NEXT(DC(p))=0) #define MKMATHCAP(e,b) (NEWMATHCAP(e),(e)->body=(LIST)(b)) #define MKBYTEARRAY(m,l) \ (NEWBYTEARRAY(m),(m)->len=(l),(m)->body=(unsigned char *)MALLOC_ATOMIC((l)),bzero((m)->body,(l))) -#define MKQUOTE(q,b) (NEWQUOTE(q),(q)->body=(pointer)(b)) +#define MKQUOTE(q,b) (NEWQUOTE(q),(q)->body=(pointer)(b),(q)->pvs=CPVS) #define MKQUOTEARG(q,t,b) (NEWQUOTEARG(q),(q)->type=(t),(q)->body=(pointer)(b)) #define NEXTDC(r,c) \