| 405 | |
| 406 | template<typename T> |
| 407 | void test_addition_impl() { |
| 408 | T a(1.0f), b(2.0f); |
| 409 | T c = a + b; |
| 410 | FL_CHECK_EQ(c.raw(), (a.raw() + b.raw())); |
| 411 | FL_CHECK_EQ(c.to_int(), 3); |
| 412 | |
| 413 | // Zero identity |
| 414 | T zero; |
| 415 | FL_CHECK_EQ((a + zero).raw(), a.raw()); |
| 416 | |
| 417 | // Commutativity |
| 418 | FL_CHECK_EQ((a + b).raw(), (b + a).raw()); |
| 419 | } |
| 420 | |
| 421 | template<typename T> |
| 422 | void test_subtraction_impl() { |