aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/Float16Test.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/Float16Test.cpp b/tests/Float16Test.cpp
index 0a2c3d5d6b..f437268c79 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)));
+}