Go to the documentation of this file.
14 #define BUFFERLENGTH 200000
24 #define INTEGER_MAX 2147483648
25 #define REAL_MAX 1.7976931348623157E+308
26 #define REAL_MIN 2.2250738585072014E-308
27 #define LOG_REAL_MIN -708.396
29 #define INTEGER_MAX2EXP 31
30 #define REAL_MAX2EXP 1024
31 #define REAL_MIN2EXP -1022
33 #define LOG2 0.6931471805599453094172321214581765680755
34 #define PI 3.141592653589793238462643383279502884197
36 #define Make(x,ref) ((x)->t=ELEMENT,(x)->r=ref)
37 #define MakeList(x) ((x)->t=ELEMENT,(x)->r=List_R)
38 #define MakeInteger(x,val) ((x)->t=INTEGER,(x)->u.v.i=val)
40 #define Is(x,ref) ((x)->t==ELEMENT&&(x)->r==ref)
41 #define IsList(x) ((x)->t==ELEMENT&&(x)->r==List_R)
42 #define IsInteger(x) ((x)->t==INTEGER)
43 #define IsReal(x) ((x)->t==REAL)
44 #define IsNumber(x) ((x)->t==INTEGER||(x)->t==REAL)
46 #define Is0(x) ((x)->t==INTEGER&&(x)->u.v.i==0||(x)->t==REAL&&(x)->u.v.r==0.)
47 #define Is1(x) ((x)->t==INTEGER&&(x)->u.v.i==1||(x)->t==REAL&&(x)->u.v.r==1.)
48 #define IsMinus1(x) ((x)->t==INTEGER&&(x)->u.v.i==-1||(x)->t==REAL&&(x)->u.v.r==-1.)
49 #define IsPositiveNumber(x) ((x)->t==INTEGER&&(x)->u.v.i>0||(x)->t==REAL&&(x)->u.v.r>0.)
50 #define IsNegativeNumber(x) ((x)->t==INTEGER&&(x)->u.v.i<0||(x)->t==REAL&&(x)->u.v.r<0.)
51 #define IsPositiveInteger(x) ((x)->t==INTEGER&&(x)->u.v.i>0)
52 #define IsNegativeInteger(x) ((x)->t==INTEGER&&(x)->u.v.i<0)
54 #define Has1Arg(x) ((x)->l&&!(x)->l->n)
55 #define Has2Args(x) ((x)->l&&(x)->l->n&&!(x)->l->n->n)
58 #error defs.h included twice