00001 #ifndef _UTIL_H_
00002
00003 #define _UTIL_H_
00004
00005 #include <stdio.h>
00006 #include <sys/time.h>
00007
00008
00009
00010
00011
00012
00013 #define TRUE 1
00014
00015 #define FALSE 0
00016
00017
00018 #define E 2.718281828459045
00019
00020 #define PI 3.141592653589793
00021
00022
00023 #define REALLOC_SIZE 10
00024
00025
00026 #define OK 0
00027 #define E_NONE 0
00028 #define E_NOMEM (-1)
00029 #define E_FOPEN (-2)
00030 #define E_FREAD (-3)
00031 #define E_FWRITE (-4)
00032 #define E_OPTION (-5)
00033 #define E_OPTARG (-6)
00034 #define E_FRINEXIST (-7)
00035 #define E_UNKNOWN (-8)
00036 #define E_NOTFOUND (-9)
00037 #define E_PARSEFAIL (-10)
00038
00039
00040 #define ELAPSE(e,n,s) { e.tv_sec+=n.tv_sec-s.tv_sec; e.tv_usec+=n.tv_usec-s.tv_usec; if(e.tv_usec<0){ e.tv_sec--; e.tv_usec+=1000000; } if(e.tv_usec>1000000){ e.tv_sec+=e.tv_usec/1000000; e.tv_usec=e.tv_usec%1000000; }}
00041
00042
00043 #define max(a, b) ((a) > (b) ? (a) : (b))
00044
00045 #define min(a, b) ((a) < (b) ? (a) : (b))
00046
00047
00048
00049 #define time2double(x) ( (double)(x).tv_sec+0.000001*(double)(x).tv_usec )
00050
00051
00052
00053
00054
00055
00056 void error (int, ...);
00057
00058 char *read_line(FILE*);
00059
00060 char *elapsed_time(struct timeval, struct timeval);
00061
00062 #endif