1 int done_nan = 0;
2 int done_inf = 0;
4 double dnan;
5 double dinf;
7 #if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__)
8 #include <math.h>
9 #include "rrd.h"
11 #define NAN_FUNC (double)fmod(0.0,0.0)
12 #define INF_FUNC (double)fabs((double)log(0.0))
14 #else
16 #define NAN_FUNC (double)(0.0/0.0)
17 #define INF_FUNC (double)(1.0/0.0)
19 #endif
21 double set_to_DNAN(
22 void)
23 {
24 if (!done_nan) {
25 dnan = NAN_FUNC;
26 done_nan = 1;
27 }
28 return dnan;
29 }
31 double set_to_DINF(
32 void)
33 {
34 if (!done_inf) {
35 dinf = INF_FUNC;
36 done_inf = 1;
37 }
38 return dinf;
39 }