| 37 | |
| 38 | template <typename T> |
| 39 | static void assert_eq_and_nan( |
| 40 | T* a, const std::vector<T>& b, const size_t simd_len = SIMD_LEN) { |
| 41 | for (size_t i = 0; i < simd_len; i++) { |
| 42 | if (isnan(a[i]) && isnan(b[i])) { |
| 43 | continue; |
| 44 | } |
| 45 | ASSERT_EQ(a[i], b[i]); |
| 46 | } |
| 47 | } |
| 48 | |
| 49 | static void assert_lt( |
| 50 | float* a, const std::vector<float>& b, const float eps, |