| 366 | } |
| 367 | |
| 368 | static void test_vector3() |
| 369 | { |
| 370 | { |
| 371 | const Vector3 a = { 1.2f, 4.2f, -2.3f }; |
| 372 | const Vector3 b = { 2.7f, -1.9f, -4.1f }; |
| 373 | const Vector3 c = a - b; |
| 374 | ENSURE(fequal(c.x, -1.5f, 0.0001f)); |
| 375 | ENSURE(fequal(c.y, 6.1f, 0.0001f)); |
| 376 | ENSURE(fequal(c.z, 1.8f, 0.0001f)); |
| 377 | } |
| 378 | { |
| 379 | const Vector3 a = { 1.2f, 4.2f, -2.3f }; |
| 380 | const Vector3 b = { 2.7f, -1.9f, -4.1f }; |
| 381 | const Vector3 c = a + b; |
| 382 | ENSURE(fequal(c.x, 3.9f, 0.0001f)); |
| 383 | ENSURE(fequal(c.y, 2.3f, 0.0001f)); |
| 384 | ENSURE(fequal(c.z, -6.4f, 0.0001f)); |
| 385 | } |
| 386 | { |
| 387 | const Vector3 a = { 1.2f, 4.2f, -2.3f }; |
| 388 | const Vector3 b = a * 2.0f; |
| 389 | ENSURE(fequal(b.x, 2.4f, 0.0001f)); |
| 390 | ENSURE(fequal(b.y, 8.4f, 0.0001f)); |
| 391 | ENSURE(fequal(b.z, -4.6f, 0.0001f)); |
| 392 | } |
| 393 | { |
| 394 | const Vector3 a = { 1.2f, 4.2f, -2.3f }; |
| 395 | const Vector3 b = { 2.7f, -1.9f, -4.1f }; |
| 396 | const f32 c = dot(a, b); |
| 397 | ENSURE(fequal(c, 4.69f, 0.0001f)); |
| 398 | } |
| 399 | { |
| 400 | const Vector3 z_axis = cross(VECTOR3_XAXIS, VECTOR3_YAXIS); |
| 401 | ENSURE(fequal(z_axis.x, VECTOR3_ZAXIS.x, 0.0001f)); |
| 402 | ENSURE(fequal(z_axis.y, VECTOR3_ZAXIS.y, 0.0001f)); |
| 403 | ENSURE(fequal(z_axis.z, VECTOR3_ZAXIS.z, 0.0001f)); |
| 404 | |
| 405 | const Vector3 x_axis = cross(VECTOR3_YAXIS, VECTOR3_ZAXIS); |
| 406 | ENSURE(fequal(x_axis.x, VECTOR3_XAXIS.x, 0.0001f)); |
| 407 | ENSURE(fequal(x_axis.y, VECTOR3_XAXIS.y, 0.0001f)); |
| 408 | ENSURE(fequal(x_axis.z, VECTOR3_XAXIS.z, 0.0001f)); |
| 409 | |
| 410 | const Vector3 y_axis = cross(VECTOR3_ZAXIS, VECTOR3_XAXIS); |
| 411 | ENSURE(fequal(y_axis.x, VECTOR3_YAXIS.x, 0.0001f)); |
| 412 | ENSURE(fequal(y_axis.y, VECTOR3_YAXIS.y, 0.0001f)); |
| 413 | ENSURE(fequal(y_axis.z, VECTOR3_YAXIS.z, 0.0001f)); |
| 414 | } |
| 415 | { |
| 416 | const Vector3 a = { 1.2f, 4.2f, -2.3f }; |
| 417 | const f32 c = length_squared(a); |
| 418 | ENSURE(fequal(c, 24.37f, 0.0001f)); |
| 419 | } |
| 420 | { |
| 421 | const Vector3 a = { 1.2f, 4.2f, -2.3f }; |
| 422 | const f32 c = length(a); |
| 423 | ENSURE(fequal(c, 4.93659f, 0.0001f)); |
| 424 | } |
| 425 | { |