diff options
Diffstat (limited to '3rdparty/bx/tests/float4_t.cpp')
-rw-r--r-- | 3rdparty/bx/tests/float4_t.cpp | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/3rdparty/bx/tests/float4_t.cpp b/3rdparty/bx/tests/float4_t.cpp index 9f39fcc9e48..3bdfb1976b1 100644 --- a/3rdparty/bx/tests/float4_t.cpp +++ b/3rdparty/bx/tests/float4_t.cpp @@ -5,6 +5,7 @@ #include "test.h" #include <bx/float4_t.h> +#include <bx/fpumath.h> #include <string.h> using namespace bx; @@ -70,10 +71,10 @@ void float4_check_float(const char* _str, bx::float4_t _a, float _0, float _1, f , _0, _1, _2, _3 ); - CHECK_EQUAL(c.f[0], _0); - CHECK_EQUAL(c.f[1], _1); - CHECK_EQUAL(c.f[2], _2); - CHECK_EQUAL(c.f[3], _3); + CHECK(bx::fequal(c.f[0], _0, 0.0001f) ); + CHECK(bx::fequal(c.f[1], _1, 0.0001f) ); + CHECK(bx::fequal(c.f[2], _2, 0.0001f) ); + CHECK(bx::fequal(c.f[3], _3, 0.0001f) ); } void float4_check_string(const char* _str, bx::float4_t _a) @@ -235,6 +236,24 @@ TEST(float4_arithmetic) ); } +TEST(float4_sqrt) +{ + float4_check_float("float4_sqrt" + , float4_sqrt(float4_ld(1.0f, 16.0f, 65536.0f, 123456.0f) ) + , 1.0f, 4.0f, 256.0f, 351.363060096f + ); + + float4_check_float("float4_sqrt_nr_ni" + , float4_sqrt_nr_ni(float4_ld(1.0f, 16.0f, 65536.0f, 123456.0f) ) + , 1.0f, 4.0f, 256.0f, 351.363060096f + ); + + float4_check_float("float4_sqrt_nr1_ni" + , float4_sqrt_nr1_ni(float4_ld(1.0f, 16.0f, 65536.0f, 123456.0f) ) + , 1.0f, 4.0f, 256.0f, 351.363060096f + ); +} + TEST(float4) { const float4_t isplat = float4_isplat(0x80000001); |