Annotation of OpenXM_contrib2/asir2000/lib/defs.h, Revision 1.1
1.1 ! noro 1: /* $OpenXM: OpenXM/src/asir99/lib/defs.h,v 1.1.1.1 1999/11/10 08:12:30 noro Exp $ */
! 2: /* some useful macros */
! 3:
! 4: #define ZERO 0
! 5: #define NUM 1
! 6: #define POLY 2
! 7: #define RAT 3
! 8: #define LIST 4
! 9: #define VECT 5
! 10: #define MAT 6
! 11: #define STR 7
! 12:
! 13: #define N_Q 0
! 14: #define N_R 1
! 15: #define N_A 2
! 16: #define N_B 3
! 17: #define N_C 4
! 18:
! 19: #define V_IND 0
! 20: #define V_UC 1
! 21: #define V_PF 2
! 22: #define V_SR 3
! 23:
! 24: #define isnum(a) (type(a)==NUM)
! 25: #define ispoly(a) (type(a)==POLY)
! 26: #define israt(a) (type(a)==RAT)
! 27: #define islist(a) (type(a)==LIST)
! 28: #define isvect(a) (type(a)==VECT)
! 29: #define ismat(a) (type(a)==MAT)
! 30: #define isstr(a) (type(a)==STR)
! 31:
! 32: #define FIRST(L) (car(L))
! 33: #define SECOND(L) (car(cdr(L)))
! 34: #define THIRD(L) (car(cdr(cdr(L))))
! 35: #define FOURTH(L) (car(cdr(cdr(cdr(L)))))
! 36:
! 37: #define DEG(a) deg(a,var(a))
! 38: #define LCOEF(a) coef(a,deg(a,var(a)))
! 39: #define LTERM(a) coef(a,deg(a,var(a)))*var(a)^deg(a,var(a))
! 40: #define TT(a) car(car(a))
! 41: #define TS(a) car(cdr(car(a)))
! 42:
! 43: #define MAX(a,b) ((a)>(b)?(a):(b))
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>