| 40 | } |
| 41 | |
| 42 | TEST_CASE(check_numeric_limits) |
| 43 | { |
| 44 | CHECK(bit_equal(std::numeric_limits<migraphx::bf16>::min(), uint16_t{0x0080})); |
| 45 | CHECK(bit_equal(std::numeric_limits<migraphx::bf16>::lowest(), uint16_t{0xff7f})); |
| 46 | CHECK(bit_equal(std::numeric_limits<migraphx::bf16>::max(), uint16_t{0x7f7f})); |
| 47 | CHECK(bit_equal(std::numeric_limits<migraphx::bf16>::epsilon(), uint16_t{0x3c00})); |
| 48 | CHECK(bit_equal(std::numeric_limits<migraphx::bf16>::denorm_min(), uint16_t{0x0001})); |
| 49 | CHECK(bit_equal(std::numeric_limits<migraphx::bf16>::infinity(), uint16_t{0x7f80})); |
| 50 | CHECK(bit_equal(std::numeric_limits<migraphx::bf16>::quiet_NaN(), uint16_t{0x7fc0})); |
| 51 | CHECK(bit_equal(std::numeric_limits<migraphx::bf16>::signaling_NaN(), uint16_t{0x7fa0})); |
| 52 | } |
| 53 | |
| 54 | const static std::map<uint16_t, float>& bf16_lut() // NOLINT(readability-function-size) |
| 55 | { |