Swiched from isnan() check to isfinite() check for DOUBLES_EQUAL - also handles infinite case

release/4.3a0
Alex Cunningham 2013-08-02 19:04:52 +00:00
parent bf7dc7d480
commit c9c2025d52
1 changed files with 2 additions and 2 deletions

View File

@ -130,7 +130,7 @@ boost::lexical_cast<std::string>(actualTemp))); return; } }
#define DOUBLES_EQUAL(expected,actual,threshold)\
{ double actualTemp = actual; \
double expectedTemp = expected; \
if (isnan(actualTemp) || isnan(expectedTemp) || fabs ((expectedTemp)-(actualTemp)) > threshold) \
if (!std::isfinite(actualTemp) || !std::isfinite(expectedTemp) || fabs ((expectedTemp)-(actualTemp)) > threshold) \
{ result_.addFailure (Failure (name_, __FILE__, __LINE__, \
boost::lexical_cast<std::string>((double)expectedTemp), boost::lexical_cast<std::string>((double)actualTemp))); return; } }
@ -150,7 +150,7 @@ boost::lexical_cast<std::string>(actualTemp))); } }
#define EXPECT_DOUBLES_EQUAL(expected,actual,threshold)\
{ double actualTemp = actual; \
double expectedTemp = expected; \
if (isnan(actualTemp) || isnan(expectedTemp) || fabs ((expectedTemp)-(actualTemp)) > threshold) \
if (!std::isfinite(actualTemp) || !std::isfinite(expectedTemp) || fabs ((expectedTemp)-(actualTemp)) > threshold) \
{ result_.addFailure (Failure (name_, __FILE__, __LINE__, \
boost::lexical_cast<std::string>((double)expectedTemp), boost::lexical_cast<std::string>((double)actualTemp))); } }