aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/bfloat16_float.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/bfloat16_float.cpp')
-rw-r--r--test/bfloat16_float.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/bfloat16_float.cpp b/test/bfloat16_float.cpp
index 94226e999..79c868e84 100644
--- a/test/bfloat16_float.cpp
+++ b/test/bfloat16_float.cpp
@@ -230,6 +230,17 @@ void test_conversion()
VERIFY((numext::isnan)(bfloat16(__bfloat16_raw(0xffc0))));
VERIFY((numext::isinf)(bfloat16(__bfloat16_raw(0x7f80))));
VERIFY((numext::isnan)(bfloat16(__bfloat16_raw(0x7fc0))));
+
+ VERIFY_IS_EQUAL(bfloat16(BinaryToFloat(0x0, 0xff, 0x40, 0x0)).value, 0x7fc0);
+ VERIFY_IS_EQUAL(bfloat16(BinaryToFloat(0x1, 0xff, 0x40, 0x0)).value, 0xffc0);
+ VERIFY_IS_EQUAL(Eigen::bfloat16_impl::truncate_to_bfloat16(
+ BinaryToFloat(0x0, 0xff, 0x40, 0x0))
+ .value,
+ 0x7fc0);
+ VERIFY_IS_EQUAL(Eigen::bfloat16_impl::truncate_to_bfloat16(
+ BinaryToFloat(0x1, 0xff, 0x40, 0x0))
+ .value,
+ 0xffc0);
}
void test_numtraits()