From: Rouben Rostamian <rostamian@um...>  20021031 02:53:40

Brian, re your message: > In src/mmath.h, try replacing > > #define IS_INF_OR_NAN(x) (!finite(x)) > > with: > > #define IS_INF_OR_NAN(x) (!isfinite(x)) > > > The later function is stancard in C99. Could you or anyone else using > HPUX look at the system headers (and math.h in particular) to see if > _ISOC99_SOURCE is used? Looking at RH Linux headers, I think that might > be the symbol to test to do this: > > #ifdef _ISOC99_SOURCE > #define IS_INF_OR_NAN(x) (!isfinite(x)) > #else > #define IS_INF_OR_NAN(x) (!finite(x)) > #endif I don't know about HPUX, but Section 6.10.8 of the C99 standard has an explicit list of predefined macros: 6.10.8 Predefined macro names The following names shall be defined by the implementation: __LINE__ [description snipped] __FILE__ [description snipped] ... __STDC_VERSION__ The decimal constant 199901L (footnote) (footnote) This macro was not specified in ISO/IEC 98991990 and was specified as 199409L in ISO/IEC 9899/AMD1:1995. Therefore it appears that a portable test would be something like the following: #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L #define IS_INF_OR_NAN(x) (!isfinite(x)) #else #define IS_INF_OR_NAN(x) (!finite(x)) #endif  Rouben Rostamian <rostamian@...> 