oops, #if defined(WIN32) && !defined(__MINGW32__) && (!defined(_MSC_VER) || _MSC_VER<=1600) inline int isfinite( double x ) { return _finite( x ); } inline int isinf( double x ) { return !_finite( x ) && !_isnan( x ); } #endif should be 1700 instead of 1600 (in last post '=' was lost) regards, DizL