53 lines
1.4 KiB
C++
53 lines
1.4 KiB
C++
// ----------------------------------------------------------------------------
|
|
// Unit test for the file core/math/Mathf32.h
|
|
// ----------------------------------------------------------------------------
|
|
#include "precompiled_unittests_core.h"
|
|
|
|
#include "core/math/Mathf32.h"
|
|
|
|
namespace ITF
|
|
{
|
|
|
|
TEST(Mathf32, test_isnan)
|
|
{
|
|
EXPECT_EQ(0, ITF_isnan(0.0f));
|
|
EXPECT_EQ(0, ITF_isnan(-0.0f));
|
|
EXPECT_EQ(0, ITF_isnan(0.159530f));
|
|
EXPECT_EQ(0, ITF_isnan(-0.236863f));
|
|
EXPECT_EQ(0, ITF_isnan(0.598519f));
|
|
EXPECT_NE(0, ITF_isnan(std::numeric_limits<float>::quiet_NaN()));
|
|
EXPECT_EQ(0, ITF_isnan(std::numeric_limits<float>::infinity()));
|
|
}
|
|
|
|
|
|
TEST(Mathf32, test_finite)
|
|
{
|
|
EXPECT_NE(0, ITF_finite(0.0f));
|
|
EXPECT_NE(0, ITF_finite(-0.0f));
|
|
EXPECT_NE(0, ITF_finite(0.159530f));
|
|
EXPECT_NE(0, ITF_finite(-0.236863f));
|
|
EXPECT_NE(0, ITF_finite(0.598519f));
|
|
EXPECT_EQ(0, ITF_finite(std::numeric_limits<float>::quiet_NaN()));
|
|
EXPECT_EQ(0, ITF_finite(std::numeric_limits<float>::infinity()));
|
|
}
|
|
|
|
|
|
TEST(Mathf32, test_f32_Abs)
|
|
{
|
|
EXPECT_EQ(1.360679f, f32_Abs(1.360679f));
|
|
EXPECT_EQ(15.402651f, f32_Abs(-15.402651f));
|
|
EXPECT_EQ(0.0f, f32_Abs(0.0f));
|
|
EXPECT_EQ(0.0f, f32_Abs(-0.0f));
|
|
}
|
|
|
|
|
|
TEST(Mathf32, test_f32_NAbs)
|
|
{
|
|
EXPECT_EQ(-1.360679f, f32_NAbs(1.360679f));
|
|
EXPECT_EQ(-15.402651f, f32_NAbs(-15.402651f));
|
|
EXPECT_EQ(-0.0f, f32_NAbs(0.0f));
|
|
EXPECT_EQ(-0.0f, f32_NAbs(-0.0f));
|
|
}
|
|
|
|
|
|
} // namespace ITF
|