| 458 | } |
| 459 | |
| 460 | static void test_vector4() |
| 461 | { |
| 462 | { |
| 463 | const Vector4 a = { 1.2f, 4.2f, -2.3f, 5.5f }; |
| 464 | const Vector4 b = { 2.7f, -1.9f, -4.1f, 1.0f }; |
| 465 | const Vector4 c = a - b; |
| 466 | ENSURE(fequal(c.x, -1.5f, 0.0001f)); |
| 467 | ENSURE(fequal(c.y, 6.1f, 0.0001f)); |
| 468 | ENSURE(fequal(c.z, 1.8f, 0.0001f)); |
| 469 | ENSURE(fequal(c.w, 4.5f, 0.0001f)); |
| 470 | } |
| 471 | { |
| 472 | const Vector4 a = { 1.2f, 4.2f, -2.3f, 5.5f }; |
| 473 | const Vector4 b = { 2.7f, -1.9f, -4.1f, 1.0f }; |
| 474 | const Vector4 c = a + b; |
| 475 | ENSURE(fequal(c.x, 3.9f, 0.0001f)); |
| 476 | ENSURE(fequal(c.y, 2.3f, 0.0001f)); |
| 477 | ENSURE(fequal(c.z, -6.4f, 0.0001f)); |
| 478 | ENSURE(fequal(c.w, 6.5f, 0.0001f)); |
| 479 | } |
| 480 | { |
| 481 | const Vector4 a = { 1.2f, 4.2f, -2.3f, 1.5f }; |
| 482 | const Vector4 b = a * 2.0f; |
| 483 | ENSURE(fequal(b.x, 2.4f, 0.0001f)); |
| 484 | ENSURE(fequal(b.y, 8.4f, 0.0001f)); |
| 485 | ENSURE(fequal(b.z, -4.6f, 0.0001f)); |
| 486 | ENSURE(fequal(b.w, 3.0f, 0.0001f)); |
| 487 | } |
| 488 | { |
| 489 | const Vector4 a = { 1.2f, 4.2f, -2.3f, 5.5f }; |
| 490 | const Vector4 b = { 2.7f, -1.9f, -4.1f, 1.0f }; |
| 491 | const f32 c = dot(a, b); |
| 492 | ENSURE(fequal(c, 10.19f, 0.0001f)); |
| 493 | } |
| 494 | { |
| 495 | const Vector4 a = { 1.2f, 4.2f, -2.3f, 5.5f }; |
| 496 | const f32 c = length_squared(a); |
| 497 | ENSURE(fequal(c, 54.62f, 0.0001f)); |
| 498 | } |
| 499 | { |
| 500 | const Vector4 a = { 1.2f, 4.2f, -2.3f, 5.5f }; |
| 501 | const f32 c = length(a); |
| 502 | ENSURE(fequal(c, 7.39053f, 0.0001f)); |
| 503 | } |
| 504 | { |
| 505 | Vector4 a = { 1.2f, 4.2f, -2.3f, 5.5f }; |
| 506 | normalize(a); |
| 507 | ENSURE(fequal(length(a), 1.0f, 0.00001f)); |
| 508 | } |
| 509 | { |
| 510 | const Vector4 a = { 1.2f, 4.2f, -2.3f, 5.5f }; |
| 511 | const Vector4 b = { 2.7f, -1.9f, -4.1f, 1.0f }; |
| 512 | const float c = distance_squared(a, b); |
| 513 | ENSURE(fequal(c, 62.95f, 0.00001f)); |
| 514 | } |
| 515 | { |
| 516 | const Vector4 a = { 1.2f, 4.2f, -2.3f, 5.5f }; |
| 517 | const Vector4 b = { 2.7f, -1.9f, -4.1f, 1.0f }; |