version 1.2, 2000/08/21 08:31:41 |
version 1.9, 2008/09/03 10:10:08 |
|
|
* shall be made on your publication or presentation in any form of the |
* shall be made on your publication or presentation in any form of the |
* results obtained by use of the SOFTWARE. |
* results obtained by use of the SOFTWARE. |
* (4) In the event that you modify the SOFTWARE, you shall notify FLL by |
* (4) In the event that you modify the SOFTWARE, you shall notify FLL by |
* e-mail at risa-admin@flab.fujitsu.co.jp of the detailed specification |
* e-mail at risa-admin@sec.flab.fujitsu.co.jp of the detailed specification |
* for such modification or the source code of the modified part of the |
* for such modification or the source code of the modified part of the |
* SOFTWARE. |
* SOFTWARE. |
* |
* |
|
|
* 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.1.1.1 1999/12/03 07:39:11 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/lib/defs.h,v 1.8 2004/06/30 08:36:06 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))==N_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)) |