diff options
author | Arne Juul <arnej@verizonmedia.com> | 2021-03-09 08:40:58 +0000 |
---|---|---|
committer | Arne Juul <arnej@verizonmedia.com> | 2021-03-09 08:40:58 +0000 |
commit | 2a4b09916eeccbccd855c94885b3ff438ba37261 (patch) | |
tree | 02ca4d3040ab80bcfb933c3eda421811c99a5639 /vespalib | |
parent | 103c77a2cdd86edcf69ba68d41806d3e99c204b9 (diff) |
check that BFloat16 can hold all int8_t values without precision loss
Diffstat (limited to 'vespalib')
-rw-r--r-- | vespalib/src/tests/util/bfloat16/bfloat16_test.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/vespalib/src/tests/util/bfloat16/bfloat16_test.cpp b/vespalib/src/tests/util/bfloat16/bfloat16_test.cpp index 4e4129feb78..5d70c95b1d9 100644 --- a/vespalib/src/tests/util/bfloat16/bfloat16_test.cpp +++ b/vespalib/src/tests/util/bfloat16/bfloat16_test.cpp @@ -34,6 +34,18 @@ TEST(BFloat16Test, normal_usage) { EXPECT_EQ(float(b2), 0x110); } +TEST(BFloat16Test, has_range_of_int_8) { + for (int i = -128; i < 128; ++i) { + int8_t byte = i; + float flt = byte; + EXPECT_EQ(byte, i); + EXPECT_EQ(flt, i); + BFloat16 value = flt; + float recover = value; + EXPECT_EQ(recover, flt); + } +} + TEST(BFloat16Test, with_nbostream) { nbostream buf; for (BFloat16 value : simple_values) { |