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

Function test_matrix4x4

src/core/unit_tests.cpp:751–913  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

749}
750
751static void test_matrix4x4()
752{
753 {
754 const Matrix4x4 a = {
755 1.2f, -2.3f, 5.1f, -1.2f,
756 2.2f, -5.1f, 1.1f, -7.4f,
757 3.2f, 3.3f, -3.8f, -9.2f,
758 -6.8f, -2.9f, 1.0f, 4.9f
759 };
760 const Matrix4x4 b = {
761 3.2f, 4.8f, 6.0f, 5.3f,
762 -1.6f, -7.1f, -2.4f, -6.2f,
763 -3.1f, -2.2f, 8.9f, 8.3f,
764 3.8f, 9.1f, -3.1f, -7.1f
765 };
766 const Matrix4x4 c = a + b;
767 ENSURE(fequal(c.x.x, 4.4f, 0.00001f));
768 ENSURE(fequal(c.x.y, 2.5f, 0.00001f));
769 ENSURE(fequal(c.x.z, 11.1f, 0.00001f));
770 ENSURE(fequal(c.x.w, 4.1f, 0.00001f));
771 ENSURE(fequal(c.y.x, 0.6f, 0.00001f));
772 ENSURE(fequal(c.y.y, -12.2f, 0.00001f));
773 ENSURE(fequal(c.y.z, -1.3f, 0.00001f));
774 ENSURE(fequal(c.y.w, -13.6f, 0.00001f));
775 ENSURE(fequal(c.z.x, 0.1f, 0.00001f));
776 ENSURE(fequal(c.z.y, 1.1f, 0.00001f));
777 ENSURE(fequal(c.z.z, 5.1f, 0.00001f));
778 ENSURE(fequal(c.z.w, -0.9f, 0.00001f));
779 ENSURE(fequal(c.t.x, -3.0f, 0.00001f));
780 ENSURE(fequal(c.t.y, 6.2f, 0.00001f));
781 ENSURE(fequal(c.t.z, -2.1f, 0.00001f));
782 ENSURE(fequal(c.t.w, -2.2f, 0.00001f));
783 }
784 {
785 const Matrix4x4 a = {
786 1.2f, -2.3f, 5.1f, -1.2f,
787 2.2f, -5.1f, 1.1f, -7.4f,
788 3.2f, 3.3f, -3.8f, -9.2f,
789 -6.8f, -2.9f, 1.0f, 4.9f
790 };
791 const Matrix4x4 b = {
792 3.2f, 4.8f, 6.0f, 5.3f,
793 -1.6f, -7.1f, -2.4f, -6.2f,
794 -3.1f, -2.2f, 8.9f, 8.3f,
795 3.8f, 9.1f, -3.1f, -7.1f
796 };
797 const Matrix4x4 c = a - b;
798 ENSURE(fequal(c.x.x, -2.0f, 0.00001f));
799 ENSURE(fequal(c.x.y, -7.1f, 0.00001f));
800 ENSURE(fequal(c.x.z, -0.9f, 0.00001f));
801 ENSURE(fequal(c.x.w, -6.5f, 0.00001f));
802 ENSURE(fequal(c.y.x, 3.8f, 0.00001f));
803 ENSURE(fequal(c.y.y, 2.0f, 0.00001f));
804 ENSURE(fequal(c.y.z, 3.5f, 0.00001f));
805 ENSURE(fequal(c.y.w, -1.2f, 0.00001f));
806 ENSURE(fequal(c.z.x, 6.3f, 0.00001f));
807 ENSURE(fequal(c.z.y, 5.5f, 0.00001f));
808 ENSURE(fequal(c.z.z, -12.7f, 0.00001f));

Callers

nothing calls this directly

Calls 1

memcmpFunction · 0.85

Tested by

no test coverage detected