| 432 | |
| 433 | template<typename T> |
| 434 | void test_unary_negation_impl() { |
| 435 | T a(3.5f); |
| 436 | T neg_a = -a; |
| 437 | FL_CHECK_EQ(neg_a.raw(), -a.raw()); |
| 438 | |
| 439 | // Double negation |
| 440 | FL_CHECK_EQ((-neg_a).raw(), a.raw()); |
| 441 | |
| 442 | // Negate zero |
| 443 | T zero; |
| 444 | FL_CHECK_EQ((-zero).raw(), raw_t<T>(0)); |
| 445 | } |
| 446 | |
| 447 | template<typename T> |
| 448 | void test_multiply_impl() { |