Replaced std::isnan by <math.h>isnan for improved compatibility
This commit is contained in:
parent
7229337121
commit
ea72cf5cb9
@ -1,4 +1,5 @@
|
|||||||
#include <gtest/gtest.h>
|
#include <gtest/gtest.h>
|
||||||
|
#include <math.h>
|
||||||
#include <limits>
|
#include <limits>
|
||||||
#include "Vector3.h"
|
#include "Vector3.h"
|
||||||
|
|
||||||
@ -85,12 +86,12 @@ TEST(Vector3, Normalize) {
|
|||||||
if (std::numeric_limits<float>::is_iec559) {
|
if (std::numeric_limits<float>::is_iec559) {
|
||||||
v1 = Vector3(FLOAT_INFINITY, FLOAT_INFINITY, FLOAT_INFINITY);
|
v1 = Vector3(FLOAT_INFINITY, FLOAT_INFINITY, FLOAT_INFINITY);
|
||||||
v = v1.normalized();
|
v = v1.normalized();
|
||||||
r = std::isnan(v.x) && std::isnan(v.y) && std::isnan(v.z);
|
r = isnan(v.x) && isnan(v.y) && isnan(v.z);
|
||||||
EXPECT_TRUE(r) << "v.normalized INFINITY INFINITY INFINITY";
|
EXPECT_TRUE(r) << "v.normalized INFINITY INFINITY INFINITY";
|
||||||
|
|
||||||
v1 = Vector3(-FLOAT_INFINITY, -FLOAT_INFINITY, -FLOAT_INFINITY);
|
v1 = Vector3(-FLOAT_INFINITY, -FLOAT_INFINITY, -FLOAT_INFINITY);
|
||||||
v = v1.normalized();
|
v = v1.normalized();
|
||||||
r = std::isnan(v.x) && std::isnan(v.y) && std::isnan(v.z);
|
r = isnan(v.x) && isnan(v.y) && isnan(v.z);
|
||||||
EXPECT_TRUE(r) << "v.normalized -INFINITY -INFINITY -INFINITY";
|
EXPECT_TRUE(r) << "v.normalized -INFINITY -INFINITY -INFINITY";
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -374,12 +375,12 @@ TEST(Vector3, Cross) {
|
|||||||
if (std::numeric_limits<float>::is_iec559) {
|
if (std::numeric_limits<float>::is_iec559) {
|
||||||
v2 = Vector3(FLOAT_INFINITY, FLOAT_INFINITY, FLOAT_INFINITY);
|
v2 = Vector3(FLOAT_INFINITY, FLOAT_INFINITY, FLOAT_INFINITY);
|
||||||
v = Vector3::Cross(v1, v2);
|
v = Vector3::Cross(v1, v2);
|
||||||
r = std::isnan(v.x) && std::isnan(v.y) && std::isnan(v.z);
|
r = isnan(v.x) && isnan(v.y) && isnan(v.z);
|
||||||
EXPECT_TRUE(r) << "Cross(4 5 6, INFINITY INFINITY INFINITY)";
|
EXPECT_TRUE(r) << "Cross(4 5 6, INFINITY INFINITY INFINITY)";
|
||||||
|
|
||||||
v2 = Vector3(-FLOAT_INFINITY, -FLOAT_INFINITY, -FLOAT_INFINITY);
|
v2 = Vector3(-FLOAT_INFINITY, -FLOAT_INFINITY, -FLOAT_INFINITY);
|
||||||
v = Vector3::Cross(v1, v2);
|
v = Vector3::Cross(v1, v2);
|
||||||
r = std::isnan(v.x) && std::isnan(v.y) && std::isnan(v.z);
|
r = isnan(v.x) && isnan(v.y) && isnan(v.z);
|
||||||
EXPECT_TRUE(r) << "Cross(4 5 6, -INFINITY -INFINITY -INFINITY)";
|
EXPECT_TRUE(r) << "Cross(4 5 6, -INFINITY -INFINITY -INFINITY)";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -407,12 +408,12 @@ TEST(Vector3, Project) {
|
|||||||
if (std::numeric_limits<float>::is_iec559) {
|
if (std::numeric_limits<float>::is_iec559) {
|
||||||
v2 = Vector3(FLOAT_INFINITY, FLOAT_INFINITY, FLOAT_INFINITY);
|
v2 = Vector3(FLOAT_INFINITY, FLOAT_INFINITY, FLOAT_INFINITY);
|
||||||
v = Vector3::Project(v1, v2);
|
v = Vector3::Project(v1, v2);
|
||||||
r = std::isnan(v.x) && std::isnan(v.y) && std::isnan(v.z);
|
r = isnan(v.x) && isnan(v.y) && isnan(v.z);
|
||||||
EXPECT_TRUE(r) << "Project(4 5 6, INFINITY INFINITY INFINITY)";
|
EXPECT_TRUE(r) << "Project(4 5 6, INFINITY INFINITY INFINITY)";
|
||||||
|
|
||||||
v2 = Vector3(-FLOAT_INFINITY, -FLOAT_INFINITY, -FLOAT_INFINITY);
|
v2 = Vector3(-FLOAT_INFINITY, -FLOAT_INFINITY, -FLOAT_INFINITY);
|
||||||
v = Vector3::Project(v1, v2);
|
v = Vector3::Project(v1, v2);
|
||||||
r = std::isnan(v.x) && std::isnan(v.y) && std::isnan(v.z);
|
r = isnan(v.x) && isnan(v.y) && isnan(v.z);
|
||||||
EXPECT_TRUE(r) << "Project(4 5 6, -INFINITY -INFINITY -INFINITY)";
|
EXPECT_TRUE(r) << "Project(4 5 6, -INFINITY -INFINITY -INFINITY)";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -440,12 +441,12 @@ TEST(Vector3, ProjectOnPlane) {
|
|||||||
if (std::numeric_limits<float>::is_iec559) {
|
if (std::numeric_limits<float>::is_iec559) {
|
||||||
v2 = Vector3(FLOAT_INFINITY, FLOAT_INFINITY, FLOAT_INFINITY);
|
v2 = Vector3(FLOAT_INFINITY, FLOAT_INFINITY, FLOAT_INFINITY);
|
||||||
v = Vector3::ProjectOnPlane(v1, v2);
|
v = Vector3::ProjectOnPlane(v1, v2);
|
||||||
r = std::isnan(v.x) && std::isnan(v.y) && std::isnan(v.z);
|
r = isnan(v.x) && isnan(v.y) && isnan(v.z);
|
||||||
EXPECT_TRUE(r) << "ProjectOnPlane(4 5 6, INFINITY INFINITY INFINITY)";
|
EXPECT_TRUE(r) << "ProjectOnPlane(4 5 6, INFINITY INFINITY INFINITY)";
|
||||||
|
|
||||||
v2 = Vector3(-FLOAT_INFINITY, -FLOAT_INFINITY, -FLOAT_INFINITY);
|
v2 = Vector3(-FLOAT_INFINITY, -FLOAT_INFINITY, -FLOAT_INFINITY);
|
||||||
v = Vector3::ProjectOnPlane(v1, v2);
|
v = Vector3::ProjectOnPlane(v1, v2);
|
||||||
r = std::isnan(v.x) && std::isnan(v.y) && std::isnan(v.z);
|
r = isnan(v.x) && isnan(v.y) && isnan(v.z);
|
||||||
EXPECT_TRUE(r) << "ProjectOnPlane(4 5 6, -INFINITY -INFINITY -INFINITY)";
|
EXPECT_TRUE(r) << "ProjectOnPlane(4 5 6, -INFINITY -INFINITY -INFINITY)";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -470,12 +471,12 @@ TEST(Vector3, Angle) {
|
|||||||
if (std::numeric_limits<float>::is_iec559) {
|
if (std::numeric_limits<float>::is_iec559) {
|
||||||
v2 = Vector3(FLOAT_INFINITY, FLOAT_INFINITY, FLOAT_INFINITY);
|
v2 = Vector3(FLOAT_INFINITY, FLOAT_INFINITY, FLOAT_INFINITY);
|
||||||
f = Vector3::Angle(v1, v2);
|
f = Vector3::Angle(v1, v2);
|
||||||
r = std::isnan(f);
|
r = isnan(f);
|
||||||
EXPECT_TRUE(r) << "Angle(4 5 6, INFINITY INFINITY INFINITY)";
|
EXPECT_TRUE(r) << "Angle(4 5 6, INFINITY INFINITY INFINITY)";
|
||||||
|
|
||||||
v2 = Vector3(-FLOAT_INFINITY, -FLOAT_INFINITY, -FLOAT_INFINITY);
|
v2 = Vector3(-FLOAT_INFINITY, -FLOAT_INFINITY, -FLOAT_INFINITY);
|
||||||
f = Vector3::Angle(v1, v2);
|
f = Vector3::Angle(v1, v2);
|
||||||
r = std::isnan(f);
|
r = isnan(f);
|
||||||
EXPECT_TRUE(r) << "Angle(4 5 6, -INFINITY -INFINITY -INFINITY)";
|
EXPECT_TRUE(r) << "Angle(4 5 6, -INFINITY -INFINITY -INFINITY)";
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -512,12 +513,12 @@ TEST(Vector3, SignedAngle) {
|
|||||||
if (std::numeric_limits<float>::is_iec559) {
|
if (std::numeric_limits<float>::is_iec559) {
|
||||||
v2 = Vector3(FLOAT_INFINITY, FLOAT_INFINITY, FLOAT_INFINITY);
|
v2 = Vector3(FLOAT_INFINITY, FLOAT_INFINITY, FLOAT_INFINITY);
|
||||||
f = Vector3::SignedAngle(v1, v2, v3);
|
f = Vector3::SignedAngle(v1, v2, v3);
|
||||||
r = std::isnan(f);
|
r = isnan(f);
|
||||||
EXPECT_TRUE(r) << "SignedAngle(4 5 6, INFINITY INFINITY INFINITY)";
|
EXPECT_TRUE(r) << "SignedAngle(4 5 6, INFINITY INFINITY INFINITY)";
|
||||||
|
|
||||||
v2 = Vector3(-FLOAT_INFINITY, -FLOAT_INFINITY, -FLOAT_INFINITY);
|
v2 = Vector3(-FLOAT_INFINITY, -FLOAT_INFINITY, -FLOAT_INFINITY);
|
||||||
f = Vector3::SignedAngle(v1, v2, v3);
|
f = Vector3::SignedAngle(v1, v2, v3);
|
||||||
r = std::isnan(f);
|
r = isnan(f);
|
||||||
EXPECT_TRUE(r) << "SignedAngle(4 5 6, -INFINITY -INFINITY -INFINITY)";
|
EXPECT_TRUE(r) << "SignedAngle(4 5 6, -INFINITY -INFINITY -INFINITY)";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user