| 13 | namespace test { |
| 14 | template <typename T> |
| 15 | void ALP_ASSERT(T original_val, T decoded_val) { |
| 16 | if (original_val == 0.0 && std::signbit(original_val)) { |
| 17 | ASSERT_EQ(decoded_val, 0.0); |
| 18 | ASSERT_TRUE(std::signbit(decoded_val)); |
| 19 | } else if (std::isnan(original_val)) { |
| 20 | ASSERT_TRUE(std::isnan(decoded_val)); |
| 21 | } else { |
| 22 | ASSERT_EQ(original_val, decoded_val); |
| 23 | } |
| 24 | } |
| 25 | |
| 26 | } // namespace test |
| 27 | class alp_test : public ::testing::Test { |