=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/include/ca.h,v retrieving revision 1.31 retrieving revision 1.33 diff -u -p -r1.31 -r1.33 --- OpenXM_contrib2/asir2000/include/ca.h 2001/12/21 08:23:12 1.31 +++ OpenXM_contrib2/asir2000/include/ca.h 2002/01/28 00:54:43 1.33 @@ -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.30 2001/11/19 00:57:12 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/include/ca.h,v 1.32 2001/12/25 02:39:03 noro Exp $ */ #include @@ -566,12 +566,23 @@ typedef unsigned int ModNum; #endif #define CALLOC(d,e) MALLOC((d)*(e)) -#if !defined(__CYGWIN__) && ((defined(__GNUC__) || defined(vax) || defined(apollo) || defined(alloca) || defined(VISUAL))) +#if !defined(__CYGWIN__) && (defined(__GNUC__) || defined(vax) || defined(apollo) || defined(alloca) || defined(VISUAL)) #define ALLOCA(d) alloca(d) #else #define ALLOCA(d) MALLOC(d) #endif +/* for setjmp/longjmp compatibility */ +#if defined(__CYGWIN__) +#define JMP_BUF sigjmp_buf +#define SETJMP(x) sigsetjmp(x,~0) +#define LONGJMP(x,y) siglongjmp(x,y) +#else +#define JMP_BUF jmp_buf +#define SETJMP(x) setjmp(x) +#define LONGJMP(x,y) longjmp(x,y) +#endif + #define TRUESIZE(type,n,atype) (sizeof(struct type)+MAX((n),0)*sizeof(atype)) #define NALLOC(d) ((N)MALLOC_ATOMIC(TRUESIZE(oN,(d)-1,int))) #define UMALLOC(d) ((UM)MALLOC(TRUESIZE(oUM,d,int))) @@ -813,6 +824,8 @@ if(!(r)){(c)=(r)=(s);}else{NEXT(c)=(s);(c)=(s);} #define _FREEMP(m) NEXT(m)=_mp_free_list; _mp_free_list=(m) #define _FREEDP(m) BDY(m)=(MP)_dp_free_list; _dp_free_list=(m) +#define MUL_WEIGHT(a,i) (current_dl_weight_vector?(a)*current_dl_weight_vector[i]:(a)) + /* externals */ #if 0 double NatToReal(); @@ -868,6 +881,8 @@ extern int current_gfs_q1; extern int *current_gfs_plus1; extern int *current_gfs_ntoi; extern int *current_gfs_iton; + +extern int *current_dl_weight_vector; /* prototypes */ int compui(VL,USINT,USINT);