summaryrefslogtreecommitdiffstats
path: root/tests/auto/core/matrix4x4_avx2/tst_matrix4x4_avx2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/core/matrix4x4_avx2/tst_matrix4x4_avx2.cpp')
-rw-r--r--tests/auto/core/matrix4x4_avx2/tst_matrix4x4_avx2.cpp49
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/auto/core/matrix4x4_avx2/tst_matrix4x4_avx2.cpp b/tests/auto/core/matrix4x4_avx2/tst_matrix4x4_avx2.cpp
index 144df6711..12eaab263 100644
--- a/tests/auto/core/matrix4x4_avx2/tst_matrix4x4_avx2.cpp
+++ b/tests/auto/core/matrix4x4_avx2/tst_matrix4x4_avx2.cpp
@@ -474,6 +474,55 @@ private Q_SLOTS:
QCOMPARE(row.w(), 44.0f);
}
}
+
+ void checkVectorMapVector()
+ {
+ {
+ // GIVEN
+ QMatrix4x4 tmpMat;
+ QVector3D tmpVec3(1.0f, 0.0f, 0.0f);
+ tmpMat.rotate(90.f, 0.f, 1.f, 0.f);
+
+ Matrix4x4_AVX2 mat(tmpMat);
+ Vector3D vec3(tmpVec3);
+
+ // WHEN
+ const Vector3D resultingVec = mat.mapVector(vec3);
+
+ // THEN
+ QCOMPARE(resultingVec.toQVector3D(), tmpMat.mapVector(tmpVec3));
+ }
+ {
+ // GIVEN
+ QMatrix4x4 tmpMat;
+ QVector3D tmpVec3(0.0f, 0.0f, -1.0f);
+ tmpMat.rotate(90.f, 0.f, 1.f, 0.f);
+
+ Matrix4x4_AVX2 mat(tmpMat);
+ Vector3D vec3(tmpVec3);
+
+ // WHEN
+ const Vector3D resultingVec = mat.mapVector(vec3);
+
+ // THEN
+ QCOMPARE(resultingVec.toQVector3D(), tmpMat.mapVector(tmpVec3));
+ }
+ {
+ // GIVEN
+ QMatrix4x4 tmpMat;
+ QVector3D tmpVec3(3.0f, -3.0f, -1.0f);
+ tmpMat.rotate(90.f, 0.33f, 0.33f, 0.33f);
+
+ Matrix4x4_AVX2 mat(tmpMat);
+ Vector3D vec3(tmpVec3);
+
+ // WHEN
+ const Vector3D resultingVec = mat.mapVector(vec3);
+
+ // THEN
+ QCOMPARE(resultingVec.toQVector3D(), tmpMat.mapVector(tmpVec3));
+ }
+ }
};
QTEST_MAIN(tst_Matrix4x4_AVX2)