version 1.3, 2000/08/22 05:04:21 |
version 1.8, 2004/06/30 08:36:06 |
|
|
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* |
* |
* $OpenXM: OpenXM_contrib2/asir2000/lib/defs.h,v 1.2 2000/08/21 08:31:41 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/lib/defs.h,v 1.7 2004/06/27 13:49:40 ohara Exp $ |
*/ |
*/ |
/* some useful macros */ |
/* some useful macros */ |
|
|
|
#define VOID -1 |
#define ZERO 0 |
#define ZERO 0 |
#define NUM 1 |
#define NUM 1 |
#define POLY 2 |
#define POLY 2 |
|
|
#define VECT 5 |
#define VECT 5 |
#define MAT 6 |
#define MAT 6 |
#define STR 7 |
#define STR 7 |
|
#define STRUCT 8 |
|
#define DPOLY 9 |
|
|
#define N_Q 0 |
#define N_Q 0 |
#define N_R 1 |
#define N_R 1 |
|
|
#define V_PF 2 |
#define V_PF 2 |
#define V_SR 3 |
#define V_SR 3 |
|
|
|
#define isvoid(a) (type(a)==VOID) |
#define isnum(a) (type(a)==NUM) |
#define isnum(a) (type(a)==NUM) |
#define ispoly(a) (type(a)==POLY) |
#define ispoly(a) (type(a)==POLY) |
#define israt(a) (type(a)==RAT) |
#define israt(a) (type(a)==RAT) |
|
|
#define isvect(a) (type(a)==VECT) |
#define isvect(a) (type(a)==VECT) |
#define ismat(a) (type(a)==MAT) |
#define ismat(a) (type(a)==MAT) |
#define isstr(a) (type(a)==STR) |
#define isstr(a) (type(a)==STR) |
|
#define isstruct(A) (type(A)==STRUCT) |
|
#define isdpoly(a) (type(a)==DPOLY) |
|
|
|
#define isnum_int(a) ((a)==0 || (type((a))==NUM && ntype((a))==O_Q && dn((a))==1)) |
|
|
#define FIRST(L) (car(L)) |
#define FIRST(L) (car(L)) |
#define SECOND(L) (car(cdr(L))) |
#define SECOND(L) (car(cdr(L))) |
#define THIRD(L) (car(cdr(cdr(L)))) |
#define THIRD(L) (car(cdr(cdr(L)))) |
|
|
#define TS(a) car(cdr(car(a))) |
#define TS(a) car(cdr(car(a))) |
|
|
#define MAX(a,b) ((a)>(b)?(a):(b)) |
#define MAX(a,b) ((a)>(b)?(a):(b)) |
|
#define MIN(a,b) ((a)>(b)?(b):(a)) |