00001 #ifndef DEF_H
00002 #define DEF_H
00003
00007 #if HAVE_CONFIG_H
00008 # include "config.h"
00009 #endif
00010
00011 #ifdef __cplusplus
00012 extern "C" {
00013 #endif
00014
00015
00016 extern int izero;
00017 extern int ione;
00018 extern double dzero;
00019 extern double done;
00020 extern double dminusone;
00021
00022
00023 #define TRUE (1)
00024 #define FALSE (0)
00025
00026
00027
00028 #define max(x,y) ((x)>(y)?(x):(y))
00029 #define min(x,y) ((x)<(y)?(x):(y))
00030
00031
00032
00033 #if !HAVE_LOG1P
00034 # define log1p(x) log(1 + x)
00035 #endif
00036
00037 #if !HAVE_GETTIMEOFDAY
00038 # define PROFILE_START
00039 # define PROFILE_END(x)
00040
00041 #else
00042 # define PROFILE_START \
00043 struct timeval start_time, end_time; \
00044 gettimeofday(&start_time, NULL);
00045 # define PROFILE_END(x) \
00046 gettimeofday(&end_time, NULL); \
00047 x += (end_time.tv_sec-start_time.tv_sec) * 1000000 +\
00048 (end_time.tv_usec-start_time.tv_usec);
00049 #endif
00050
00051
00052
00053 #ifdef __cplusplus
00054 }
00055 #endif
00056
00057 #endif