Index: tests/Float16Test.cpp |
diff --git a/tests/Float16Test.cpp b/tests/Float16Test.cpp |
index 0a2c3d5d6b62b09fc523aeb633655b4f124bb8ac..f437268c79faedacab7f02df01ebd2d33c917cff 100644 |
--- a/tests/Float16Test.cpp |
+++ b/tests/Float16Test.cpp |
@@ -8,6 +8,7 @@ |
#include "Test.h" |
#include "SkColor.h" |
#include "SkHalf.h" |
+#include "SkOpts.h" |
#include "SkPixmap.h" |
static bool eq_within_half_float(float a, float b) { |
@@ -50,3 +51,16 @@ DEF_TEST(color_half_float, reporter) { |
} |
} |
} |
+ |
+DEF_TEST(float_to_half, reporter) { |
+ const float fs[] = { 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0 }; |
+ const uint16_t hs[] = { 0x3c00, 0x4000, 0x4200, 0x4400, 0x4500, 0x4600, 0x4700 }; |
+ |
+ uint16_t hscratch[7]; |
+ SkOpts::float_to_half(hscratch, fs, 7); |
+ REPORTER_ASSERT(reporter, 0 == memcmp(hscratch, hs, sizeof(hs))); |
+ |
+ float fscratch[7]; |
+ SkOpts::half_to_float(fscratch, hs, 7); |
+ REPORTER_ASSERT(reporter, 0 == memcmp(fscratch, fs, sizeof(fs))); |
+} |