MCPcopy Create free account
hub / github.com/crownengine/crown / test_vector3

Function test_vector3

src/core/unit_tests.cpp:368–458  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

366}
367
368static 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 {

Callers

nothing calls this directly

Calls 7

crossFunction · 0.85
normalizeFunction · 0.85
distanceFunction · 0.85
maxFunction · 0.70
minFunction · 0.70
dotFunction · 0.50
lengthFunction · 0.50

Tested by

no test coverage detected