source: tags/arb-6.0/ISLAND_HOPPING/defs.h

Last change on this file was 6516, checked in by westram, 14 years ago
  • fixed compile error (assert)
  • fixed includes
  • added include wrappers
  • renamed functions "overloaded" by defines
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.4 KB
Line 
1// ============================================================= //
2//                                                               //
3//   File      : defs.h                                          //
4//   Purpose   :                                                 //
5//                                                               //
6//   Institute of Microbiology (Technical University Munich)     //
7//   http://www.arb-home.de/                                     //
8//                                                               //
9// ============================================================= //
10
11#ifndef DEFS_H
12#define DEFS_H
13
14#define BUFFERLENGTH 200000
15
16#ifndef TRUE
17#define TRUE 1
18#endif
19
20#ifndef FALSE
21#define FALSE 0
22#endif
23
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
28
29#define INTEGER_MAX2EXP    31
30#define REAL_MAX2EXP       1024
31#define REAL_MIN2EXP       -1022
32
33#define LOG2               0.6931471805599453094172321214581765680755
34#define PI                 3.141592653589793238462643383279502884197
35
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)
39
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)
45
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)
53
54#define Has1Arg(x)               ((x)->l&&!(x)->l->n)
55#define Has2Args(x)              ((x)->l&&(x)->l->n&&!(x)->l->n->n)
56
57#else
58#error defs.h included twice
59#endif // DEFS_H
Note: See TracBrowser for help on using the repository browser.