change so that sqrt(-3) is not called everytime this macro is used
[dyninst.git] / common / h / makenan.h
1 #ifndef makenan_H
2 #define makenan_H
3
4 #include <math.h>
5 #include <assert.h>
6
7 // There is no standard macro to create a NaN valued float
8 static float f_paradyn_nan = 0;
9 static bool nan_created = false;
10 inline float make_Nan() {
11     if(!nan_created){
12         f_paradyn_nan = sqrt(-3); 
13         nan_created = true;
14     }
15     assert(isnan(f_paradyn_nan));
16     return f_paradyn_nan;
17 }
18 #define PARADYN_NaN make_Nan()
19
20 #endif