JD2022-TU1/main/unittests/core/math/Mathf32.cpp

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