Remove std::isnan and std::isinf usage from utFastAtofTest
These functions were added in C++11, and should not be used nakedly in the current code base. Replace them with suitable C++03 constructs.pull/376/head
parent
e0ea8169e3
commit
43c82b0b38
|
@ -248,6 +248,9 @@ inline const char* fast_atoreal_move( const char* c, Real& out, bool check_comma
|
||||||
if ((c[0] == 'I' || c[0] == 'i') && ASSIMP_strincmp(c, "inf", 3) == 0)
|
if ((c[0] == 'I' || c[0] == 'i') && ASSIMP_strincmp(c, "inf", 3) == 0)
|
||||||
{
|
{
|
||||||
out = std::numeric_limits<Real>::infinity();
|
out = std::numeric_limits<Real>::infinity();
|
||||||
|
if (inv) {
|
||||||
|
out = -out;
|
||||||
|
}
|
||||||
c += 3;
|
c += 3;
|
||||||
if ((c[0] == 'I' || c[0] == 'i') && ASSIMP_strincmp(c, "inity", 5) == 0)
|
if ((c[0] == 'I' || c[0] == 'i') && ASSIMP_strincmp(c, "inity", 5) == 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,6 +2,19 @@
|
||||||
|
|
||||||
#include <fast_atof.h>
|
#include <fast_atof.h>
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
template <typename Real>
|
||||||
|
bool IsNan(Real x) {
|
||||||
|
return x != x;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename Real>
|
||||||
|
bool IsInf(Real x) {
|
||||||
|
return std::abs(x) == std::numeric_limits<Real>::infinity();
|
||||||
|
}
|
||||||
|
|
||||||
|
} // Namespace
|
||||||
|
|
||||||
class FastAtofTest : public ::testing::Test
|
class FastAtofTest : public ::testing::Test
|
||||||
{
|
{
|
||||||
|
@ -12,8 +25,8 @@ protected:
|
||||||
const Real kEps = 1e-5;
|
const Real kEps = 1e-5;
|
||||||
|
|
||||||
#define TEST_CASE(NUM) EXPECT_NEAR(static_cast<Real>(NUM), atof_func(#NUM), kEps)
|
#define TEST_CASE(NUM) EXPECT_NEAR(static_cast<Real>(NUM), atof_func(#NUM), kEps)
|
||||||
#define TEST_CASE_NAN(NUM) EXPECT_TRUE(std::isnan(atof_func(#NUM)))
|
#define TEST_CASE_NAN(NUM) EXPECT_TRUE(IsNan(atof_func(#NUM)))
|
||||||
#define TEST_CASE_INF(NUM) EXPECT_TRUE(std::isinf(atof_func(#NUM)))
|
#define TEST_CASE_INF(NUM) EXPECT_TRUE(IsInf(atof_func(#NUM)))
|
||||||
|
|
||||||
TEST_CASE(0);
|
TEST_CASE(0);
|
||||||
TEST_CASE(1.354);
|
TEST_CASE(1.354);
|
||||||
|
|
Loading…
Reference in New Issue