summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/math3d
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2012-08-20 20:55:40 +0100
committerQt by Nokia <qt-info@nokia.com>2012-09-07 13:27:38 +0200
commit51d40d7e9bdfc63c5109aef5b732aa2ba10f985a (patch)
treeffa750956ab2e96e0cd8f02bafa820042aa9f78a /tests/auto/gui/math3d
parent56414e2498ae19d305b391678afe3a67a9069832 (diff)
Make gui/math3d classes use float rather than qreal
This corrects the mismatch between using floats for internal storage and qreal in the API of QVector*D which leads to lots of implicit casts between double and float. This change also stops users from being surprised by the loss of precision when using these classes on desktop platforms and removes the need for the private constructors taking a dummy int as the final argument. The QMatrix4x4 and QQuaternion classes have been changed to use float for their internal storage since these are meant to be used in conjunction with the QVector*D classes. This is to prevent unexpected loss of precision and to improve performance. The on-disk format has also been changed from double to float thereby reducing the storage required when streaming vectors and matrices. This is potentially a large saving when working with complex 3D meshes etc. This also has a significant performance improvement when passing matrices to QOpenGLShaderProgram (and QGLShaderProgram) as we no longer have to iterate and convert the data to floats. This is an operation that could easily be needed many times per frame. This change also opens the door for further optimisations of these classes to be implemented by using SIMD intrinsics. This needs to be applied in conjunction with https://codereview.qt-project.org/#change,33548 Task-number: QTBUG-21035 Task-number: QTBUG-20661 Change-Id: I9321b06040ffb93ae1cbd72fd2013267ac901b2e Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'tests/auto/gui/math3d')
-rw-r--r--tests/auto/gui/math3d/qmatrixnxn/tst_qmatrixnxn.cpp1120
-rw-r--r--tests/auto/gui/math3d/qquaternion/tst_qquaternion.cpp683
-rw-r--r--tests/auto/gui/math3d/qvectornd/tst_qvectornd.cpp1711
3 files changed, 1745 insertions, 1769 deletions
diff --git a/tests/auto/gui/math3d/qmatrixnxn/tst_qmatrixnxn.cpp b/tests/auto/gui/math3d/qmatrixnxn/tst_qmatrixnxn.cpp
index c89d10a543..c72955e9c1 100644
--- a/tests/auto/gui/math3d/qmatrixnxn/tst_qmatrixnxn.cpp
+++ b/tests/auto/gui/math3d/qmatrixnxn/tst_qmatrixnxn.cpp
@@ -171,149 +171,161 @@ private slots:
void metaTypes();
private:
- static void setMatrix(QMatrix2x2& m, const qreal *values);
- static void setMatrixDirect(QMatrix2x2& m, const qreal *values);
- static bool isSame(const QMatrix2x2& m, const qreal *values);
+ static void setMatrix(QMatrix2x2& m, const float *values);
+ static void setMatrixDirect(QMatrix2x2& m, const float *values);
+ static bool isSame(const QMatrix2x2& m, const float *values);
static bool isIdentity(const QMatrix2x2& m);
- static void setMatrix(QMatrix3x3& m, const qreal *values);
- static void setMatrixDirect(QMatrix3x3& m, const qreal *values);
- static bool isSame(const QMatrix3x3& m, const qreal *values);
+ static void setMatrix(QMatrix3x3& m, const float *values);
+ static void setMatrixDirect(QMatrix3x3& m, const float *values);
+ static bool isSame(const QMatrix3x3& m, const float *values);
static bool isIdentity(const QMatrix3x3& m);
- static void setMatrix(QMatrix4x4& m, const qreal *values);
- static void setMatrixDirect(QMatrix4x4& m, const qreal *values);
- static bool isSame(const QMatrix4x4& m, const qreal *values);
+ static void setMatrix(QMatrix4x4& m, const float *values);
+ static void setMatrixDirect(QMatrix4x4& m, const float *values);
+ static bool isSame(const QMatrix4x4& m, const float *values);
static bool isIdentity(const QMatrix4x4& m);
- static void setMatrix(QMatrix4x3& m, const qreal *values);
- static void setMatrixDirect(QMatrix4x3& m, const qreal *values);
- static bool isSame(const QMatrix4x3& m, const qreal *values);
+ static void setMatrix(QMatrix4x3& m, const float *values);
+ static void setMatrixDirect(QMatrix4x3& m, const float *values);
+ static bool isSame(const QMatrix4x3& m, const float *values);
static bool isIdentity(const QMatrix4x3& m);
};
-static const qreal nullValues2[] =
+static const float nullValues2[] =
{0.0f, 0.0f,
0.0f, 0.0f};
-static qreal const identityValues2[16] =
+static float const identityValues2[16] =
{1.0f, 0.0f,
0.0f, 1.0f};
-static const qreal doubleIdentity2[] =
+static const float doubleIdentity2[] =
{2.0f, 0.0f,
0.0f, 2.0f};
-static qreal const uniqueValues2[16] =
+static float const uniqueValues2[16] =
{1.0f, 2.0f,
5.0f, 6.0f};
-static qreal const transposedValues2[16] =
+static float const transposedValues2[16] =
{1.0f, 5.0f,
2.0f, 6.0f};
-static const qreal nullValues3[] =
+static const float nullValues3[] =
{0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f};
-static qreal const identityValues3[16] =
+static float const identityValues3[16] =
{1.0f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f,
0.0f, 0.0f, 1.0f};
-static const qreal doubleIdentity3[] =
+static const float doubleIdentity3[] =
{2.0f, 0.0f, 0.0f,
0.0f, 2.0f, 0.0f,
0.0f, 0.0f, 2.0f};
-static qreal const uniqueValues3[16] =
+static float const uniqueValues3[16] =
{1.0f, 2.0f, 3.0f,
5.0f, 6.0f, 7.0f,
9.0f, 10.0f, 11.0f};
-static qreal const transposedValues3[16] =
+static float const transposedValues3[16] =
{1.0f, 5.0f, 9.0f,
2.0f, 6.0f, 10.0f,
3.0f, 7.0f, 11.0f};
-static const qreal nullValues4[] =
+static const float nullValues4[] =
{0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 0.0f};
-static qreal const identityValues4[16] =
+static float const identityValues4[16] =
{1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f, 0.0f,
0.0f, 0.0f, 1.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f};
-static const qreal doubleIdentity4[] =
+static const float doubleIdentity4[] =
{2.0f, 0.0f, 0.0f, 0.0f,
0.0f, 2.0f, 0.0f, 0.0f,
0.0f, 0.0f, 2.0f, 0.0f,
0.0f, 0.0f, 0.0f, 2.0f};
-static qreal const uniqueValues4[16] =
+static float const uniqueValues4[16] =
{1.0f, 2.0f, 3.0f, 4.0f,
5.0f, 6.0f, 7.0f, 8.0f,
9.0f, 10.0f, 11.0f, 12.0f,
13.0f, 14.0f, 15.0f, 16.0f};
-static qreal const transposedValues4[16] =
+static float const transposedValues4[16] =
{1.0f, 5.0f, 9.0f, 13.0f,
2.0f, 6.0f, 10.0f, 14.0f,
3.0f, 7.0f, 11.0f, 15.0f,
4.0f, 8.0f, 12.0f, 16.0f};
-static const qreal nullValues4x3[] =
+static const float nullValues4x3[] =
{0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 0.0f};
-static qreal const identityValues4x3[12] =
+static float const identityValues4x3[12] =
{1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f, 0.0f,
0.0f, 0.0f, 1.0f, 0.0f};
-static qreal const doubleIdentity4x3[12] =
+static float const doubleIdentity4x3[12] =
{2.0f, 0.0f, 0.0f, 0.0f,
0.0f, 2.0f, 0.0f, 0.0f,
0.0f, 0.0f, 2.0f, 0.0f};
-static qreal const uniqueValues4x3[12] =
+static float const uniqueValues4x3[12] =
{1.0f, 2.0f, 3.0f, 4.0f,
5.0f, 6.0f, 7.0f, 8.0f,
9.0f, 10.0f, 11.0f, 12.0f};
-static qreal const transposedValues3x4[12] =
+static float const transposedValues3x4[12] =
{1.0f, 5.0f, 9.0f,
2.0f, 6.0f, 10.0f,
3.0f, 7.0f, 11.0f,
4.0f, 8.0f, 12.0f};
+// We use a slightly better implementation of qFuzzyCompare here that
+// handles the case where one of the values is exactly 0
+static inline bool fuzzyCompare(float p1, float p2)
+{
+ if (qFuzzyIsNull(p1))
+ return qFuzzyIsNull(p2);
+ else if (qFuzzyIsNull(p2))
+ return false;
+ else
+ return qFuzzyCompare(p1, p2);
+}
+
// Set a matrix to a specified array of values, which are assumed
// to be in row-major order. This sets the values using floating-point.
-void tst_QMatrixNxN::setMatrix(QMatrix2x2& m, const qreal *values)
+void tst_QMatrixNxN::setMatrix(QMatrix2x2& m, const float *values)
{
for (int row = 0; row < 2; ++row)
for (int col = 0; col < 2; ++col)
m(row, col) = values[row * 2 + col];
}
-void tst_QMatrixNxN::setMatrix(QMatrix3x3& m, const qreal *values)
+void tst_QMatrixNxN::setMatrix(QMatrix3x3& m, const float *values)
{
for (int row = 0; row < 3; ++row)
for (int col = 0; col < 3; ++col)
m(row, col) = values[row * 3 + col];
}
-void tst_QMatrixNxN::setMatrix(QMatrix4x4& m, const qreal *values)
+void tst_QMatrixNxN::setMatrix(QMatrix4x4& m, const float *values)
{
for (int row = 0; row < 4; ++row)
for (int col = 0; col < 4; ++col)
m(row, col) = values[row * 4 + col];
}
-void tst_QMatrixNxN::setMatrix(QMatrix4x3& m, const qreal *values)
+void tst_QMatrixNxN::setMatrix(QMatrix4x3& m, const float *values)
{
for (int row = 0; row < 3; ++row)
for (int col = 0; col < 4; ++col)
@@ -323,36 +335,36 @@ void tst_QMatrixNxN::setMatrix(QMatrix4x3& m, const qreal *values)
// Set a matrix to a specified array of values, which are assumed
// to be in row-major order. This sets the values directly into
// the internal data() array.
-void tst_QMatrixNxN::setMatrixDirect(QMatrix2x2& m, const qreal *values)
+void tst_QMatrixNxN::setMatrixDirect(QMatrix2x2& m, const float *values)
{
- qreal *data = m.data();
+ float *data = m.data();
for (int row = 0; row < 2; ++row) {
for (int col = 0; col < 2; ++col) {
data[row + col * 2] = values[row * 2 + col];
}
}
}
-void tst_QMatrixNxN::setMatrixDirect(QMatrix3x3& m, const qreal *values)
+void tst_QMatrixNxN::setMatrixDirect(QMatrix3x3& m, const float *values)
{
- qreal *data = m.data();
+ float *data = m.data();
for (int row = 0; row < 3; ++row) {
for (int col = 0; col < 3; ++col) {
data[row + col * 3] = values[row * 3 + col];
}
}
}
-void tst_QMatrixNxN::setMatrixDirect(QMatrix4x4& m, const qreal *values)
+void tst_QMatrixNxN::setMatrixDirect(QMatrix4x4& m, const float *values)
{
- qreal *data = m.data();
+ float *data = m.data();
for (int row = 0; row < 4; ++row) {
for (int col = 0; col < 4; ++col) {
data[row + col * 4] = values[row * 4 + col];
}
}
}
-void tst_QMatrixNxN::setMatrixDirect(QMatrix4x3& m, const qreal *values)
+void tst_QMatrixNxN::setMatrixDirect(QMatrix4x3& m, const float *values)
{
- qreal *data = m.data();
+ float *data = m.data();
for (int row = 0; row < 3; ++row) {
for (int col = 0; col < 4; ++col) {
data[row + col * 3] = values[row * 4 + col];
@@ -360,31 +372,11 @@ void tst_QMatrixNxN::setMatrixDirect(QMatrix4x3& m, const qreal *values)
}
}
-// QVector2/3/4D use float internally, which can sometimes lead
-// to precision issues when converting to and from qreal during
-// operations involving QMatrix4x4. This fuzzy compare is slightly
-// "fuzzier" than the default qFuzzyCompare for qreal to compensate.
-static bool fuzzyCompare(qreal x, qreal y)
-{
- return qFuzzyIsNull((float)(x - y));
-}
-
-static bool fuzzyCompare(const QVector3D &v1, const QVector3D &v2)
-{
- if (!fuzzyCompare(v1.x(), v2.x()))
- return false;
- if (!fuzzyCompare(v1.y(), v2.y()))
- return false;
- if (!fuzzyCompare(v1.z(), v2.z()))
- return false;
- return true;
-}
-
// Determine if a matrix is the same as a specified array of values.
// The values are assumed to be specified in row-major order.
-bool tst_QMatrixNxN::isSame(const QMatrix2x2& m, const qreal *values)
+bool tst_QMatrixNxN::isSame(const QMatrix2x2& m, const float *values)
{
- const qreal *mv = m.constData();
+ const float *mv = m.constData();
for (int row = 0; row < 2; ++row) {
for (int col = 0; col < 2; ++col) {
// Check the values using the operator() function.
@@ -403,9 +395,9 @@ bool tst_QMatrixNxN::isSame(const QMatrix2x2& m, const qreal *values)
}
return true;
}
-bool tst_QMatrixNxN::isSame(const QMatrix3x3& m, const qreal *values)
+bool tst_QMatrixNxN::isSame(const QMatrix3x3& m, const float *values)
{
- const qreal *mv = m.constData();
+ const float *mv = m.constData();
for (int row = 0; row < 3; ++row) {
for (int col = 0; col < 3; ++col) {
// Check the values using the operator() access function.
@@ -424,9 +416,9 @@ bool tst_QMatrixNxN::isSame(const QMatrix3x3& m, const qreal *values)
}
return true;
}
-bool tst_QMatrixNxN::isSame(const QMatrix4x4& m, const qreal *values)
+bool tst_QMatrixNxN::isSame(const QMatrix4x4& m, const float *values)
{
- const qreal *mv = m.constData();
+ const float *mv = m.constData();
for (int row = 0; row < 4; ++row) {
for (int col = 0; col < 4; ++col) {
// Check the values using the operator() access function.
@@ -445,9 +437,9 @@ bool tst_QMatrixNxN::isSame(const QMatrix4x4& m, const qreal *values)
}
return true;
}
-bool tst_QMatrixNxN::isSame(const QMatrix4x3& m, const qreal *values)
+bool tst_QMatrixNxN::isSame(const QMatrix4x3& m, const float *values)
{
- const qreal *mv = m.constData();
+ const float *mv = m.constData();
for (int row = 0; row < 3; ++row) {
for (int col = 0; col < 4; ++col) {
// Check the values using the operator() access function.
@@ -514,7 +506,7 @@ void tst_QMatrixNxN::create2x2()
QMatrix2x2 m6(uniqueValues2);
QVERIFY(isSame(m6, uniqueValues2));
- qreal vals[4];
+ float vals[4];
m6.copyDataTo(vals);
for (int index = 0; index < 4; ++index)
QCOMPARE(vals[index], uniqueValues2[index]);
@@ -549,7 +541,7 @@ void tst_QMatrixNxN::create3x3()
QMatrix3x3 m6(uniqueValues3);
QVERIFY(isSame(m6, uniqueValues3));
- qreal vals[9];
+ float vals[9];
m6.copyDataTo(vals);
for (int index = 0; index < 9; ++index)
QCOMPARE(vals[index], uniqueValues3[index]);
@@ -584,7 +576,7 @@ void tst_QMatrixNxN::create4x4()
QMatrix4x4 m6(uniqueValues4);
QVERIFY(isSame(m6, uniqueValues4));
- qreal vals[16];
+ float vals[16];
m6.copyDataTo(vals);
for (int index = 0; index < 16; ++index)
QCOMPARE(vals[index], uniqueValues4[index]);
@@ -626,7 +618,7 @@ void tst_QMatrixNxN::create4x3()
QMatrix4x3 m6(uniqueValues4x3);
QVERIFY(isSame(m6, uniqueValues4x3));
- qreal vals[12];
+ float vals[12];
m6.copyDataTo(vals);
for (int index = 0; index < 12; ++index)
QCOMPARE(vals[index], uniqueValues4x3[index]);
@@ -795,7 +787,7 @@ void tst_QMatrixNxN::transposed4x3()
{
QMatrix4x3 m3(uniqueValues4x3);
QMatrix3x4 m4 = m3.transposed();
- qreal values[12];
+ float values[12];
m4.copyDataTo(values);
for (int index = 0; index < 12; ++index)
QCOMPARE(values[index], transposedValues3x4[index]);
@@ -817,7 +809,7 @@ void tst_QMatrixNxN::add2x2_data()
QTest::newRow("identity/identity")
<< (void *)identityValues2 << (void *)identityValues2 << (void *)doubleIdentity2;
- static qreal const sumValues[16] =
+ static float const sumValues[16] =
{2.0f, 7.0f,
7.0f, 12.0f};
QTest::newRow("unique")
@@ -829,16 +821,16 @@ void tst_QMatrixNxN::add2x2()
QFETCH(void *, m2Values);
QFETCH(void *, m3Values);
- QMatrix2x2 m1((const qreal *)m1Values);
- QMatrix2x2 m2((const qreal *)m2Values);
+ QMatrix2x2 m1((const float *)m1Values);
+ QMatrix2x2 m2((const float *)m2Values);
QMatrix2x2 m4(m1);
m4 += m2;
- QVERIFY(isSame(m4, (const qreal *)m3Values));
+ QVERIFY(isSame(m4, (const float *)m3Values));
QMatrix2x2 m5;
m5 = m1 + m2;
- QVERIFY(isSame(m5, (const qreal *)m3Values));
+ QVERIFY(isSame(m5, (const float *)m3Values));
}
// Test matrix addition for 3x3 matrices.
@@ -857,7 +849,7 @@ void tst_QMatrixNxN::add3x3_data()
QTest::newRow("identity/identity")
<< (void *)identityValues3 << (void *)identityValues3 << (void *)doubleIdentity3;
- static qreal const sumValues[16] =
+ static float const sumValues[16] =
{2.0f, 7.0f, 12.0f,
7.0f, 12.0f, 17.0f,
12.0f, 17.0f, 22.0f};
@@ -870,16 +862,16 @@ void tst_QMatrixNxN::add3x3()
QFETCH(void *, m2Values);
QFETCH(void *, m3Values);
- QMatrix3x3 m1((const qreal *)m1Values);
- QMatrix3x3 m2((const qreal *)m2Values);
+ QMatrix3x3 m1((const float *)m1Values);
+ QMatrix3x3 m2((const float *)m2Values);
QMatrix3x3 m4(m1);
m4 += m2;
- QVERIFY(isSame(m4, (const qreal *)m3Values));
+ QVERIFY(isSame(m4, (const float *)m3Values));
QMatrix3x3 m5;
m5 = m1 + m2;
- QVERIFY(isSame(m5, (const qreal *)m3Values));
+ QVERIFY(isSame(m5, (const float *)m3Values));
}
// Test matrix addition for 4x4 matrices.
@@ -898,7 +890,7 @@ void tst_QMatrixNxN::add4x4_data()
QTest::newRow("identity/identity")
<< (void *)identityValues4 << (void *)identityValues4 << (void *)doubleIdentity4;
- static qreal const sumValues[16] =
+ static float const sumValues[16] =
{2.0f, 7.0f, 12.0f, 17.0f,
7.0f, 12.0f, 17.0f, 22.0f,
12.0f, 17.0f, 22.0f, 27.0f,
@@ -912,16 +904,16 @@ void tst_QMatrixNxN::add4x4()
QFETCH(void *, m2Values);
QFETCH(void *, m3Values);
- QMatrix4x4 m1((const qreal *)m1Values);
- QMatrix4x4 m2((const qreal *)m2Values);
+ QMatrix4x4 m1((const float *)m1Values);
+ QMatrix4x4 m2((const float *)m2Values);
QMatrix4x4 m4(m1);
m4 += m2;
- QVERIFY(isSame(m4, (const qreal *)m3Values));
+ QVERIFY(isSame(m4, (const float *)m3Values));
QMatrix4x4 m5;
m5 = m1 + m2;
- QVERIFY(isSame(m5, (const qreal *)m3Values));
+ QVERIFY(isSame(m5, (const float *)m3Values));
}
// Test matrix addition for 4x3 matrices.
@@ -940,7 +932,7 @@ void tst_QMatrixNxN::add4x3_data()
QTest::newRow("identity/identity")
<< (void *)identityValues4x3 << (void *)identityValues4x3 << (void *)doubleIdentity4x3;
- static qreal const sumValues[16] =
+ static float const sumValues[16] =
{2.0f, 7.0f, 12.0f, 6.0f,
11.0f, 16.0f, 10.0f, 15.0f,
20.0f, 14.0f, 19.0f, 24.0f};
@@ -953,16 +945,16 @@ void tst_QMatrixNxN::add4x3()
QFETCH(void *, m2Values);
QFETCH(void *, m3Values);
- QMatrix4x3 m1((const qreal *)m1Values);
- QMatrix4x3 m2((const qreal *)m2Values);
+ QMatrix4x3 m1((const float *)m1Values);
+ QMatrix4x3 m2((const float *)m2Values);
QMatrix4x3 m4(m1);
m4 += m2;
- QVERIFY(isSame(m4, (const qreal *)m3Values));
+ QVERIFY(isSame(m4, (const float *)m3Values));
QMatrix4x3 m5;
m5 = m1 + m2;
- QVERIFY(isSame(m5, (const qreal *)m3Values));
+ QVERIFY(isSame(m5, (const float *)m3Values));
}
// Test matrix subtraction for 2x2 matrices.
@@ -977,25 +969,25 @@ void tst_QMatrixNxN::subtract2x2()
QFETCH(void *, m2Values);
QFETCH(void *, m3Values);
- QMatrix2x2 m1((const qreal *)m1Values);
- QMatrix2x2 m2((const qreal *)m2Values);
- QMatrix2x2 m3((const qreal *)m3Values);
+ QMatrix2x2 m1((const float *)m1Values);
+ QMatrix2x2 m2((const float *)m2Values);
+ QMatrix2x2 m3((const float *)m3Values);
QMatrix2x2 m4(m3);
m4 -= m1;
- QVERIFY(isSame(m4, (const qreal *)m2Values));
+ QVERIFY(isSame(m4, (const float *)m2Values));
QMatrix2x2 m5;
m5 = m3 - m1;
- QVERIFY(isSame(m5, (const qreal *)m2Values));
+ QVERIFY(isSame(m5, (const float *)m2Values));
QMatrix2x2 m6(m3);
m6 -= m2;
- QVERIFY(isSame(m6, (const qreal *)m1Values));
+ QVERIFY(isSame(m6, (const float *)m1Values));
QMatrix2x2 m7;
m7 = m3 - m2;
- QVERIFY(isSame(m7, (const qreal *)m1Values));
+ QVERIFY(isSame(m7, (const float *)m1Values));
}
// Test matrix subtraction for 3x3 matrices.
@@ -1010,25 +1002,25 @@ void tst_QMatrixNxN::subtract3x3()
QFETCH(void *, m2Values);
QFETCH(void *, m3Values);
- QMatrix3x3 m1((const qreal *)m1Values);
- QMatrix3x3 m2((const qreal *)m2Values);
- QMatrix3x3 m3((const qreal *)m3Values);
+ QMatrix3x3 m1((const float *)m1Values);
+ QMatrix3x3 m2((const float *)m2Values);
+ QMatrix3x3 m3((const float *)m3Values);
QMatrix3x3 m4(m3);
m4 -= m1;
- QVERIFY(isSame(m4, (const qreal *)m2Values));
+ QVERIFY(isSame(m4, (const float *)m2Values));
QMatrix3x3 m5;
m5 = m3 - m1;
- QVERIFY(isSame(m5, (const qreal *)m2Values));
+ QVERIFY(isSame(m5, (const float *)m2Values));
QMatrix3x3 m6(m3);
m6 -= m2;
- QVERIFY(isSame(m6, (const qreal *)m1Values));
+ QVERIFY(isSame(m6, (const float *)m1Values));
QMatrix3x3 m7;
m7 = m3 - m2;
- QVERIFY(isSame(m7, (const qreal *)m1Values));
+ QVERIFY(isSame(m7, (const float *)m1Values));
}
// Test matrix subtraction for 4x4 matrices.
@@ -1043,25 +1035,25 @@ void tst_QMatrixNxN::subtract4x4()
QFETCH(void *, m2Values);
QFETCH(void *, m3Values);
- QMatrix4x4 m1((const qreal *)m1Values);
- QMatrix4x4 m2((const qreal *)m2Values);
- QMatrix4x4 m3((const qreal *)m3Values);
+ QMatrix4x4 m1((const float *)m1Values);
+ QMatrix4x4 m2((const float *)m2Values);
+ QMatrix4x4 m3((const float *)m3Values);
QMatrix4x4 m4(m3);
m4 -= m1;
- QVERIFY(isSame(m4, (const qreal *)m2Values));
+ QVERIFY(isSame(m4, (const float *)m2Values));
QMatrix4x4 m5;
m5 = m3 - m1;
- QVERIFY(isSame(m5, (const qreal *)m2Values));
+ QVERIFY(isSame(m5, (const float *)m2Values));
QMatrix4x4 m6(m3);
m6 -= m2;
- QVERIFY(isSame(m6, (const qreal *)m1Values));
+ QVERIFY(isSame(m6, (const float *)m1Values));
QMatrix4x4 m7;
m7 = m3 - m2;
- QVERIFY(isSame(m7, (const qreal *)m1Values));
+ QVERIFY(isSame(m7, (const float *)m1Values));
}
// Test matrix subtraction for 4x3 matrices.
@@ -1076,25 +1068,25 @@ void tst_QMatrixNxN::subtract4x3()
QFETCH(void *, m2Values);
QFETCH(void *, m3Values);
- QMatrix4x3 m1((const qreal *)m1Values);
- QMatrix4x3 m2((const qreal *)m2Values);
- QMatrix4x3 m3((const qreal *)m3Values);
+ QMatrix4x3 m1((const float *)m1Values);
+ QMatrix4x3 m2((const float *)m2Values);
+ QMatrix4x3 m3((const float *)m3Values);
QMatrix4x3 m4(m3);
m4 -= m1;
- QVERIFY(isSame(m4, (const qreal *)m2Values));
+ QVERIFY(isSame(m4, (const float *)m2Values));
QMatrix4x3 m5;
m5 = m3 - m1;
- QVERIFY(isSame(m5, (const qreal *)m2Values));
+ QVERIFY(isSame(m5, (const float *)m2Values));
QMatrix4x3 m6(m3);
m6 -= m2;
- QVERIFY(isSame(m6, (const qreal *)m1Values));
+ QVERIFY(isSame(m6, (const float *)m1Values));
QMatrix4x3 m7;
m7 = m3 - m2;
- QVERIFY(isSame(m7, (const qreal *)m1Values));
+ QVERIFY(isSame(m7, (const float *)m1Values));
}
// Test matrix multiplication for 2x2 matrices.
@@ -1119,10 +1111,10 @@ void tst_QMatrixNxN::multiply2x2_data()
QTest::newRow("identity/unique")
<< (void *)identityValues2 << (void *)uniqueValues2 << (void *)uniqueValues2;
- static qreal uniqueResult[4];
+ static float uniqueResult[4];
for (int row = 0; row < 2; ++row) {
for (int col = 0; col < 2; ++col) {
- qreal sum = 0.0f;
+ float sum = 0.0f;
for (int j = 0; j < 2; ++j)
sum += uniqueValues2[row * 2 + j] * transposedValues2[j * 2 + col];
uniqueResult[row * 2 + col] = sum;
@@ -1138,12 +1130,12 @@ void tst_QMatrixNxN::multiply2x2()
QFETCH(void *, m2Values);
QFETCH(void *, m3Values);
- QMatrix2x2 m1((const qreal *)m1Values);
- QMatrix2x2 m2((const qreal *)m2Values);
+ QMatrix2x2 m1((const float *)m1Values);
+ QMatrix2x2 m2((const float *)m2Values);
QMatrix2x2 m5;
m5 = m1 * m2;
- QVERIFY(isSame(m5, (const qreal *)m3Values));
+ QVERIFY(isSame(m5, (const float *)m3Values));
}
// Test matrix multiplication for 3x3 matrices.
@@ -1168,10 +1160,10 @@ void tst_QMatrixNxN::multiply3x3_data()
QTest::newRow("identity/unique")
<< (void *)identityValues3 << (void *)uniqueValues3 << (void *)uniqueValues3;
- static qreal uniqueResult[9];
+ static float uniqueResult[9];
for (int row = 0; row < 3; ++row) {
for (int col = 0; col < 3; ++col) {
- qreal sum = 0.0f;
+ float sum = 0.0f;
for (int j = 0; j < 3; ++j)
sum += uniqueValues3[row * 3 + j] * transposedValues3[j * 3 + col];
uniqueResult[row * 3 + col] = sum;
@@ -1187,12 +1179,12 @@ void tst_QMatrixNxN::multiply3x3()
QFETCH(void *, m2Values);
QFETCH(void *, m3Values);
- QMatrix3x3 m1((const qreal *)m1Values);
- QMatrix3x3 m2((const qreal *)m2Values);
+ QMatrix3x3 m1((const float *)m1Values);
+ QMatrix3x3 m2((const float *)m2Values);
QMatrix3x3 m5;
m5 = m1 * m2;
- QVERIFY(isSame(m5, (const qreal *)m3Values));
+ QVERIFY(isSame(m5, (const float *)m3Values));
}
// Test matrix multiplication for 4x4 matrices.
@@ -1217,10 +1209,10 @@ void tst_QMatrixNxN::multiply4x4_data()
QTest::newRow("identity/unique")
<< (void *)identityValues4 << (void *)uniqueValues4 << (void *)uniqueValues4;
- static qreal uniqueResult[16];
+ static float uniqueResult[16];
for (int row = 0; row < 4; ++row) {
for (int col = 0; col < 4; ++col) {
- qreal sum = 0.0f;
+ float sum = 0.0f;
for (int j = 0; j < 4; ++j)
sum += uniqueValues4[row * 4 + j] * transposedValues4[j * 4 + col];
uniqueResult[row * 4 + col] = sum;
@@ -1236,17 +1228,17 @@ void tst_QMatrixNxN::multiply4x4()
QFETCH(void *, m2Values);
QFETCH(void *, m3Values);
- QMatrix4x4 m1((const qreal *)m1Values);
- QMatrix4x4 m2((const qreal *)m2Values);
+ QMatrix4x4 m1((const float *)m1Values);
+ QMatrix4x4 m2((const float *)m2Values);
QMatrix4x4 m4;
m4 = m1;
m4 *= m2;
- QVERIFY(isSame(m4, (const qreal *)m3Values));
+ QVERIFY(isSame(m4, (const float *)m3Values));
QMatrix4x4 m5;
m5 = m1 * m2;
- QVERIFY(isSame(m5, (const qreal *)m3Values));
+ QVERIFY(isSame(m5, (const float *)m3Values));
}
// Test matrix multiplication for 4x3 matrices.
@@ -1265,10 +1257,10 @@ void tst_QMatrixNxN::multiply4x3_data()
QTest::newRow("unique/null")
<< (void *)uniqueValues4x3 << (void *)nullValues4x3 << (void *)nullValues3;
- static qreal uniqueResult[9];
+ static float uniqueResult[9];
for (int row = 0; row < 3; ++row) {
for (int col = 0; col < 3; ++col) {
- qreal sum = 0.0f;
+ float sum = 0.0f;
for (int j = 0; j < 4; ++j)
sum += uniqueValues4x3[row * 4 + j] * transposedValues3x4[j * 3 + col];
uniqueResult[row * 3 + col] = sum;
@@ -1284,243 +1276,243 @@ void tst_QMatrixNxN::multiply4x3()
QFETCH(void *, m2Values);
QFETCH(void *, m3Values);
- QMatrix4x3 m1((const qreal *)m1Values);
- QMatrix3x4 m2((const qreal *)m2Values);
+ QMatrix4x3 m1((const float *)m1Values);
+ QMatrix3x4 m2((const float *)m2Values);
- QGenericMatrix<3, 3, qreal> m4;
+ QGenericMatrix<3, 3, float> m4;
m4 = m1 * m2;
- qreal values[9];
+ float values[9];
m4.copyDataTo(values);
for (int index = 0; index < 9; ++index)
- QCOMPARE(values[index], ((const qreal *)m3Values)[index]);
+ QCOMPARE(values[index], ((const float *)m3Values)[index]);
}
// Test matrix multiplication by a factor for 2x2 matrices.
void tst_QMatrixNxN::multiplyFactor2x2_data()
{
QTest::addColumn<void *>("m1Values");
- QTest::addColumn<qreal>("factor");
+ QTest::addColumn<float>("factor");
QTest::addColumn<void *>("m2Values");
QTest::newRow("null")
- << (void *)nullValues2 << (qreal)1.0f << (void *)nullValues2;
+ << (void *)nullValues2 << (float)1.0f << (void *)nullValues2;
QTest::newRow("double identity")
- << (void *)identityValues2 << (qreal)2.0f << (void *)doubleIdentity2;
+ << (void *)identityValues2 << (float)2.0f << (void *)doubleIdentity2;
- static qreal const values[16] =
+ static float const values[16] =
{1.0f, 2.0f,
5.0f, 6.0f};
- static qreal const doubleValues[16] =
+ static float const doubleValues[16] =
{2.0f, 4.0f,
10.0f, 12.0f};
- static qreal const negDoubleValues[16] =
+ static float const negDoubleValues[16] =
{-2.0f, -4.0f,
-10.0f, -12.0f};
QTest::newRow("unique")
- << (void *)values << (qreal)2.0f << (void *)doubleValues;
+ << (void *)values << (float)2.0f << (void *)doubleValues;
QTest::newRow("neg")
- << (void *)values << (qreal)-2.0f << (void *)negDoubleValues;
+ << (void *)values << (float)-2.0f << (void *)negDoubleValues;
QTest::newRow("zero")
- << (void *)values << (qreal)0.0f << (void *)nullValues4;
+ << (void *)values << (float)0.0f << (void *)nullValues4;
}
void tst_QMatrixNxN::multiplyFactor2x2()
{
QFETCH(void *, m1Values);
- QFETCH(qreal, factor);
+ QFETCH(float, factor);
QFETCH(void *, m2Values);
- QMatrix2x2 m1((const qreal *)m1Values);
+ QMatrix2x2 m1((const float *)m1Values);
QMatrix2x2 m3;
m3 = m1;
m3 *= factor;
- QVERIFY(isSame(m3, (const qreal *)m2Values));
+ QVERIFY(isSame(m3, (const float *)m2Values));
QMatrix2x2 m4;
m4 = m1 * factor;
- QVERIFY(isSame(m4, (const qreal *)m2Values));
+ QVERIFY(isSame(m4, (const float *)m2Values));
QMatrix2x2 m5;
m5 = factor * m1;
- QVERIFY(isSame(m5, (const qreal *)m2Values));
+ QVERIFY(isSame(m5, (const float *)m2Values));
}
// Test matrix multiplication by a factor for 3x3 matrices.
void tst_QMatrixNxN::multiplyFactor3x3_data()
{
QTest::addColumn<void *>("m1Values");
- QTest::addColumn<qreal>("factor");
+ QTest::addColumn<float>("factor");
QTest::addColumn<void *>("m2Values");
QTest::newRow("null")
- << (void *)nullValues3 << (qreal)1.0f << (void *)nullValues3;
+ << (void *)nullValues3 << (float)1.0f << (void *)nullValues3;
QTest::newRow("double identity")
- << (void *)identityValues3 << (qreal)2.0f << (void *)doubleIdentity3;
+ << (void *)identityValues3 << (float)2.0f << (void *)doubleIdentity3;
- static qreal const values[16] =
+ static float const values[16] =
{1.0f, 2.0f, 3.0f,
5.0f, 6.0f, 7.0f,
9.0f, 10.0f, 11.0f};
- static qreal const doubleValues[16] =
+ static float const doubleValues[16] =
{2.0f, 4.0f, 6.0f,
10.0f, 12.0f, 14.0f,
18.0f, 20.0f, 22.0f};
- static qreal const negDoubleValues[16] =
+ static float const negDoubleValues[16] =
{-2.0f, -4.0f, -6.0f,
-10.0f, -12.0f, -14.0f,
-18.0f, -20.0f, -22.0f};
QTest::newRow("unique")
- << (void *)values << (qreal)2.0f << (void *)doubleValues;
+ << (void *)values << (float)2.0f << (void *)doubleValues;
QTest::newRow("neg")
- << (void *)values << (qreal)-2.0f << (void *)negDoubleValues;
+ << (void *)values << (float)-2.0f << (void *)negDoubleValues;
QTest::newRow("zero")
- << (void *)values << (qreal)0.0f << (void *)nullValues4;
+ << (void *)values << (float)0.0f << (void *)nullValues4;
}
void tst_QMatrixNxN::multiplyFactor3x3()
{
QFETCH(void *, m1Values);
- QFETCH(qreal, factor);
+ QFETCH(float, factor);
QFETCH(void *, m2Values);
- QMatrix3x3 m1((const qreal *)m1Values);
+ QMatrix3x3 m1((const float *)m1Values);
QMatrix3x3 m3;
m3 = m1;
m3 *= factor;
- QVERIFY(isSame(m3, (const qreal *)m2Values));
+ QVERIFY(isSame(m3, (const float *)m2Values));
QMatrix3x3 m4;
m4 = m1 * factor;
- QVERIFY(isSame(m4, (const qreal *)m2Values));
+ QVERIFY(isSame(m4, (const float *)m2Values));
QMatrix3x3 m5;
m5 = factor * m1;
- QVERIFY(isSame(m5, (const qreal *)m2Values));
+ QVERIFY(isSame(m5, (const float *)m2Values));
}
// Test matrix multiplication by a factor for 4x4 matrices.
void tst_QMatrixNxN::multiplyFactor4x4_data()
{
QTest::addColumn<void *>("m1Values");
- QTest::addColumn<qreal>("factor");
+ QTest::addColumn<float>("factor");
QTest::addColumn<void *>("m2Values");
QTest::newRow("null")
- << (void *)nullValues4 << (qreal)1.0f << (void *)nullValues4;
+ << (void *)nullValues4 << (float)1.0f << (void *)nullValues4;
QTest::newRow("double identity")
- << (void *)identityValues4 << (qreal)2.0f << (void *)doubleIdentity4;
+ << (void *)identityValues4 << (float)2.0f << (void *)doubleIdentity4;
- static qreal const values[16] =
+ static float const values[16] =
{1.0f, 2.0f, 3.0f, 4.0f,
5.0f, 6.0f, 7.0f, 8.0f,
9.0f, 10.0f, 11.0f, 12.0f,
13.0f, 14.0f, 15.0f, 16.0f};
- static qreal const doubleValues[16] =
+ static float const doubleValues[16] =
{2.0f, 4.0f, 6.0f, 8.0f,
10.0f, 12.0f, 14.0f, 16.0f,
18.0f, 20.0f, 22.0f, 24.0f,
26.0f, 28.0f, 30.0f, 32.0f};
- static qreal const negDoubleValues[16] =
+ static float const negDoubleValues[16] =
{-2.0f, -4.0f, -6.0f, -8.0f,
-10.0f, -12.0f, -14.0f, -16.0f,
-18.0f, -20.0f, -22.0f, -24.0f,
-26.0f, -28.0f, -30.0f, -32.0f};
QTest::newRow("unique")
- << (void *)values << (qreal)2.0f << (void *)doubleValues;
+ << (void *)values << (float)2.0f << (void *)doubleValues;
QTest::newRow("neg")
- << (void *)values << (qreal)-2.0f << (void *)negDoubleValues;
+ << (void *)values << (float)-2.0f << (void *)negDoubleValues;
QTest::newRow("zero")
- << (void *)values << (qreal)0.0f << (void *)nullValues4;
+ << (void *)values << (float)0.0f << (void *)nullValues4;
}
void tst_QMatrixNxN::multiplyFactor4x4()
{
QFETCH(void *, m1Values);
- QFETCH(qreal, factor);
+ QFETCH(float, factor);
QFETCH(void *, m2Values);
- QMatrix4x4 m1((const qreal *)m1Values);
+ QMatrix4x4 m1((const float *)m1Values);
QMatrix4x4 m3;
m3 = m1;
m3 *= factor;
- QVERIFY(isSame(m3, (const qreal *)m2Values));
+ QVERIFY(isSame(m3, (const float *)m2Values));
QMatrix4x4 m4;
m4 = m1 * factor;
- QVERIFY(isSame(m4, (const qreal *)m2Values));
+ QVERIFY(isSame(m4, (const float *)m2Values));
QMatrix4x4 m5;
m5 = factor * m1;
- QVERIFY(isSame(m5, (const qreal *)m2Values));
+ QVERIFY(isSame(m5, (const float *)m2Values));
}
// Test matrix multiplication by a factor for 4x3 matrices.
void tst_QMatrixNxN::multiplyFactor4x3_data()
{
QTest::addColumn<void *>("m1Values");
- QTest::addColumn<qreal>("factor");
+ QTest::addColumn<float>("factor");
QTest::addColumn<void *>("m2Values");
QTest::newRow("null")
- << (void *)nullValues4x3 << (qreal)1.0f << (void *)nullValues4x3;
+ << (void *)nullValues4x3 << (float)1.0f << (void *)nullValues4x3;
QTest::newRow("double identity")
- << (void *)identityValues4x3 << (qreal)2.0f << (void *)doubleIdentity4x3;
+ << (void *)identityValues4x3 << (float)2.0f << (void *)doubleIdentity4x3;
- static qreal const values[12] =
+ static float const values[12] =
{1.0f, 2.0f, 3.0f, 4.0f,
5.0f, 6.0f, 7.0f, 8.0f,
9.0f, 10.0f, 11.0f, 12.0f};
- static qreal const doubleValues[12] =
+ static float const doubleValues[12] =
{2.0f, 4.0f, 6.0f, 8.0f,
10.0f, 12.0f, 14.0f, 16.0f,
18.0f, 20.0f, 22.0f, 24.0f};
- static qreal const negDoubleValues[12] =
+ static float const negDoubleValues[12] =
{-2.0f, -4.0f, -6.0f, -8.0f,
-10.0f, -12.0f, -14.0f, -16.0f,
-18.0f, -20.0f, -22.0f, -24.0f};
QTest::newRow("unique")
- << (void *)values << (qreal)2.0f << (void *)doubleValues;
+ << (void *)values << (float)2.0f << (void *)doubleValues;
QTest::newRow("neg")
- << (void *)values << (qreal)-2.0f << (void *)negDoubleValues;
+ << (void *)values << (float)-2.0f << (void *)negDoubleValues;
QTest::newRow("zero")
- << (void *)values << (qreal)0.0f << (void *)nullValues4x3;
+ << (void *)values << (float)0.0f << (void *)nullValues4x3;
}
void tst_QMatrixNxN::multiplyFactor4x3()
{
QFETCH(void *, m1Values);
- QFETCH(qreal, factor);
+ QFETCH(float, factor);
QFETCH(void *, m2Values);
- QMatrix4x3 m1((const qreal *)m1Values);
+ QMatrix4x3 m1((const float *)m1Values);
QMatrix4x3 m3;
m3 = m1;
m3 *= factor;
- QVERIFY(isSame(m3, (const qreal *)m2Values));
+ QVERIFY(isSame(m3, (const float *)m2Values));
QMatrix4x3 m4;
m4 = m1 * factor;
- QVERIFY(isSame(m4, (const qreal *)m2Values));
+ QVERIFY(isSame(m4, (const float *)m2Values));
QMatrix4x3 m5;
m5 = factor * m1;
- QVERIFY(isSame(m5, (const qreal *)m2Values));
+ QVERIFY(isSame(m5, (const float *)m2Values));
}
// Test matrix division by a factor for 2x2 matrices.
@@ -1532,22 +1524,22 @@ void tst_QMatrixNxN::divideFactor2x2_data()
void tst_QMatrixNxN::divideFactor2x2()
{
QFETCH(void *, m1Values);
- QFETCH(qreal, factor);
+ QFETCH(float, factor);
QFETCH(void *, m2Values);
if (factor == 0.0f)
return;
- QMatrix2x2 m2((const qreal *)m2Values);
+ QMatrix2x2 m2((const float *)m2Values);
QMatrix2x2 m3;
m3 = m2;
m3 /= factor;
- QVERIFY(isSame(m3, (const qreal *)m1Values));
+ QVERIFY(isSame(m3, (const float *)m1Values));
QMatrix2x2 m4;
m4 = m2 / factor;
- QVERIFY(isSame(m4, (const qreal *)m1Values));
+ QVERIFY(isSame(m4, (const float *)m1Values));
}
// Test matrix division by a factor for 3x3 matrices.
@@ -1559,22 +1551,22 @@ void tst_QMatrixNxN::divideFactor3x3_data()
void tst_QMatrixNxN::divideFactor3x3()
{
QFETCH(void *, m1Values);
- QFETCH(qreal, factor);
+ QFETCH(float, factor);
QFETCH(void *, m2Values);
if (factor == 0.0f)
return;
- QMatrix3x3 m2((const qreal *)m2Values);
+ QMatrix3x3 m2((const float *)m2Values);
QMatrix3x3 m3;
m3 = m2;
m3 /= factor;
- QVERIFY(isSame(m3, (const qreal *)m1Values));
+ QVERIFY(isSame(m3, (const float *)m1Values));
QMatrix3x3 m4;
m4 = m2 / factor;
- QVERIFY(isSame(m4, (const qreal *)m1Values));
+ QVERIFY(isSame(m4, (const float *)m1Values));
}
// Test matrix division by a factor for 4x4 matrices.
@@ -1586,22 +1578,22 @@ void tst_QMatrixNxN::divideFactor4x4_data()
void tst_QMatrixNxN::divideFactor4x4()
{
QFETCH(void *, m1Values);
- QFETCH(qreal, factor);
+ QFETCH(float, factor);
QFETCH(void *, m2Values);
if (factor == 0.0f)
return;
- QMatrix4x4 m2((const qreal *)m2Values);
+ QMatrix4x4 m2((const float *)m2Values);
QMatrix4x4 m3;
m3 = m2;
m3 /= factor;
- QVERIFY(isSame(m3, (const qreal *)m1Values));
+ QVERIFY(isSame(m3, (const float *)m1Values));
QMatrix4x4 m4;
m4 = m2 / factor;
- QVERIFY(isSame(m4, (const qreal *)m1Values));
+ QVERIFY(isSame(m4, (const float *)m1Values));
}
// Test matrix division by a factor for 4x3 matrices.
@@ -1613,22 +1605,22 @@ void tst_QMatrixNxN::divideFactor4x3_data()
void tst_QMatrixNxN::divideFactor4x3()
{
QFETCH(void *, m1Values);
- QFETCH(qreal, factor);
+ QFETCH(float, factor);
QFETCH(void *, m2Values);
if (factor == 0.0f)
return;
- QMatrix4x3 m2((const qreal *)m2Values);
+ QMatrix4x3 m2((const float *)m2Values);
QMatrix4x3 m3;
m3 = m2;
m3 /= factor;
- QVERIFY(isSame(m3, (const qreal *)m1Values));
+ QVERIFY(isSame(m3, (const float *)m1Values));
QMatrix4x3 m4;
m4 = m2 / factor;
- QVERIFY(isSame(m4, (const qreal *)m1Values));
+ QVERIFY(isSame(m4, (const float *)m1Values));
}
// Test matrix negation for 2x2 matrices.
@@ -1641,11 +1633,11 @@ void tst_QMatrixNxN::negate2x2()
{
QFETCH(void *, m1Values);
- const qreal *values = (const qreal *)m1Values;
+ const float *values = (const float *)m1Values;
QMatrix2x2 m1(values);
- qreal negated[4];
+ float negated[4];
for (int index = 0; index < 4; ++index)
negated[index] = -values[index];
@@ -1664,11 +1656,11 @@ void tst_QMatrixNxN::negate3x3()
{
QFETCH(void *, m1Values);
- const qreal *values = (const qreal *)m1Values;
+ const float *values = (const float *)m1Values;
QMatrix3x3 m1(values);
- qreal negated[9];
+ float negated[9];
for (int index = 0; index < 9; ++index)
negated[index] = -values[index];
@@ -1687,11 +1679,11 @@ void tst_QMatrixNxN::negate4x4()
{
QFETCH(void *, m1Values);
- const qreal *values = (const qreal *)m1Values;
+ const float *values = (const float *)m1Values;
QMatrix4x4 m1(values);
- qreal negated[16];
+ float negated[16];
for (int index = 0; index < 16; ++index)
negated[index] = -values[index];
@@ -1710,11 +1702,11 @@ void tst_QMatrixNxN::negate4x3()
{
QFETCH(void *, m1Values);
- const qreal *values = (const qreal *)m1Values;
+ const float *values = (const float *)m1Values;
QMatrix4x3 m1(values);
- qreal negated[12];
+ float negated[12];
for (int index = 0; index < 12; ++index)
negated[index] = -values[index];
@@ -1730,14 +1722,14 @@ void tst_QMatrixNxN::negate4x3()
struct Matrix3
{
- qreal v[9];
+ float v[9];
};
struct Matrix4
{
- qreal v[16];
+ float v[16];
};
-static qreal m3Determinant(const Matrix3& m)
+static float m3Determinant(const Matrix3& m)
{
return m.v[0] * (m.v[4] * m.v[8] - m.v[7] * m.v[5]) -
m.v[1] * (m.v[3] * m.v[8] - m.v[6] * m.v[5]) +
@@ -1746,7 +1738,7 @@ static qreal m3Determinant(const Matrix3& m)
static bool m3Inverse(const Matrix3& min, Matrix3& mout)
{
- qreal det = m3Determinant(min);
+ float det = m3Determinant(min);
if (det == 0.0f)
return false;
mout.v[0] = (min.v[4] * min.v[8] - min.v[5] * min.v[7]) / det;
@@ -1779,11 +1771,11 @@ static void m4Submatrix(const Matrix4& min, Matrix3& mout, int i, int j)
}
}
-static qreal m4Determinant(const Matrix4& m)
+static float m4Determinant(const Matrix4& m)
{
- qreal det;
- qreal result = 0.0f;
- qreal i = 1.0f;
+ float det;
+ float result = 0.0f;
+ float i = 1.0f;
Matrix3 msub;
for (int n = 0; n < 4; ++n, i *= -1.0f) {
m4Submatrix(m, msub, 0, n);
@@ -1795,11 +1787,11 @@ static qreal m4Determinant(const Matrix4& m)
static void m4Inverse(const Matrix4& min, Matrix4& mout)
{
- qreal det = m4Determinant(min);
+ float det = m4Determinant(min);
Matrix3 msub;
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 4; ++j) {
- qreal sign = 1.0f - ((i + j) % 2) * 2.0f;
+ float sign = 1.0f - ((i + j) % 2) * 2.0f;
m4Submatrix(min, msub, i, j);
mout.v[i + j * 4] = (m3Determinant(msub) * sign) / det;
}
@@ -1868,7 +1860,7 @@ void tst_QMatrixNxN::inverted4x4()
QFETCH(void *, m2Values);
QFETCH(bool, invertible);
- QMatrix4x4 m1((const qreal *)m1Values);
+ QMatrix4x4 m1((const float *)m1Values);
if (invertible)
QVERIFY(m1.determinant() != 0.0f);
@@ -1876,14 +1868,14 @@ void tst_QMatrixNxN::inverted4x4()
QVERIFY(m1.determinant() == 0.0f);
Matrix4 m1alt;
- memcpy(m1alt.v, (const qreal *)m1Values, sizeof(m1alt.v));
+ memcpy(m1alt.v, (const float *)m1Values, sizeof(m1alt.v));
QCOMPARE(m1.determinant(), m4Determinant(m1alt));
QMatrix4x4 m2;
bool inv;
m2 = m1.inverted(&inv);
- QVERIFY(isSame(m2, (const qreal *)m2Values));
+ QVERIFY(isSame(m2, (const float *)m2Values));
if (invertible) {
QVERIFY(inv);
@@ -1906,7 +1898,7 @@ void tst_QMatrixNxN::inverted4x4()
// Test again, after inferring the special matrix type.
m1.optimize();
m2 = m1.inverted(&inv);
- QVERIFY(isSame(m2, (const qreal *)m2Values));
+ QVERIFY(isSame(m2, (const float *)m2Values));
QCOMPARE(inv, invertible);
}
@@ -1947,62 +1939,62 @@ void tst_QMatrixNxN::orthonormalInverse4x4()
// Test the generation and use of 4x4 scale matrices.
void tst_QMatrixNxN::scale4x4_data()
{
- QTest::addColumn<qreal>("x");
- QTest::addColumn<qreal>("y");
- QTest::addColumn<qreal>("z");
+ QTest::addColumn<float>("x");
+ QTest::addColumn<float>("y");
+ QTest::addColumn<float>("z");
QTest::addColumn<void *>("resultValues");
- static const qreal nullScale[] =
+ static const float nullScale[] =
{0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f};
QTest::newRow("null")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (void *)nullScale;
+ << (float)0.0f << (float)0.0f << (float)0.0f << (void *)nullScale;
QTest::newRow("identity")
- << (qreal)1.0f << (qreal)1.0f << (qreal)1.0f << (void *)identityValues4;
+ << (float)1.0f << (float)1.0f << (float)1.0f << (void *)identityValues4;
- static const qreal doubleScale[] =
+ static const float doubleScale[] =
{2.0f, 0.0f, 0.0f, 0.0f,
0.0f, 2.0f, 0.0f, 0.0f,
0.0f, 0.0f, 2.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f};
QTest::newRow("double")
- << (qreal)2.0f << (qreal)2.0f << (qreal)2.0f << (void *)doubleScale;
+ << (float)2.0f << (float)2.0f << (float)2.0f << (void *)doubleScale;
- static const qreal complexScale[] =
+ static const float complexScale[] =
{2.0f, 0.0f, 0.0f, 0.0f,
0.0f, 11.0f, 0.0f, 0.0f,
0.0f, 0.0f, -6.5f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f};
QTest::newRow("complex")
- << (qreal)2.0f << (qreal)11.0f << (qreal)-6.5f << (void *)complexScale;
+ << (float)2.0f << (float)11.0f << (float)-6.5f << (void *)complexScale;
- static const qreal complexScale2D[] =
+ static const float complexScale2D[] =
{2.0f, 0.0f, 0.0f, 0.0f,
0.0f, -11.0f, 0.0f, 0.0f,
0.0f, 0.0f, 1.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f};
QTest::newRow("complex2D")
- << (qreal)2.0f << (qreal)-11.0f << (qreal)1.0f << (void *)complexScale2D;
+ << (float)2.0f << (float)-11.0f << (float)1.0f << (void *)complexScale2D;
}
void tst_QMatrixNxN::scale4x4()
{
- QFETCH(qreal, x);
- QFETCH(qreal, y);
- QFETCH(qreal, z);
+ QFETCH(float, x);
+ QFETCH(float, y);
+ QFETCH(float, z);
QFETCH(void *, resultValues);
- QMatrix4x4 result((const qreal *)resultValues);
+ QMatrix4x4 result((const float *)resultValues);
QMatrix4x4 m1;
m1.scale(QVector3D(x, y, z));
- QVERIFY(isSame(m1, (const qreal *)resultValues));
+ QVERIFY(isSame(m1, (const float *)resultValues));
QMatrix4x4 m2;
m2.scale(x, y, z);
- QVERIFY(isSame(m2, (const qreal *)resultValues));
+ QVERIFY(isSame(m2, (const float *)resultValues));
if (z == 1.0f) {
QMatrix4x4 m2b;
@@ -2012,27 +2004,27 @@ void tst_QMatrixNxN::scale4x4()
QVector3D v1(2.0f, 3.0f, -4.0f);
QVector3D v2 = m1 * v1;
- QCOMPARE(v2.x(), (qreal)(2.0f * x));
- QCOMPARE(v2.y(), (qreal)(3.0f * y));
- QCOMPARE(v2.z(), (qreal)(-4.0f * z));
+ QCOMPARE(v2.x(), (float)(2.0f * x));
+ QCOMPARE(v2.y(), (float)(3.0f * y));
+ QCOMPARE(v2.z(), (float)(-4.0f * z));
v2 = v1 * m1;
- QCOMPARE(v2.x(), (qreal)(2.0f * x));
- QCOMPARE(v2.y(), (qreal)(3.0f * y));
- QCOMPARE(v2.z(), (qreal)(-4.0f * z));
+ QCOMPARE(v2.x(), (float)(2.0f * x));
+ QCOMPARE(v2.y(), (float)(3.0f * y));
+ QCOMPARE(v2.z(), (float)(-4.0f * z));
QVector4D v3(2.0f, 3.0f, -4.0f, 34.0f);
QVector4D v4 = m1 * v3;
- QCOMPARE(v4.x(), (qreal)(2.0f * x));
- QCOMPARE(v4.y(), (qreal)(3.0f * y));
- QCOMPARE(v4.z(), (qreal)(-4.0f * z));
- QCOMPARE(v4.w(), (qreal)34.0f);
+ QCOMPARE(v4.x(), (float)(2.0f * x));
+ QCOMPARE(v4.y(), (float)(3.0f * y));
+ QCOMPARE(v4.z(), (float)(-4.0f * z));
+ QCOMPARE(v4.w(), (float)34.0f);
v4 = v3 * m1;
- QCOMPARE(v4.x(), (qreal)(2.0f * x));
- QCOMPARE(v4.y(), (qreal)(3.0f * y));
- QCOMPARE(v4.z(), (qreal)(-4.0f * z));
- QCOMPARE(v4.w(), (qreal)34.0f);
+ QCOMPARE(v4.x(), (float)(2.0f * x));
+ QCOMPARE(v4.y(), (float)(3.0f * y));
+ QCOMPARE(v4.z(), (float)(-4.0f * z));
+ QCOMPARE(v4.w(), (float)34.0f);
QPoint p1(2, 3);
QPoint p2 = m1 * p1;
@@ -2045,12 +2037,12 @@ void tst_QMatrixNxN::scale4x4()
QPointF p3(2.0f, 3.0f);
QPointF p4 = m1 * p3;
- QCOMPARE(p4.x(), (qreal)(2.0f * x));
- QCOMPARE(p4.y(), (qreal)(3.0f * y));
+ QCOMPARE(p4.x(), (float)(2.0f * x));
+ QCOMPARE(p4.y(), (float)(3.0f * y));
p4 = p3 * m1;
- QCOMPARE(p4.x(), (qreal)(2.0f * x));
- QCOMPARE(p4.y(), (qreal)(3.0f * y));
+ QCOMPARE(p4.x(), (float)(2.0f * x));
+ QCOMPARE(p4.y(), (float)(3.0f * y));
QMatrix4x4 m3(uniqueValues4);
QMatrix4x4 m4(m3);
@@ -2060,7 +2052,7 @@ void tst_QMatrixNxN::scale4x4()
if (x == y && y == z) {
QMatrix4x4 m5;
m5.scale(x);
- QVERIFY(isSame(m5, (const qreal *)resultValues));
+ QVERIFY(isSame(m5, (const float *)resultValues));
}
if (z == 1.0f) {
@@ -2074,81 +2066,81 @@ void tst_QMatrixNxN::scale4x4()
QMatrix4x4 m6;
m6(0, 0) = 1.0f;
m6.scale(QVector3D(x, y, z));
- QVERIFY(isSame(m6, (const qreal *)resultValues));
+ QVERIFY(isSame(m6, (const float *)resultValues));
QMatrix4x4 m7;
m7(0, 0) = 1.0f;
m7.scale(x, y, z);
- QVERIFY(isSame(m7, (const qreal *)resultValues));
+ QVERIFY(isSame(m7, (const float *)resultValues));
if (x == y && y == z) {
QMatrix4x4 m8;
m8(0, 0) = 1.0f;
m8.scale(x);
- QVERIFY(isSame(m8, (const qreal *)resultValues));
+ QVERIFY(isSame(m8, (const float *)resultValues));
m8.optimize();
m8.scale(1.0f);
- QVERIFY(isSame(m8, (const qreal *)resultValues));
+ QVERIFY(isSame(m8, (const float *)resultValues));
QMatrix4x4 m9;
m9.translate(0.0f, 0.0f, 0.0f);
m9.scale(x);
- QVERIFY(isSame(m9, (const qreal *)resultValues));
+ QVERIFY(isSame(m9, (const float *)resultValues));
}
}
// Test the generation and use of 4x4 translation matrices.
void tst_QMatrixNxN::translate4x4_data()
{
- QTest::addColumn<qreal>("x");
- QTest::addColumn<qreal>("y");
- QTest::addColumn<qreal>("z");
+ QTest::addColumn<float>("x");
+ QTest::addColumn<float>("y");
+ QTest::addColumn<float>("z");
QTest::addColumn<void *>("resultValues");
QTest::newRow("null")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (void *)identityValues4;
+ << (float)0.0f << (float)0.0f << (float)0.0f << (void *)identityValues4;
- static const qreal identityTranslate[] =
+ static const float identityTranslate[] =
{1.0f, 0.0f, 0.0f, 1.0f,
0.0f, 1.0f, 0.0f, 1.0f,
0.0f, 0.0f, 1.0f, 1.0f,
0.0f, 0.0f, 0.0f, 1.0f};
QTest::newRow("identity")
- << (qreal)1.0f << (qreal)1.0f << (qreal)1.0f << (void *)identityTranslate;
+ << (float)1.0f << (float)1.0f << (float)1.0f << (void *)identityTranslate;
- static const qreal complexTranslate[] =
+ static const float complexTranslate[] =
{1.0f, 0.0f, 0.0f, 2.0f,
0.0f, 1.0f, 0.0f, 11.0f,
0.0f, 0.0f, 1.0f, -6.5f,
0.0f, 0.0f, 0.0f, 1.0f};
QTest::newRow("complex")
- << (qreal)2.0f << (qreal)11.0f << (qreal)-6.5f << (void *)complexTranslate;
+ << (float)2.0f << (float)11.0f << (float)-6.5f << (void *)complexTranslate;
- static const qreal complexTranslate2D[] =
+ static const float complexTranslate2D[] =
{1.0f, 0.0f, 0.0f, 2.0f,
0.0f, 1.0f, 0.0f, -11.0f,
0.0f, 0.0f, 1.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f};
QTest::newRow("complex2D")
- << (qreal)2.0f << (qreal)-11.0f << (qreal)0.0f << (void *)complexTranslate2D;
+ << (float)2.0f << (float)-11.0f << (float)0.0f << (void *)complexTranslate2D;
}
void tst_QMatrixNxN::translate4x4()
{
- QFETCH(qreal, x);
- QFETCH(qreal, y);
- QFETCH(qreal, z);
+ QFETCH(float, x);
+ QFETCH(float, y);
+ QFETCH(float, z);
QFETCH(void *, resultValues);
- QMatrix4x4 result((const qreal *)resultValues);
+ QMatrix4x4 result((const float *)resultValues);
QMatrix4x4 m1;
m1.translate(QVector3D(x, y, z));
- QVERIFY(isSame(m1, (const qreal *)resultValues));
+ QVERIFY(isSame(m1, (const float *)resultValues));
QMatrix4x4 m2;
m2.translate(x, y, z);
- QVERIFY(isSame(m2, (const qreal *)resultValues));
+ QVERIFY(isSame(m2, (const float *)resultValues));
if (z == 0.0f) {
QMatrix4x4 m2b;
@@ -2158,23 +2150,23 @@ void tst_QMatrixNxN::translate4x4()
QVector3D v1(2.0f, 3.0f, -4.0f);
QVector3D v2 = m1 * v1;
- QCOMPARE(v2.x(), (qreal)(2.0f + x));
- QCOMPARE(v2.y(), (qreal)(3.0f + y));
- QCOMPARE(v2.z(), (qreal)(-4.0f + z));
+ QCOMPARE(v2.x(), (float)(2.0f + x));
+ QCOMPARE(v2.y(), (float)(3.0f + y));
+ QCOMPARE(v2.z(), (float)(-4.0f + z));
QVector4D v3(2.0f, 3.0f, -4.0f, 1.0f);
QVector4D v4 = m1 * v3;
- QCOMPARE(v4.x(), (qreal)(2.0f + x));
- QCOMPARE(v4.y(), (qreal)(3.0f + y));
- QCOMPARE(v4.z(), (qreal)(-4.0f + z));
- QCOMPARE(v4.w(), (qreal)1.0f);
+ QCOMPARE(v4.x(), (float)(2.0f + x));
+ QCOMPARE(v4.y(), (float)(3.0f + y));
+ QCOMPARE(v4.z(), (float)(-4.0f + z));
+ QCOMPARE(v4.w(), (float)1.0f);
QVector4D v5(2.0f, 3.0f, -4.0f, 34.0f);
QVector4D v6 = m1 * v5;
- QCOMPARE(v6.x(), (qreal)(2.0f + x * 34.0f));
- QCOMPARE(v6.y(), (qreal)(3.0f + y * 34.0f));
- QCOMPARE(v6.z(), (qreal)(-4.0f + z * 34.0f));
- QCOMPARE(v6.w(), (qreal)34.0f);
+ QCOMPARE(v6.x(), (float)(2.0f + x * 34.0f));
+ QCOMPARE(v6.y(), (float)(3.0f + y * 34.0f));
+ QCOMPARE(v6.z(), (float)(-4.0f + z * 34.0f));
+ QCOMPARE(v6.w(), (float)34.0f);
QPoint p1(2, 3);
QPoint p2 = m1 * p1;
@@ -2183,8 +2175,8 @@ void tst_QMatrixNxN::translate4x4()
QPointF p3(2.0f, 3.0f);
QPointF p4 = m1 * p3;
- QCOMPARE(p4.x(), (qreal)(2.0f + x));
- QCOMPARE(p4.y(), (qreal)(3.0f + y));
+ QCOMPARE(p4.x(), (float)(2.0f + x));
+ QCOMPARE(p4.y(), (float)(3.0f + y));
QMatrix4x4 m3(uniqueValues4);
QMatrix4x4 m4(m3);
@@ -2201,116 +2193,116 @@ void tst_QMatrixNxN::translate4x4()
// Test the generation and use of 4x4 rotation matrices.
void tst_QMatrixNxN::rotate4x4_data()
{
- QTest::addColumn<qreal>("angle");
- QTest::addColumn<qreal>("x");
- QTest::addColumn<qreal>("y");
- QTest::addColumn<qreal>("z");
+ QTest::addColumn<float>("angle");
+ QTest::addColumn<float>("x");
+ QTest::addColumn<float>("y");
+ QTest::addColumn<float>("z");
QTest::addColumn<void *>("resultValues");
- static const qreal nullRotate[] =
+ static const float nullRotate[] =
{0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f};
QTest::newRow("null")
- << (qreal)90.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
+ << (float)90.0f
+ << (float)0.0f << (float)0.0f << (float)0.0f
<< (void *)nullRotate;
- static const qreal noRotate[] =
+ static const float noRotate[] =
{1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f, 0.0f,
0.0f, 0.0f, 1.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f};
QTest::newRow("zerodegrees")
- << (qreal)0.0f
- << (qreal)2.0f << (qreal)3.0f << (qreal)-4.0f
+ << (float)0.0f
+ << (float)2.0f << (float)3.0f << (float)-4.0f
<< (void *)noRotate;
- static const qreal xRotate[] =
+ static const float xRotate[] =
{1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, -1.0f, 0.0f,
0.0f, 1.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f};
QTest::newRow("xrotate")
- << (qreal)90.0f
- << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f
+ << (float)90.0f
+ << (float)1.0f << (float)0.0f << (float)0.0f
<< (void *)xRotate;
- static const qreal xRotateNeg[] =
+ static const float xRotateNeg[] =
{1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 1.0f, 0.0f,
0.0f, -1.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f};
QTest::newRow("-xrotate")
- << (qreal)90.0f
- << (qreal)-1.0f << (qreal)0.0f << (qreal)0.0f
+ << (float)90.0f
+ << (float)-1.0f << (float)0.0f << (float)0.0f
<< (void *)xRotateNeg;
- static const qreal yRotate[] =
+ static const float yRotate[] =
{0.0f, 0.0f, 1.0f, 0.0f,
0.0f, 1.0f, 0.0f, 0.0f,
-1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f};
QTest::newRow("yrotate")
- << (qreal)90.0f
- << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f
+ << (float)90.0f
+ << (float)0.0f << (float)1.0f << (float)0.0f
<< (void *)yRotate;
- static const qreal yRotateNeg[] =
+ static const float yRotateNeg[] =
{0.0f, 0.0f, -1.0f, 0.0f,
0.0f, 1.0f, 0.0f, 0.0f,
1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f};
QTest::newRow("-yrotate")
- << (qreal)90.0f
- << (qreal)0.0f << (qreal)-1.0f << (qreal)0.0f
+ << (float)90.0f
+ << (float)0.0f << (float)-1.0f << (float)0.0f
<< (void *)yRotateNeg;
- static const qreal zRotate[] =
+ static const float zRotate[] =
{0.0f, -1.0f, 0.0f, 0.0f,
1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 1.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f};
QTest::newRow("zrotate")
- << (qreal)90.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f
+ << (float)90.0f
+ << (float)0.0f << (float)0.0f << (float)1.0f
<< (void *)zRotate;
- static const qreal zRotateNeg[] =
+ static const float zRotateNeg[] =
{0.0f, 1.0f, 0.0f, 0.0f,
-1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 1.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f};
QTest::newRow("-zrotate")
- << (qreal)90.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)-1.0f
+ << (float)90.0f
+ << (float)0.0f << (float)0.0f << (float)-1.0f
<< (void *)zRotateNeg;
// Algorithm from http://en.wikipedia.org/wiki/Rotation_matrix.
// Deliberately different from the one in the code for cross-checking.
- static qreal complexRotate[16];
- qreal x = 1.0f;
- qreal y = 2.0f;
- qreal z = -6.0f;
- qreal angle = -45.0f;
- qreal c = qCos(angle * M_PI / 180.0f);
- qreal s = qSin(angle * M_PI / 180.0f);
- qreal len = qSqrt(x * x + y * y + z * z);
- qreal xu = x / len;
- qreal yu = y / len;
- qreal zu = z / len;
- complexRotate[0] = (qreal)((1 - xu * xu) * c + xu * xu);
- complexRotate[1] = (qreal)(-zu * s - xu * yu * c + xu * yu);
- complexRotate[2] = (qreal)(yu * s - xu * zu * c + xu * zu);
+ static float complexRotate[16];
+ float x = 1.0f;
+ float y = 2.0f;
+ float z = -6.0f;
+ float angle = -45.0f;
+ float c = qCos(angle * M_PI / 180.0f);
+ float s = qSin(angle * M_PI / 180.0f);
+ float len = sqrtf(x * x + y * y + z * z);
+ float xu = x / len;
+ float yu = y / len;
+ float zu = z / len;
+ complexRotate[0] = (float)((1 - xu * xu) * c + xu * xu);
+ complexRotate[1] = (float)(-zu * s - xu * yu * c + xu * yu);
+ complexRotate[2] = (float)(yu * s - xu * zu * c + xu * zu);
complexRotate[3] = 0;
- complexRotate[4] = (qreal)(zu * s - xu * yu * c + xu * yu);
- complexRotate[5] = (qreal)((1 - yu * yu) * c + yu * yu);
- complexRotate[6] = (qreal)(-xu * s - yu * zu * c + yu * zu);
+ complexRotate[4] = (float)(zu * s - xu * yu * c + xu * yu);
+ complexRotate[5] = (float)((1 - yu * yu) * c + yu * yu);
+ complexRotate[6] = (float)(-xu * s - yu * zu * c + yu * zu);
complexRotate[7] = 0;
- complexRotate[8] = (qreal)(-yu * s - xu * zu * c + xu * zu);
- complexRotate[9] = (qreal)(xu * s - yu * zu * c + yu * zu);
- complexRotate[10] = (qreal)((1 - zu * zu) * c + zu * zu);
+ complexRotate[8] = (float)(-yu * s - xu * zu * c + xu * zu);
+ complexRotate[9] = (float)(xu * s - yu * zu * c + yu * zu);
+ complexRotate[10] = (float)((1 - zu * zu) * c + zu * zu);
complexRotate[11] = 0;
complexRotate[12] = 0;
complexRotate[13] = 0;
@@ -2318,25 +2310,25 @@ void tst_QMatrixNxN::rotate4x4_data()
complexRotate[15] = 1;
QTest::newRow("complex")
- << (qreal)angle
- << (qreal)x << (qreal)y << (qreal)z
+ << (float)angle
+ << (float)x << (float)y << (float)z
<< (void *)complexRotate;
}
void tst_QMatrixNxN::rotate4x4()
{
- QFETCH(qreal, angle);
- QFETCH(qreal, x);
- QFETCH(qreal, y);
- QFETCH(qreal, z);
+ QFETCH(float, angle);
+ QFETCH(float, x);
+ QFETCH(float, y);
+ QFETCH(float, z);
QFETCH(void *, resultValues);
QMatrix4x4 m1;
m1.rotate(angle, QVector3D(x, y, z));
- QVERIFY(isSame(m1, (const qreal *)resultValues));
+ QVERIFY(isSame(m1, (const float *)resultValues));
QMatrix4x4 m2;
m2.rotate(angle, x, y, z);
- QVERIFY(isSame(m2, (const qreal *)resultValues));
+ QVERIFY(isSame(m2, (const float *)resultValues));
QMatrix4x4 m3(uniqueValues4);
QMatrix4x4 m4(m3);
@@ -2347,40 +2339,40 @@ void tst_QMatrixNxN::rotate4x4()
if (x != 0 || y != 0 || z != 0) {
QMatrix4x4 m5;
m5.rotate(QQuaternion::fromAxisAndAngle(QVector3D(x, y, z), angle));
- QVERIFY(isSame(m5, (const qreal *)resultValues));
+ QVERIFY(isSame(m5, (const float *)resultValues));
}
#define ROTATE4(xin,yin,zin,win,xout,yout,zout,wout) \
do { \
- xout = ((const qreal *)resultValues)[0] * xin + \
- ((const qreal *)resultValues)[1] * yin + \
- ((const qreal *)resultValues)[2] * zin + \
- ((const qreal *)resultValues)[3] * win; \
- yout = ((const qreal *)resultValues)[4] * xin + \
- ((const qreal *)resultValues)[5] * yin + \
- ((const qreal *)resultValues)[6] * zin + \
- ((const qreal *)resultValues)[7] * win; \
- zout = ((const qreal *)resultValues)[8] * xin + \
- ((const qreal *)resultValues)[9] * yin + \
- ((const qreal *)resultValues)[10] * zin + \
- ((const qreal *)resultValues)[11] * win; \
- wout = ((const qreal *)resultValues)[12] * xin + \
- ((const qreal *)resultValues)[13] * yin + \
- ((const qreal *)resultValues)[14] * zin + \
- ((const qreal *)resultValues)[15] * win; \
+ xout = ((const float *)resultValues)[0] * xin + \
+ ((const float *)resultValues)[1] * yin + \
+ ((const float *)resultValues)[2] * zin + \
+ ((const float *)resultValues)[3] * win; \
+ yout = ((const float *)resultValues)[4] * xin + \
+ ((const float *)resultValues)[5] * yin + \
+ ((const float *)resultValues)[6] * zin + \
+ ((const float *)resultValues)[7] * win; \
+ zout = ((const float *)resultValues)[8] * xin + \
+ ((const float *)resultValues)[9] * yin + \
+ ((const float *)resultValues)[10] * zin + \
+ ((const float *)resultValues)[11] * win; \
+ wout = ((const float *)resultValues)[12] * xin + \
+ ((const float *)resultValues)[13] * yin + \
+ ((const float *)resultValues)[14] * zin + \
+ ((const float *)resultValues)[15] * win; \
} while (0)
// Rotate various test vectors using the straight-forward approach.
- qreal v1x, v1y, v1z, v1w;
+ float v1x, v1y, v1z, v1w;
ROTATE4(2.0f, 3.0f, -4.0f, 1.0f, v1x, v1y, v1z, v1w);
v1x /= v1w;
v1y /= v1w;
v1z /= v1w;
- qreal v3x, v3y, v3z, v3w;
+ float v3x, v3y, v3z, v3w;
ROTATE4(2.0f, 3.0f, -4.0f, 1.0f, v3x, v3y, v3z, v3w);
- qreal v5x, v5y, v5z, v5w;
+ float v5x, v5y, v5z, v5w;
ROTATE4(2.0f, 3.0f, -4.0f, 34.0f, v5x, v5y, v5z, v5w);
- qreal p1x, p1y, p1z, p1w;
+ float p1x, p1y, p1z, p1w;
ROTATE4(2.0f, 3.0f, 0.0f, 1.0f, p1x, p1y, p1z, p1w);
p1x /= p1w;
p1y /= p1w;
@@ -2388,23 +2380,23 @@ void tst_QMatrixNxN::rotate4x4()
QVector3D v1(2.0f, 3.0f, -4.0f);
QVector3D v2 = m1 * v1;
- QVERIFY(fuzzyCompare(v2.x(), v1x));
- QVERIFY(fuzzyCompare(v2.y(), v1y));
- QVERIFY(fuzzyCompare(v2.z(), v1z));
+ QVERIFY(qFuzzyCompare(v2.x(), v1x));
+ QVERIFY(qFuzzyCompare(v2.y(), v1y));
+ QVERIFY(qFuzzyCompare(v2.z(), v1z));
QVector4D v3(2.0f, 3.0f, -4.0f, 1.0f);
QVector4D v4 = m1 * v3;
- QVERIFY(fuzzyCompare(v4.x(), v3x));
- QVERIFY(fuzzyCompare(v4.y(), v3y));
- QVERIFY(fuzzyCompare(v4.z(), v3z));
- QVERIFY(fuzzyCompare(v4.w(), v3w));
+ QVERIFY(qFuzzyCompare(v4.x(), v3x));
+ QVERIFY(qFuzzyCompare(v4.y(), v3y));
+ QVERIFY(qFuzzyCompare(v4.z(), v3z));
+ QVERIFY(qFuzzyCompare(v4.w(), v3w));
QVector4D v5(2.0f, 3.0f, -4.0f, 34.0f);
QVector4D v6 = m1 * v5;
- QVERIFY(fuzzyCompare(v6.x(), v5x));
- QVERIFY(fuzzyCompare(v6.y(), v5y));
- QVERIFY(fuzzyCompare(v6.z(), v5z));
- QVERIFY(fuzzyCompare(v6.w(), v5w));
+ QVERIFY(qFuzzyCompare(v6.x(), v5x));
+ QVERIFY(qFuzzyCompare(v6.y(), v5y));
+ QVERIFY(qFuzzyCompare(v6.z(), v5z));
+ QVERIFY(qFuzzyCompare(v6.w(), v5w));
QPoint p1(2, 3);
QPoint p2 = m1 * p1;
@@ -2413,15 +2405,15 @@ void tst_QMatrixNxN::rotate4x4()
QPointF p3(2.0f, 3.0f);
QPointF p4 = m1 * p3;
- QVERIFY(fuzzyCompare(p4.x(), p1x));
- QVERIFY(fuzzyCompare(p4.y(), p1y));
+ QVERIFY(qFuzzyCompare(float(p4.x()), p1x));
+ QVERIFY(qFuzzyCompare(float(p4.y()), p1y));
if (x != 0 || y != 0 || z != 0) {
QQuaternion q = QQuaternion::fromAxisAndAngle(QVector3D(x, y, z), angle);
QVector3D vq = q.rotatedVector(v1);
- QVERIFY(fuzzyCompare(vq.x(), v1x));
- QVERIFY(fuzzyCompare(vq.y(), v1y));
- QVERIFY(fuzzyCompare(vq.z(), v1z));
+ QVERIFY(qFuzzyCompare(vq.x(), v1x));
+ QVERIFY(qFuzzyCompare(vq.y(), v1y));
+ QVERIFY(qFuzzyCompare(vq.z(), v1z));
}
}
@@ -2429,7 +2421,7 @@ static bool isSame(const QMatrix3x3& m1, const Matrix3& m2)
{
for (int row = 0; row < 3; ++row) {
for (int col = 0; col < 3; ++col) {
- if (!fuzzyCompare(m1(row, col), m2.v[row * 3 + col]))
+ if (!qFuzzyCompare(m1(row, col), m2.v[row * 3 + col]))
return false;
}
}
@@ -2446,37 +2438,37 @@ void tst_QMatrixNxN::normalMatrix_data()
QTest::newRow("unique")
<< (void *)uniqueValues4; // Not invertible because determinant == 0.
- static qreal const translateValues[16] =
+ static float const translateValues[16] =
{1.0f, 0.0f, 0.0f, 4.0f,
0.0f, 1.0f, 0.0f, 5.0f,
0.0f, 0.0f, 1.0f, -3.0f,
0.0f, 0.0f, 0.0f, 1.0f};
- static qreal const scaleValues[16] =
+ static float const scaleValues[16] =
{2.0f, 0.0f, 0.0f, 0.0f,
0.0f, 7.0f, 0.0f, 0.0f,
0.0f, 0.0f, 9.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f};
- static qreal const bothValues[16] =
+ static float const bothValues[16] =
{2.0f, 0.0f, 0.0f, 4.0f,
0.0f, 7.0f, 0.0f, 5.0f,
0.0f, 0.0f, 9.0f, -3.0f,
0.0f, 0.0f, 0.0f, 1.0f};
- static qreal const rotateValues[16] =
+ static float const rotateValues[16] =
{0.0f, 0.0f, 1.0f, 0.0f,
1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f};
- static qreal const nullScaleValues1[16] =
+ static float const nullScaleValues1[16] =
{0.0f, 0.0f, 0.0f, 4.0f,
0.0f, 7.0f, 0.0f, 5.0f,
0.0f, 0.0f, 9.0f, -3.0f,
0.0f, 0.0f, 0.0f, 1.0f};
- static qreal const nullScaleValues2[16] =
+ static float const nullScaleValues2[16] =
{2.0f, 0.0f, 0.0f, 4.0f,
0.0f, 0.0f, 0.0f, 5.0f,
0.0f, 0.0f, 9.0f, -3.0f,
0.0f, 0.0f, 0.0f, 1.0f};
- static qreal const nullScaleValues3[16] =
+ static float const nullScaleValues3[16] =
{2.0f, 0.0f, 0.0f, 4.0f,
0.0f, 7.0f, 0.0f, 5.0f,
0.0f, 0.0f, 0.0f, -3.0f,
@@ -2493,7 +2485,7 @@ void tst_QMatrixNxN::normalMatrix_data()
void tst_QMatrixNxN::normalMatrix()
{
QFETCH(void *, mValues);
- const qreal *values = (const qreal *)mValues;
+ const float *values = (const float *)mValues;
// Compute the expected answer the long way.
Matrix3 min;
@@ -2533,42 +2525,42 @@ void tst_QMatrixNxN::normalMatrix()
// Test optimized transformations on 4x4 matrices.
void tst_QMatrixNxN::optimizedTransforms()
{
- static qreal const translateValues[16] =
+ static float const translateValues[16] =
{1.0f, 0.0f, 0.0f, 4.0f,
0.0f, 1.0f, 0.0f, 5.0f,
0.0f, 0.0f, 1.0f, -3.0f,
0.0f, 0.0f, 0.0f, 1.0f};
- static qreal const translateDoubleValues[16] =
+ static float const translateDoubleValues[16] =
{1.0f, 0.0f, 0.0f, 8.0f,
0.0f, 1.0f, 0.0f, 10.0f,
0.0f, 0.0f, 1.0f, -6.0f,
0.0f, 0.0f, 0.0f, 1.0f};
- static qreal const scaleValues[16] =
+ static float const scaleValues[16] =
{2.0f, 0.0f, 0.0f, 0.0f,
0.0f, 7.0f, 0.0f, 0.0f,
0.0f, 0.0f, 9.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f};
- static qreal const scaleDoubleValues[16] =
+ static float const scaleDoubleValues[16] =
{4.0f, 0.0f, 0.0f, 0.0f,
0.0f, 49.0f, 0.0f, 0.0f,
0.0f, 0.0f, 81.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f};
- static qreal const bothValues[16] =
+ static float const bothValues[16] =
{2.0f, 0.0f, 0.0f, 4.0f,
0.0f, 7.0f, 0.0f, 5.0f,
0.0f, 0.0f, 9.0f, -3.0f,
0.0f, 0.0f, 0.0f, 1.0f};
- static qreal const bothReverseValues[16] =
+ static float const bothReverseValues[16] =
{2.0f, 0.0f, 0.0f, 4.0f * 2.0f,
0.0f, 7.0f, 0.0f, 5.0f * 7.0f,
0.0f, 0.0f, 9.0f, -3.0f * 9.0f,
0.0f, 0.0f, 0.0f, 1.0f};
- static qreal const bothThenTranslateValues[16] =
+ static float const bothThenTranslateValues[16] =
{2.0f, 0.0f, 0.0f, 4.0f + 2.0f * 4.0f,
0.0f, 7.0f, 0.0f, 5.0f + 7.0f * 5.0f,
0.0f, 0.0f, 9.0f, -3.0f + 9.0f * -3.0f,
0.0f, 0.0f, 0.0f, 1.0f};
- static qreal const bothThenScaleValues[16] =
+ static float const bothThenScaleValues[16] =
{4.0f, 0.0f, 0.0f, 4.0f,
0.0f, 49.0f, 0.0f, 5.0f,
0.0f, 0.0f, 81.0f, -3.0f,
@@ -2651,17 +2643,17 @@ void tst_QMatrixNxN::ortho()
QPointF p3 = m1 * QPointF(0, 150);
QPointF p4 = m1 * QPointF(300, 150);
QVector3D p5 = m1 * QVector3D(300, 150, 1);
- QVERIFY(fuzzyCompare(p1.x(), -1.0));
- QVERIFY(fuzzyCompare(p1.y(), 1.0));
- QVERIFY(fuzzyCompare(p2.x(), 1.0));
- QVERIFY(fuzzyCompare(p2.y(), 1.0));
- QVERIFY(fuzzyCompare(p3.x(), -1.0));
- QVERIFY(fuzzyCompare(p3.y(), -1.0));
- QVERIFY(fuzzyCompare(p4.x(), 1.0));
- QVERIFY(fuzzyCompare(p4.y(), -1.0));
- QVERIFY(fuzzyCompare(p5.x(), (qreal)1.0));
- QVERIFY(fuzzyCompare(p5.y(), (qreal)-1.0));
- QVERIFY(fuzzyCompare(p5.z(), (qreal)-1.0));
+ QVERIFY(qFuzzyCompare(float(p1.x()), -1.0f));
+ QVERIFY(qFuzzyCompare(float(p1.y()), 1.0f));
+ QVERIFY(qFuzzyCompare(float(p2.x()), 1.0f));
+ QVERIFY(qFuzzyCompare(float(p2.y()), 1.0f));
+ QVERIFY(qFuzzyCompare(float(p3.x()), -1.0f));
+ QVERIFY(qFuzzyCompare(float(p3.y()), -1.0f));
+ QVERIFY(qFuzzyCompare(float(p4.x()), 1.0f));
+ QVERIFY(qFuzzyCompare(float(p4.y()), -1.0f));
+ QVERIFY(qFuzzyCompare(float(p5.x()), 1.0f));
+ QVERIFY(qFuzzyCompare(float(p5.y()), -1.0f));
+ QVERIFY(qFuzzyCompare(float(p5.z()), -1.0f));
QMatrix4x4 m2;
m2.ortho(QRectF(0, 0, 300, 150));
@@ -2670,17 +2662,17 @@ void tst_QMatrixNxN::ortho()
p3 = m2 * QPointF(0, 150);
p4 = m2 * QPointF(300, 150);
p5 = m2 * QVector3D(300, 150, 1);
- QVERIFY(fuzzyCompare(p1.x(), -1.0));
- QVERIFY(fuzzyCompare(p1.y(), 1.0));
- QVERIFY(fuzzyCompare(p2.x(), 1.0));
- QVERIFY(fuzzyCompare(p2.y(), 1.0));
- QVERIFY(fuzzyCompare(p3.x(), -1.0));
- QVERIFY(fuzzyCompare(p3.y(), -1.0));
- QVERIFY(fuzzyCompare(p4.x(), 1.0));
- QVERIFY(fuzzyCompare(p4.y(), -1.0));
- QVERIFY(fuzzyCompare(p5.x(), (qreal)1.0));
- QVERIFY(fuzzyCompare(p5.y(), (qreal)-1.0));
- QVERIFY(fuzzyCompare(p5.z(), (qreal)-1.0));
+ QVERIFY(qFuzzyCompare(float(p1.x()), -1.0f));
+ QVERIFY(qFuzzyCompare(float(p1.y()), 1.0f));
+ QVERIFY(qFuzzyCompare(float(p2.x()), 1.0f));
+ QVERIFY(qFuzzyCompare(float(p2.y()), 1.0f));
+ QVERIFY(qFuzzyCompare(float(p3.x()), -1.0f));
+ QVERIFY(qFuzzyCompare(float(p3.y()), -1.0f));
+ QVERIFY(qFuzzyCompare(float(p4.x()), 1.0f));
+ QVERIFY(qFuzzyCompare(float(p4.y()), -1.0f));
+ QVERIFY(qFuzzyCompare(float(p5.x()), 1.0f));
+ QVERIFY(qFuzzyCompare(float(p5.y()), -1.0f));
+ QVERIFY(qFuzzyCompare(float(p5.z()), -1.0f));
QMatrix4x4 m3;
m3.ortho(0, 300, 150, 0, -1, 1);
@@ -2689,17 +2681,17 @@ void tst_QMatrixNxN::ortho()
p3 = m3 * QPointF(0, 150);
p4 = m3 * QPointF(300, 150);
p5 = m3 * QVector3D(300, 150, 1);
- QVERIFY(fuzzyCompare(p1.x(), -1.0));
- QVERIFY(fuzzyCompare(p1.y(), 1.0));
- QVERIFY(fuzzyCompare(p2.x(), 1.0));
- QVERIFY(fuzzyCompare(p2.y(), 1.0));
- QVERIFY(fuzzyCompare(p3.x(), -1.0));
- QVERIFY(fuzzyCompare(p3.y(), -1.0));
- QVERIFY(fuzzyCompare(p4.x(), 1.0));
- QVERIFY(fuzzyCompare(p4.y(), -1.0));
- QVERIFY(fuzzyCompare(p5.x(), (qreal)1.0));
- QVERIFY(fuzzyCompare(p5.y(), (qreal)-1.0));
- QVERIFY(fuzzyCompare(p5.z(), (qreal)-1.0));
+ QVERIFY(qFuzzyCompare(float(p1.x()), -1.0f));
+ QVERIFY(qFuzzyCompare(float(p1.y()), 1.0f));
+ QVERIFY(qFuzzyCompare(float(p2.x()), 1.0f));
+ QVERIFY(qFuzzyCompare(float(p2.y()), 1.0f));
+ QVERIFY(qFuzzyCompare(float(p3.x()), -1.0f));
+ QVERIFY(qFuzzyCompare(float(p3.y()), -1.0f));
+ QVERIFY(qFuzzyCompare(float(p4.x()), 1.0f));
+ QVERIFY(qFuzzyCompare(float(p4.y()), -1.0f));
+ QVERIFY(qFuzzyCompare(float(p5.x()), 1.0f));
+ QVERIFY(qFuzzyCompare(float(p5.y()), -1.0f));
+ QVERIFY(qFuzzyCompare(float(p5.z()), -1.0f));
QMatrix4x4 m4;
m4.ortho(0, 300, 150, 0, -2, 3);
@@ -2708,17 +2700,17 @@ void tst_QMatrixNxN::ortho()
p3 = m4 * QPointF(0, 150);
p4 = m4 * QPointF(300, 150);
p5 = m4 * QVector3D(300, 150, 1);
- QVERIFY(fuzzyCompare(p1.x(), -1.0));
- QVERIFY(fuzzyCompare(p1.y(), 1.0));
- QVERIFY(fuzzyCompare(p2.x(), 1.0));
- QVERIFY(fuzzyCompare(p2.y(), 1.0));
- QVERIFY(fuzzyCompare(p3.x(), -1.0));
- QVERIFY(fuzzyCompare(p3.y(), -1.0));
- QVERIFY(fuzzyCompare(p4.x(), 1.0));
- QVERIFY(fuzzyCompare(p4.y(), -1.0));
- QVERIFY(fuzzyCompare(p5.x(), (qreal)1.0));
- QVERIFY(fuzzyCompare(p5.y(), (qreal)-1.0));
- QVERIFY(fuzzyCompare(p5.z(), (qreal)-0.6));
+ QVERIFY(qFuzzyCompare(float(p1.x()), -1.0f));
+ QVERIFY(qFuzzyCompare(float(p1.y()), 1.0f));
+ QVERIFY(qFuzzyCompare(float(p2.x()), 1.0f));
+ QVERIFY(qFuzzyCompare(float(p2.y()), 1.0f));
+ QVERIFY(qFuzzyCompare(float(p3.x()), -1.0f));
+ QVERIFY(qFuzzyCompare(float(p3.y()), -1.0f));
+ QVERIFY(qFuzzyCompare(float(p4.x()), 1.0f));
+ QVERIFY(qFuzzyCompare(float(p4.y()), -1.0f));
+ QVERIFY(qFuzzyCompare(float(p5.x()), 1.0f));
+ QVERIFY(qFuzzyCompare(float(p5.y()), -1.0f));
+ QVERIFY(qFuzzyCompare(float(p5.z()), -0.6f));
// An empty view volume should leave the matrix alone.
QMatrix4x4 m5;
@@ -2740,21 +2732,21 @@ void tst_QMatrixNxN::frustum()
QVector3D p3 = m1 * QVector3D(-1.0f, 1.0f, 1.0f);
QVector3D p4 = m1 * QVector3D(1.0f, 1.0f, 1.0f);
QVector3D p5 = m1 * QVector3D(0.0f, 0.0f, 2.0f);
- QVERIFY(fuzzyCompare(p1.x(), -1.0f));
- QVERIFY(fuzzyCompare(p1.y(), -1.0f));
- QVERIFY(fuzzyCompare(p1.z(), -1.0f));
- QVERIFY(fuzzyCompare(p2.x(), 1.0f));
- QVERIFY(fuzzyCompare(p2.y(), -1.0f));
- QVERIFY(fuzzyCompare(p2.z(), -1.0f));
- QVERIFY(fuzzyCompare(p3.x(), -1.0f));
- QVERIFY(fuzzyCompare(p3.y(), 1.0f));
- QVERIFY(fuzzyCompare(p3.z(), -1.0f));
- QVERIFY(fuzzyCompare(p4.x(), 1.0f));
- QVERIFY(fuzzyCompare(p4.y(), 1.0f));
- QVERIFY(fuzzyCompare(p4.z(), -1.0f));
- QVERIFY(fuzzyCompare(p5.x(), 0.0f));
- QVERIFY(fuzzyCompare(p5.y(), 0.0f));
- QVERIFY(fuzzyCompare(p5.z(), -0.5f));
+ QVERIFY(qFuzzyCompare(p1.x(), -1.0f));
+ QVERIFY(qFuzzyCompare(p1.y(), -1.0f));
+ QVERIFY(qFuzzyCompare(p1.z(), -1.0f));
+ QVERIFY(qFuzzyCompare(p2.x(), 1.0f));
+ QVERIFY(qFuzzyCompare(p2.y(), -1.0f));
+ QVERIFY(qFuzzyCompare(p2.z(), -1.0f));
+ QVERIFY(qFuzzyCompare(p3.x(), -1.0f));
+ QVERIFY(qFuzzyCompare(p3.y(), 1.0f));
+ QVERIFY(qFuzzyCompare(p3.z(), -1.0f));
+ QVERIFY(qFuzzyCompare(p4.x(), 1.0f));
+ QVERIFY(qFuzzyCompare(p4.y(), 1.0f));
+ QVERIFY(qFuzzyCompare(p4.z(), -1.0f));
+ QVERIFY(qFuzzyCompare(p5.x(), 0.0f));
+ QVERIFY(qFuzzyCompare(p5.y(), 0.0f));
+ QVERIFY(qFuzzyCompare(p5.z(), -0.5f));
// An empty view volume should leave the matrix alone.
QMatrix4x4 m5;
@@ -2776,21 +2768,21 @@ void tst_QMatrixNxN::perspective()
QVector3D p3 = m1 * QVector3D(-1.0f, 1.0f, 1.0f);
QVector3D p4 = m1 * QVector3D(1.0f, 1.0f, 1.0f);
QVector3D p5 = m1 * QVector3D(0.0f, 0.0f, 2.0f);
- QVERIFY(fuzzyCompare(p1.x(), 2.41421));
- QVERIFY(fuzzyCompare(p1.y(), 2.41421));
- QVERIFY(fuzzyCompare(p1.z(), -1));
- QVERIFY(fuzzyCompare(p2.x(), -2.41421));
- QVERIFY(fuzzyCompare(p2.y(), 2.41421));
- QVERIFY(fuzzyCompare(p2.z(), -1.0f));
- QVERIFY(fuzzyCompare(p3.x(), 2.41421));
- QVERIFY(fuzzyCompare(p3.y(), -2.41421));
- QVERIFY(fuzzyCompare(p3.z(), -1.0f));
- QVERIFY(fuzzyCompare(p4.x(), -2.41421));
- QVERIFY(fuzzyCompare(p4.y(), -2.41421));
- QVERIFY(fuzzyCompare(p4.z(), -1.0f));
- QVERIFY(fuzzyCompare(p5.x(), 0.0f));
- QVERIFY(fuzzyCompare(p5.y(), 0.0f));
- QVERIFY(fuzzyCompare(p5.z(), -0.5f));
+ QVERIFY(qFuzzyCompare(p1.x(), 2.41421f));
+ QVERIFY(qFuzzyCompare(p1.y(), 2.41421f));
+ QVERIFY(qFuzzyCompare(p1.z(), -1.0f));
+ QVERIFY(qFuzzyCompare(p2.x(), -2.41421f));
+ QVERIFY(qFuzzyCompare(p2.y(), 2.41421f));
+ QVERIFY(qFuzzyCompare(p2.z(), -1.0f));
+ QVERIFY(qFuzzyCompare(p3.x(), 2.41421f));
+ QVERIFY(qFuzzyCompare(p3.y(), -2.41421f));
+ QVERIFY(qFuzzyCompare(p3.z(), -1.0f));
+ QVERIFY(qFuzzyCompare(p4.x(), -2.41421f));
+ QVERIFY(qFuzzyCompare(p4.y(), -2.41421f));
+ QVERIFY(qFuzzyCompare(p4.z(), -1.0f));
+ QVERIFY(qFuzzyCompare(p5.x(), 0.0f));
+ QVERIFY(qFuzzyCompare(p5.y(), 0.0f));
+ QVERIFY(qFuzzyCompare(p5.z(), -0.5f));
// An empty view volume should leave the matrix alone.
QMatrix4x4 m5;
@@ -2834,7 +2826,7 @@ void tst_QMatrixNxN::convertGeneric()
{
QMatrix4x3 m1(uniqueValues4x3);
- static qreal const unique4x4[16] = {
+ static float const unique4x4[16] = {
1.0f, 2.0f, 3.0f, 4.0f,
5.0f, 6.0f, 7.0f, 8.0f,
9.0f, 10.0f, 11.0f, 12.0f,
@@ -2846,7 +2838,7 @@ void tst_QMatrixNxN::convertGeneric()
QMatrix4x4 m5 = qGenericMatrixToMatrix4x4(m1);
QVERIFY(isSame(m5, unique4x4));
- static qreal const conv4x4[12] = {
+ static float const conv4x4[12] = {
1.0f, 2.0f, 3.0f, 4.0f,
5.0f, 6.0f, 7.0f, 8.0f,
9.0f, 10.0f, 11.0f, 12.0f
@@ -2874,7 +2866,7 @@ enum {
// Structure that allows direct access to "flagBits" for testing.
struct Matrix4x4
{
- qreal m[4][4];
+ float m[4][4];
int flagBits;
};
@@ -2891,7 +2883,7 @@ void tst_QMatrixNxN::optimize_data()
QTest::newRow("unique")
<< (void *)uniqueValues4 << (int)General;
- static qreal scaleValues[16] = {
+ static float scaleValues[16] = {
2.0f, 0.0f, 0.0f, 0.0f,
0.0f, 3.0f, 0.0f, 0.0f,
0.0f, 0.0f, 4.0f, 0.0f,
@@ -2900,7 +2892,7 @@ void tst_QMatrixNxN::optimize_data()
QTest::newRow("scale")
<< (void *)scaleValues << (int)Scale;
- static qreal translateValues[16] = {
+ static float translateValues[16] = {
1.0f, 0.0f, 0.0f, 2.0f,
0.0f, 1.0f, 0.0f, 3.0f,
0.0f, 0.0f, 1.0f, 4.0f,
@@ -2909,7 +2901,7 @@ void tst_QMatrixNxN::optimize_data()
QTest::newRow("translate")
<< (void *)translateValues << (int)Translation;
- static qreal scaleTranslateValues[16] = {
+ static float scaleTranslateValues[16] = {
1.0f, 0.0f, 0.0f, 2.0f,
0.0f, 2.0f, 0.0f, 0.0f,
0.0f, 0.0f, 1.0f, 4.0f,
@@ -2918,7 +2910,7 @@ void tst_QMatrixNxN::optimize_data()
QTest::newRow("scaleTranslate")
<< (void *)scaleTranslateValues << (int)(Scale | Translation);
- static qreal rotateValues[16] = {
+ static float rotateValues[16] = {
0.0f, 1.0f, 0.0f, 0.0f,
-1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 1.0f, 0.0f,
@@ -2928,7 +2920,7 @@ void tst_QMatrixNxN::optimize_data()
<< (void *)rotateValues << (int)Rotation2D;
// Left-handed system, not a simple rotation.
- static qreal scaleRotateValues[16] = {
+ static float scaleRotateValues[16] = {
0.0f, 1.0f, 0.0f, 0.0f,
1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 1.0f, 0.0f,
@@ -2937,7 +2929,7 @@ void tst_QMatrixNxN::optimize_data()
QTest::newRow("scaleRotate")
<< (void *)scaleRotateValues << (int)(Scale | Rotation2D);
- static qreal matrix2x2Values[16] = {
+ static float matrix2x2Values[16] = {
1.0f, 2.0f, 0.0f, 0.0f,
8.0f, 3.0f, 0.0f, 0.0f,
0.0f, 0.0f, 9.0f, 0.0f,
@@ -2946,7 +2938,7 @@ void tst_QMatrixNxN::optimize_data()
QTest::newRow("matrix2x2")
<< (void *)matrix2x2Values << (int)(Scale | Rotation2D);
- static qreal matrix3x3Values[16] = {
+ static float matrix3x3Values[16] = {
1.0f, 2.0f, 4.0f, 0.0f,
8.0f, 3.0f, 5.0f, 0.0f,
6.0f, 7.0f, 9.0f, 0.0f,
@@ -2955,7 +2947,7 @@ void tst_QMatrixNxN::optimize_data()
QTest::newRow("matrix3x3")
<< (void *)matrix3x3Values << (int)(Scale | Rotation2D | Rotation);
- static qreal rotateTranslateValues[16] = {
+ static float rotateTranslateValues[16] = {
0.0f, 1.0f, 0.0f, 1.0f,
-1.0f, 0.0f, 0.0f, 2.0f,
0.0f, 0.0f, 1.0f, 3.0f,
@@ -2965,7 +2957,7 @@ void tst_QMatrixNxN::optimize_data()
<< (void *)rotateTranslateValues << (int)(Translation | Rotation2D);
// Left-handed system, not a simple rotation.
- static qreal scaleRotateTranslateValues[16] = {
+ static float scaleRotateTranslateValues[16] = {
0.0f, 1.0f, 0.0f, 1.0f,
1.0f, 0.0f, 0.0f, 2.0f,
0.0f, 0.0f, 1.0f, 3.0f,
@@ -2974,7 +2966,7 @@ void tst_QMatrixNxN::optimize_data()
QTest::newRow("scaleRotateTranslate")
<< (void *)scaleRotateTranslateValues << (int)(Translation | Scale | Rotation2D);
- static qreal belowValues[16] = {
+ static float belowValues[16] = {
1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f, 0.0f,
0.0f, 0.0f, 1.0f, 0.0f,
@@ -2988,7 +2980,7 @@ void tst_QMatrixNxN::optimize()
QFETCH(void *, mValues);
QFETCH(int, flagBits);
- QMatrix4x4 m((const qreal *)mValues);
+ QMatrix4x4 m((const float *)mValues);
m.optimize();
QCOMPARE(reinterpret_cast<Matrix4x4 *>(&m)->flagBits, flagBits);
@@ -3074,16 +3066,16 @@ void tst_QMatrixNxN::convertQMatrix()
QMatrix4x4 m6(m5);
QPointF p6 = m6 * QPointF(100.0, 150.0);
- QVERIFY(fuzzyCompare(p5.x(), p6.x()));
- QVERIFY(fuzzyCompare(p5.y(), p6.y()));
+ QVERIFY(qFuzzyCompare(float(p5.x()), float(p6.x())));
+ QVERIFY(qFuzzyCompare(float(p5.y()), float(p6.y())));
QMatrix m7 = m6.toAffine();
- QVERIFY(fuzzyCompare(m5.m11(), m7.m11()));
- QVERIFY(fuzzyCompare(m5.m12(), m7.m12()));
- QVERIFY(fuzzyCompare(m5.m21(), m7.m21()));
- QVERIFY(fuzzyCompare(m5.m22(), m7.m22()));
- QVERIFY(fuzzyCompare(m5.dx(), m7.dx()));
- QVERIFY(fuzzyCompare(m5.dy(), m7.dy()));
+ QVERIFY(qFuzzyCompare(float(m5.m11()), float(m7.m11())));
+ QVERIFY(qFuzzyCompare(float(m5.m12()), float(m7.m12())));
+ QVERIFY(qFuzzyCompare(float(m5.m21()), float(m7.m21())));
+ QVERIFY(qFuzzyCompare(float(m5.m22()), float(m7.m22())));
+ QVERIFY(qFuzzyCompare(float(m5.dx()), float(m7.dx())));
+ QVERIFY(qFuzzyCompare(float(m5.dy()), float(m7.dy())));
}
// Test converting QTransform objects into QMatrix4x4 and then
@@ -3121,19 +3113,19 @@ void tst_QMatrixNxN::convertQTransform()
QMatrix4x4 m6(m5);
QPointF p6 = m6 * QPointF(100.0, 150.0);
- QVERIFY(fuzzyCompare(p5.x(), p6.x()));
- QVERIFY(fuzzyCompare(p5.y(), p6.y()));
+ QVERIFY(qFuzzyCompare(float(p5.x()), float(p6.x())));
+ QVERIFY(qFuzzyCompare(float(p5.y()), float(p6.y())));
QTransform m7 = m6.toTransform();
- QVERIFY(fuzzyCompare(m5.m11(), m7.m11()));
- QVERIFY(fuzzyCompare(m5.m12(), m7.m12()));
- QVERIFY(fuzzyCompare(m5.m21(), m7.m21()));
- QVERIFY(fuzzyCompare(m5.m22(), m7.m22()));
- QVERIFY(fuzzyCompare(m5.dx(), m7.dx()));
- QVERIFY(fuzzyCompare(m5.dy(), m7.dy()));
- QVERIFY(fuzzyCompare(m5.m13(), m7.m13()));
- QVERIFY(fuzzyCompare(m5.m23(), m7.m23()));
- QVERIFY(fuzzyCompare(m5.m33(), m7.m33()));
+ QVERIFY(qFuzzyCompare(float(m5.m11()), float(m7.m11())));
+ QVERIFY(qFuzzyCompare(float(m5.m12()), float(m7.m12())));
+ QVERIFY(qFuzzyCompare(float(m5.m21()), float(m7.m21())));
+ QVERIFY(qFuzzyCompare(float(m5.m22()), float(m7.m22())));
+ QVERIFY(qFuzzyCompare(float(m5.dx()), float(m7.dx())));
+ QVERIFY(qFuzzyCompare(float(m5.dy()), float(m7.dy())));
+ QVERIFY(qFuzzyCompare(float(m5.m13()), float(m7.m13())));
+ QVERIFY(qFuzzyCompare(float(m5.m23()), float(m7.m23())));
+ QVERIFY(qFuzzyCompare(float(m5.m33()), float(m7.m33())));
}
// Test filling matrices with specific values.
@@ -3143,7 +3135,7 @@ void tst_QMatrixNxN::fill()
m1.fill(0.0f);
QVERIFY(isSame(m1, nullValues4));
- static const qreal fillValues4[] =
+ static const float fillValues4[] =
{2.5f, 2.5f, 2.5f, 2.5f,
2.5f, 2.5f, 2.5f, 2.5f,
2.5f, 2.5f, 2.5f, 2.5f,
@@ -3155,7 +3147,7 @@ void tst_QMatrixNxN::fill()
m2.fill(0.0f);
QVERIFY(isSame(m2, nullValues4x3));
- static const qreal fillValues4x3[] =
+ static const float fillValues4x3[] =
{2.5f, 2.5f, 2.5f, 2.5f,
2.5f, 2.5f, 2.5f, 2.5f,
2.5f, 2.5f, 2.5f, 2.5f};
@@ -3166,22 +3158,22 @@ void tst_QMatrixNxN::fill()
// Test the mapRect() function for QRect and QRectF.
void tst_QMatrixNxN::mapRect_data()
{
- QTest::addColumn<qreal>("x");
- QTest::addColumn<qreal>("y");
- QTest::addColumn<qreal>("width");
- QTest::addColumn<qreal>("height");
+ QTest::addColumn<float>("x");
+ QTest::addColumn<float>("y");
+ QTest::addColumn<float>("width");
+ QTest::addColumn<float>("height");
QTest::newRow("null")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f;
+ << (float)0.0f << (float)0.0f << (float)0.0f << (float)0.0f;
QTest::newRow("rect")
- << (qreal)1.0f << (qreal)-20.5f << (qreal)100.0f << (qreal)63.75f;
+ << (float)1.0f << (float)-20.5f << (float)100.0f << (float)63.75f;
}
void tst_QMatrixNxN::mapRect()
{
- QFETCH(qreal, x);
- QFETCH(qreal, y);
- QFETCH(qreal, width);
- QFETCH(qreal, height);
+ QFETCH(float, x);
+ QFETCH(float, y);
+ QFETCH(float, width);
+ QFETCH(float, height);
QRectF rect(x, y, width, height);
QRect recti(qRound(x), qRound(y), qRound(width), qRound(height));
@@ -3200,10 +3192,10 @@ void tst_QMatrixNxN::mapRect()
QMatrix4x4 m3;
m3.scale(-100.5f, 64.0f);
- qreal scalex = x * -100.5f;
- qreal scaley = y * 64.0f;
- qreal scalewid = width * -100.5f;
- qreal scaleht = height * 64.0f;
+ float scalex = x * -100.5f;
+ float scaley = y * 64.0f;
+ float scalewid = width * -100.5f;
+ float scaleht = height * 64.0f;
if (scalewid < 0.0f) {
scalewid = -scalewid;
scalex -= scalewid;
@@ -3233,10 +3225,10 @@ void tst_QMatrixNxN::mapRect()
QMatrix4x4 m4;
m4.translate(-100.5f, 64.0f);
m4.scale(-2.5f, 4.0f);
- qreal transx1 = x * -2.5f - 100.5f;
- qreal transy1 = y * 4.0f + 64.0f;
- qreal transx2 = (x + width) * -2.5f - 100.5f;
- qreal transy2 = (y + height) * 4.0f + 64.0f;
+ float transx1 = x * -2.5f - 100.5f;
+ float transy1 = y * 4.0f + 64.0f;
+ float transx2 = (x + width) * -2.5f - 100.5f;
+ float transy2 = (y + height) * 4.0f + 64.0f;
if (transx1 > transx2)
qSwap(transx1, transx2);
if (transy1 > transy2)
@@ -3264,10 +3256,10 @@ void tst_QMatrixNxN::mapRect()
t4.rotate(45.0f);
QRectF mr = m4.mapRect(rect);
QRectF tr = t4.mapRect(rect);
- QVERIFY(fuzzyCompare(mr.x(), tr.x()));
- QVERIFY(fuzzyCompare(mr.y(), tr.y()));
- QVERIFY(fuzzyCompare(mr.width(), tr.width()));
- QVERIFY(fuzzyCompare(mr.height(), tr.height()));
+ QVERIFY(qFuzzyCompare(float(mr.x()), float(tr.x())));
+ QVERIFY(qFuzzyCompare(float(mr.y()), float(tr.y())));
+ QVERIFY(qFuzzyCompare(float(mr.width()), float(tr.width())));
+ QVERIFY(qFuzzyCompare(float(mr.height()), float(tr.height())));
QRect mri = m4.mapRect(recti);
QRect tri = t4.mapRect(recti);
@@ -3287,7 +3279,7 @@ void tst_QMatrixNxN::mapVector_data()
QTest::newRow("unique")
<< (void *)uniqueValues4;
- static const qreal scale[] =
+ static const float scale[] =
{2.0f, 0.0f, 0.0f, 0.0f,
0.0f, 11.0f, 0.0f, 0.0f,
0.0f, 0.0f, -6.5f, 0.0f,
@@ -3295,7 +3287,7 @@ void tst_QMatrixNxN::mapVector_data()
QTest::newRow("scale")
<< (void *)scale;
- static const qreal scaleTranslate[] =
+ static const float scaleTranslate[] =
{2.0f, 0.0f, 0.0f, 1.0f,
0.0f, 11.0f, 0.0f, 2.0f,
0.0f, 0.0f, -6.5f, 3.0f,
@@ -3303,7 +3295,7 @@ void tst_QMatrixNxN::mapVector_data()
QTest::newRow("scaleTranslate")
<< (void *)scaleTranslate;
- static const qreal translate[] =
+ static const float translate[] =
{1.0f, 0.0f, 0.0f, 1.0f,
0.0f, 1.0f, 0.0f, 2.0f,
0.0f, 0.0f, 1.0f, 3.0f,
@@ -3315,7 +3307,7 @@ void tst_QMatrixNxN::mapVector()
{
QFETCH(void *, mValues);
- QMatrix4x4 m1((const qreal *)mValues);
+ QMatrix4x4 m1((const float *)mValues);
QVector3D v(3.5f, -1.0f, 2.5f);
@@ -3328,12 +3320,12 @@ void tst_QMatrixNxN::mapVector()
m1.optimize();
QVector3D actual2 = m1.mapVector(v);
- QVERIFY(fuzzyCompare(actual.x(), expected.x()));
- QVERIFY(fuzzyCompare(actual.y(), expected.y()));
- QVERIFY(fuzzyCompare(actual.z(), expected.z()));
- QVERIFY(fuzzyCompare(actual2.x(), expected.x()));
- QVERIFY(fuzzyCompare(actual2.y(), expected.y()));
- QVERIFY(fuzzyCompare(actual2.z(), expected.z()));
+ QVERIFY(qFuzzyCompare(actual.x(), expected.x()));
+ QVERIFY(qFuzzyCompare(actual.y(), expected.y()));
+ QVERIFY(qFuzzyCompare(actual.z(), expected.z()));
+ QVERIFY(qFuzzyCompare(actual2.x(), expected.x()));
+ QVERIFY(qFuzzyCompare(actual2.y(), expected.y()));
+ QVERIFY(qFuzzyCompare(actual2.z(), expected.z()));
}
class tst_QMatrixNxN4x4Properties : public QObject
diff --git a/tests/auto/gui/math3d/qquaternion/tst_qquaternion.cpp b/tests/auto/gui/math3d/qquaternion/tst_qquaternion.cpp
index f42cc30fb1..35576518d7 100644
--- a/tests/auto/gui/math3d/qquaternion/tst_qquaternion.cpp
+++ b/tests/auto/gui/math3d/qquaternion/tst_qquaternion.cpp
@@ -98,113 +98,106 @@ private slots:
void metaTypes();
};
-// QVector3D uses float internally, which can lead to some precision
-// issues when using it with the qreal-based QQuaternion.
-static bool fuzzyCompare(qreal x, qreal y)
-{
- return qFuzzyIsNull(float(x - y));
-}
-
// Test the creation of QQuaternion objects in various ways:
// construct, copy, and modify.
void tst_QQuaternion::create()
{
QQuaternion identity;
- QCOMPARE(identity.x(), (qreal)0.0f);
- QCOMPARE(identity.y(), (qreal)0.0f);
- QCOMPARE(identity.z(), (qreal)0.0f);
- QCOMPARE(identity.scalar(), (qreal)1.0f);
+ QCOMPARE(identity.x(), 0.0f);
+ QCOMPARE(identity.y(), 0.0f);
+ QCOMPARE(identity.z(), 0.0f);
+ QCOMPARE(identity.scalar(), 1.0f);
QVERIFY(identity.isIdentity());
- QQuaternion negativeZeroIdentity(qreal(1.0), qreal(-0.0), qreal(-0.0), qreal(-0.0));
- QCOMPARE(negativeZeroIdentity.x(), qreal(-0.0));
- QCOMPARE(negativeZeroIdentity.y(), qreal(-0.0));
- QCOMPARE(negativeZeroIdentity.z(), qreal(-0.0));
- QCOMPARE(negativeZeroIdentity.scalar(), qreal(1.0));
+ QQuaternion negativeZeroIdentity(1.0f, -0.0f, -0.0f, -0.0f);
+ QCOMPARE(negativeZeroIdentity.x(), -0.0f);
+ QCOMPARE(negativeZeroIdentity.y(), -0.0f);
+ QCOMPARE(negativeZeroIdentity.z(), -0.0f);
+ QCOMPARE(negativeZeroIdentity.scalar(), 1.0f);
QVERIFY(negativeZeroIdentity.isIdentity());
QQuaternion v1(34.0f, 1.0f, 2.5f, -89.25f);
- QCOMPARE(v1.x(), (qreal)1.0f);
- QCOMPARE(v1.y(), (qreal)2.5f);
- QCOMPARE(v1.z(), (qreal)-89.25f);
- QCOMPARE(v1.scalar(), (qreal)34.0f);
+ QCOMPARE(v1.x(), 1.0f);
+ QCOMPARE(v1.y(), 2.5f);
+ QCOMPARE(v1.z(), -89.25f);
+ QCOMPARE(v1.scalar(), 34.0f);
QVERIFY(!v1.isNull());
QQuaternion v1i(34, 1, 2, -89);
- QCOMPARE(v1i.x(), (qreal)1.0f);
- QCOMPARE(v1i.y(), (qreal)2.0f);
- QCOMPARE(v1i.z(), (qreal)-89.0f);
- QCOMPARE(v1i.scalar(), (qreal)34.0f);
+ QCOMPARE(v1i.x(), 1.0f);
+ QCOMPARE(v1i.y(), 2.0f);
+ QCOMPARE(v1i.z(), -89.0f);
+ QCOMPARE(v1i.scalar(), 34.0f);
QVERIFY(!v1i.isNull());
QQuaternion v2(v1);
- QCOMPARE(v2.x(), (qreal)1.0f);
- QCOMPARE(v2.y(), (qreal)2.5f);
- QCOMPARE(v2.z(), (qreal)-89.25f);
- QCOMPARE(v2.scalar(), (qreal)34.0f);
+ QCOMPARE(v2.x(), 1.0f);
+ QCOMPARE(v2.y(), 2.5f);
+ QCOMPARE(v2.z(), -89.25f);
+ QCOMPARE(v2.scalar(), 34.0f);
QVERIFY(!v2.isNull());
QQuaternion v4;
- QCOMPARE(v4.x(), (qreal)0.0f);
- QCOMPARE(v4.y(), (qreal)0.0f);
- QCOMPARE(v4.z(), (qreal)0.0f);
- QCOMPARE(v4.scalar(), (qreal)1.0f);
+ QCOMPARE(v4.x(), 0.0f);
+ QCOMPARE(v4.y(), 0.0f);
+ QCOMPARE(v4.z(), 0.0f);
+ QCOMPARE(v4.scalar(), 1.0f);
QVERIFY(v4.isIdentity());
v4 = v1;
- QCOMPARE(v4.x(), (qreal)1.0f);
- QCOMPARE(v4.y(), (qreal)2.5f);
- QCOMPARE(v4.z(), (qreal)-89.25f);
- QCOMPARE(v4.scalar(), (qreal)34.0f);
+ QCOMPARE(v4.x(), 1.0f);
+ QCOMPARE(v4.y(), 2.5f);
+ QCOMPARE(v4.z(), -89.25f);
+ QCOMPARE(v4.scalar(), 34.0f);
QVERIFY(!v4.isNull());
QQuaternion v9(34, QVector3D(1.0f, 2.5f, -89.25f));
- QCOMPARE(v9.x(), (qreal)1.0f);
- QCOMPARE(v9.y(), (qreal)2.5f);
- QCOMPARE(v9.z(), (qreal)-89.25f);
- QCOMPARE(v9.scalar(), (qreal)34.0f);
+ QCOMPARE(v9.x(), 1.0f);
+ QCOMPARE(v9.y(), 2.5f);
+ QCOMPARE(v9.z(), -89.25f);
+ QCOMPARE(v9.scalar(), 34.0f);
QVERIFY(!v9.isNull());
v1.setX(3.0f);
- QCOMPARE(v1.x(), (qreal)3.0f);
- QCOMPARE(v1.y(), (qreal)2.5f);
- QCOMPARE(v1.z(), (qreal)-89.25f);
- QCOMPARE(v1.scalar(), (qreal)34.0f);
+ QCOMPARE(v1.x(), 3.0f);
+ QCOMPARE(v1.y(), 2.5f);
+ QCOMPARE(v1.z(), -89.25f);
+ QCOMPARE(v1.scalar(), 34.0f);
QVERIFY(!v1.isNull());
v1.setY(10.5f);
- QCOMPARE(v1.x(), (qreal)3.0f);
- QCOMPARE(v1.y(), (qreal)10.5f);
- QCOMPARE(v1.z(), (qreal)-89.25f);
- QCOMPARE(v1.scalar(), (qreal)34.0f);
+ QCOMPARE(v1.x(), 3.0f);
+ QCOMPARE(v1.y(), 10.5f);
+ QCOMPARE(v1.z(), -89.25f);
+ QCOMPARE(v1.scalar(), 34.0f);
QVERIFY(!v1.isNull());
v1.setZ(15.5f);
- QCOMPARE(v1.x(), (qreal)3.0f);
- QCOMPARE(v1.y(), (qreal)10.5f);
- QCOMPARE(v1.z(), (qreal)15.5f);
- QCOMPARE(v1.scalar(), (qreal)34.0f);
+ QCOMPARE(v1.x(), 3.0f);
+ QCOMPARE(v1.y(), 10.5f);
+ QCOMPARE(v1.z(), 15.5f);
+ QCOMPARE(v1.scalar(), 34.0f);
QVERIFY(!v1.isNull());
v1.setScalar(6.0f);
- QCOMPARE(v1.x(), (qreal)3.0f);
- QCOMPARE(v1.y(), (qreal)10.5f);
- QCOMPARE(v1.z(), (qreal)15.5f);
- QCOMPARE(v1.scalar(), (qreal)6.0f);
+ QCOMPARE(v1.x(), 3.0f);
+ QCOMPARE(v1.y(), 10.5f);
+ QCOMPARE(v1.z(), 15.5f);
+ QCOMPARE(v1.scalar(), 6.0f);
QVERIFY(!v1.isNull());
v1.setVector(2.0f, 6.5f, -1.25f);
- QCOMPARE(v1.x(), (qreal)2.0f);
- QCOMPARE(v1.y(), (qreal)6.5f);
- QCOMPARE(v1.z(), (qreal)-1.25f);
- QCOMPARE(v1.scalar(), (qreal)6.0f);
+ QCOMPARE(v1.x(), 2.0f);
+ QCOMPARE(v1.y(), 6.5f);
+ QCOMPARE(v1.z(), -1.25f);
+ QCOMPARE(v1.scalar(), 6.0f);
QVERIFY(!v1.isNull());
QVERIFY(v1.vector() == QVector3D(2.0f, 6.5f, -1.25f));
v1.setVector(QVector3D(-2.0f, -6.5f, 1.25f));
- QCOMPARE(v1.x(), (qreal)-2.0f);
- QCOMPARE(v1.y(), (qreal)-6.5f);
- QCOMPARE(v1.z(), (qreal)1.25f);
- QCOMPARE(v1.scalar(), (qreal)6.0f);
+ QCOMPARE(v1.x(), -2.0f);
+ QCOMPARE(v1.y(), -6.5f);
+ QCOMPARE(v1.z(), 1.25f);
+ QCOMPARE(v1.scalar(), 6.0f);
QVERIFY(!v1.isNull());
QVERIFY(v1.vector() == QVector3D(-2.0f, -6.5f, 1.25f));
@@ -212,46 +205,46 @@ void tst_QQuaternion::create()
v1.setY(0.0f);
v1.setZ(0.0f);
v1.setScalar(0.0f);
- QCOMPARE(v1.x(), (qreal)0.0f);
- QCOMPARE(v1.y(), (qreal)0.0f);
- QCOMPARE(v1.z(), (qreal)0.0f);
- QCOMPARE(v1.scalar(), (qreal)0.0f);
+ QCOMPARE(v1.x(), 0.0f);
+ QCOMPARE(v1.y(), 0.0f);
+ QCOMPARE(v1.z(), 0.0f);
+ QCOMPARE(v1.scalar(), 0.0f);
QVERIFY(v1.isNull());
QVector4D v10 = v9.toVector4D();
- QCOMPARE(v10.x(), (qreal)1.0f);
- QCOMPARE(v10.y(), (qreal)2.5f);
- QCOMPARE(v10.z(), (qreal)-89.25f);
- QCOMPARE(v10.w(), (qreal)34.0f);
+ QCOMPARE(v10.x(), 1.0f);
+ QCOMPARE(v10.y(), 2.5f);
+ QCOMPARE(v10.z(), -89.25f);
+ QCOMPARE(v10.w(), 34.0f);
}
// Test length computation for quaternions.
void tst_QQuaternion::length_data()
{
- QTest::addColumn<qreal>("x");
- QTest::addColumn<qreal>("y");
- QTest::addColumn<qreal>("z");
- QTest::addColumn<qreal>("w");
- QTest::addColumn<qreal>("len");
-
- QTest::newRow("null") << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f;
- QTest::newRow("1x") << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f;
- QTest::newRow("1y") << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f;
- QTest::newRow("1z") << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)1.0f;
- QTest::newRow("1w") << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f << (qreal)1.0f;
- QTest::newRow("-1x") << (qreal)-1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f;
- QTest::newRow("-1y") << (qreal)0.0f << (qreal)-1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f;
- QTest::newRow("-1z") << (qreal)0.0f << (qreal)0.0f << (qreal)-1.0f << (qreal)0.0f << (qreal)1.0f;
- QTest::newRow("-1w") << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)-1.0f << (qreal)1.0f;
- QTest::newRow("two") << (qreal)2.0f << (qreal)-2.0f << (qreal)2.0f << (qreal)2.0f << (qreal)qSqrt(16.0f);
+ QTest::addColumn<float>("x");
+ QTest::addColumn<float>("y");
+ QTest::addColumn<float>("z");
+ QTest::addColumn<float>("w");
+ QTest::addColumn<float>("len");
+
+ QTest::newRow("null") << 0.0f << 0.0f << 0.0f << 0.0f << 0.0f;
+ QTest::newRow("1x") << 1.0f << 0.0f << 0.0f << 0.0f << 1.0f;
+ QTest::newRow("1y") << 0.0f << 1.0f << 0.0f << 0.0f << 1.0f;
+ QTest::newRow("1z") << 0.0f << 0.0f << 1.0f << 0.0f << 1.0f;
+ QTest::newRow("1w") << 0.0f << 0.0f << 0.0f << 1.0f << 1.0f;
+ QTest::newRow("-1x") << -1.0f << 0.0f << 0.0f << 0.0f << 1.0f;
+ QTest::newRow("-1y") << 0.0f << -1.0f << 0.0f << 0.0f << 1.0f;
+ QTest::newRow("-1z") << 0.0f << 0.0f << -1.0f << 0.0f << 1.0f;
+ QTest::newRow("-1w") << 0.0f << 0.0f << 0.0f << -1.0f << 1.0f;
+ QTest::newRow("two") << 2.0f << -2.0f << 2.0f << 2.0f << sqrtf(16.0f);
}
void tst_QQuaternion::length()
{
- QFETCH(qreal, x);
- QFETCH(qreal, y);
- QFETCH(qreal, z);
- QFETCH(qreal, w);
- QFETCH(qreal, len);
+ QFETCH(float, x);
+ QFETCH(float, y);
+ QFETCH(float, z);
+ QFETCH(float, w);
+ QFETCH(float, len);
QQuaternion v(w, x, y, z);
QCOMPARE(v.length(), len);
@@ -266,18 +259,18 @@ void tst_QQuaternion::normalized_data()
}
void tst_QQuaternion::normalized()
{
- QFETCH(qreal, x);
- QFETCH(qreal, y);
- QFETCH(qreal, z);
- QFETCH(qreal, w);
- QFETCH(qreal, len);
+ QFETCH(float, x);
+ QFETCH(float, y);
+ QFETCH(float, z);
+ QFETCH(float, w);
+ QFETCH(float, len);
QQuaternion v(w, x, y, z);
QQuaternion u = v.normalized();
if (v.isNull())
QVERIFY(u.isNull());
else
- QCOMPARE(u.length(), qreal(1.0f));
+ QCOMPARE(u.length(), 1.0f);
QCOMPARE(u.x() * len, v.x());
QCOMPARE(u.y() * len, v.y());
QCOMPARE(u.z() * len, v.z());
@@ -292,10 +285,10 @@ void tst_QQuaternion::normalize_data()
}
void tst_QQuaternion::normalize()
{
- QFETCH(qreal, x);
- QFETCH(qreal, y);
- QFETCH(qreal, z);
- QFETCH(qreal, w);
+ QFETCH(float, x);
+ QFETCH(float, y);
+ QFETCH(float, z);
+ QFETCH(float, w);
QQuaternion v(w, x, y, z);
bool isNull = v.isNull();
@@ -303,7 +296,7 @@ void tst_QQuaternion::normalize()
if (isNull)
QVERIFY(v.isNull());
else
- QCOMPARE(v.length(), qreal(1.0f));
+ QCOMPARE(v.length(), 1.0f);
}
// Test the comparison operators for quaternions.
@@ -326,63 +319,63 @@ void tst_QQuaternion::compare()
// Test addition for quaternions.
void tst_QQuaternion::add_data()
{
- QTest::addColumn<qreal>("x1");
- QTest::addColumn<qreal>("y1");
- QTest::addColumn<qreal>("z1");
- QTest::addColumn<qreal>("w1");
- QTest::addColumn<qreal>("x2");
- QTest::addColumn<qreal>("y2");
- QTest::addColumn<qreal>("z2");
- QTest::addColumn<qreal>("w2");
- QTest::addColumn<qreal>("x3");
- QTest::addColumn<qreal>("y3");
- QTest::addColumn<qreal>("z3");
- QTest::addColumn<qreal>("w3");
+ QTest::addColumn<float>("x1");
+ QTest::addColumn<float>("y1");
+ QTest::addColumn<float>("z1");
+ QTest::addColumn<float>("w1");
+ QTest::addColumn<float>("x2");
+ QTest::addColumn<float>("y2");
+ QTest::addColumn<float>("z2");
+ QTest::addColumn<float>("w2");
+ QTest::addColumn<float>("x3");
+ QTest::addColumn<float>("y3");
+ QTest::addColumn<float>("z3");
+ QTest::addColumn<float>("w3");
QTest::newRow("null")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f;
+ << 0.0f << 0.0f << 0.0f << 0.0f
+ << 0.0f << 0.0f << 0.0f << 0.0f
+ << 0.0f << 0.0f << 0.0f << 0.0f;
QTest::newRow("xonly")
- << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)3.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f;
+ << 1.0f << 0.0f << 0.0f << 0.0f
+ << 2.0f << 0.0f << 0.0f << 0.0f
+ << 3.0f << 0.0f << 0.0f << 0.0f;
QTest::newRow("yonly")
- << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)3.0f << (qreal)0.0f << (qreal)0.0f;
+ << 0.0f << 1.0f << 0.0f << 0.0f
+ << 0.0f << 2.0f << 0.0f << 0.0f
+ << 0.0f << 3.0f << 0.0f << 0.0f;
QTest::newRow("zonly")
- << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)3.0f << (qreal)0.0f;
+ << 0.0f << 0.0f << 1.0f << 0.0f
+ << 0.0f << 0.0f << 2.0f << 0.0f
+ << 0.0f << 0.0f << 3.0f << 0.0f;
QTest::newRow("wonly")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)3.0f;
+ << 0.0f << 0.0f << 0.0f << 1.0f
+ << 0.0f << 0.0f << 0.0f << 2.0f
+ << 0.0f << 0.0f << 0.0f << 3.0f;
QTest::newRow("all")
- << (qreal)1.0f << (qreal)2.0f << (qreal)3.0f << (qreal)8.0f
- << (qreal)4.0f << (qreal)5.0f << (qreal)-6.0f << (qreal)9.0f
- << (qreal)5.0f << (qreal)7.0f << (qreal)-3.0f << (qreal)17.0f;
+ << 1.0f << 2.0f << 3.0f << 8.0f
+ << 4.0f << 5.0f << -6.0f << 9.0f
+ << 5.0f << 7.0f << -3.0f << 17.0f;
}
void tst_QQuaternion::add()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, w1);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, z2);
- QFETCH(qreal, w2);
- QFETCH(qreal, x3);
- QFETCH(qreal, y3);
- QFETCH(qreal, z3);
- QFETCH(qreal, w3);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, w1);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, z2);
+ QFETCH(float, w2);
+ QFETCH(float, x3);
+ QFETCH(float, y3);
+ QFETCH(float, z3);
+ QFETCH(float, w3);
QQuaternion v1(w1, x1, y1, z1);
QQuaternion v2(w2, x2, y2, z2);
@@ -408,18 +401,18 @@ void tst_QQuaternion::subtract_data()
}
void tst_QQuaternion::subtract()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, w1);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, z2);
- QFETCH(qreal, w2);
- QFETCH(qreal, x3);
- QFETCH(qreal, y3);
- QFETCH(qreal, z3);
- QFETCH(qreal, w3);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, w1);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, z2);
+ QFETCH(float, w2);
+ QFETCH(float, x3);
+ QFETCH(float, y3);
+ QFETCH(float, z3);
+ QFETCH(float, w3);
QQuaternion v1(w1, x1, y1, z1);
QQuaternion v2(w2, x2, y2, z2);
@@ -450,31 +443,31 @@ void tst_QQuaternion::subtract()
// Test quaternion multiplication.
void tst_QQuaternion::multiply_data()
{
- QTest::addColumn<qreal>("x1");
- QTest::addColumn<qreal>("y1");
- QTest::addColumn<qreal>("z1");
- QTest::addColumn<qreal>("w1");
- QTest::addColumn<qreal>("x2");
- QTest::addColumn<qreal>("y2");
- QTest::addColumn<qreal>("z2");
- QTest::addColumn<qreal>("w2");
+ QTest::addColumn<float>("x1");
+ QTest::addColumn<float>("y1");
+ QTest::addColumn<float>("z1");
+ QTest::addColumn<float>("w1");
+ QTest::addColumn<float>("x2");
+ QTest::addColumn<float>("y2");
+ QTest::addColumn<float>("z2");
+ QTest::addColumn<float>("w2");
QTest::newRow("null")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f;
+ << 0.0f << 0.0f << 0.0f << 0.0f
+ << 0.0f << 0.0f << 0.0f << 0.0f;
QTest::newRow("unitvec")
- << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f
- << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)1.0f;
+ << 1.0f << 0.0f << 0.0f << 1.0f
+ << 0.0f << 1.0f << 0.0f << 1.0f;
QTest::newRow("complex")
- << (qreal)1.0f << (qreal)2.0f << (qreal)3.0f << (qreal)7.0f
- << (qreal)4.0f << (qreal)5.0f << (qreal)6.0f << (qreal)8.0f;
+ << 1.0f << 2.0f << 3.0f << 7.0f
+ << 4.0f << 5.0f << 6.0f << 8.0f;
- for (qreal w = -1.0f; w <= 1.0f; w += 0.5f)
- for (qreal x = -1.0f; x <= 1.0f; x += 0.5f)
- for (qreal y = -1.0f; y <= 1.0f; y += 0.5f)
- for (qreal z = -1.0f; z <= 1.0f; z += 0.5f) {
+ for (float w = -1.0f; w <= 1.0f; w += 0.5f)
+ for (float x = -1.0f; x <= 1.0f; x += 0.5f)
+ for (float y = -1.0f; y <= 1.0f; y += 0.5f)
+ for (float z = -1.0f; z <= 1.0f; z += 0.5f) {
QTest::newRow("exhaustive")
<< x << y << z << w
<< z << w << y << x;
@@ -482,14 +475,14 @@ void tst_QQuaternion::multiply_data()
}
void tst_QQuaternion::multiply()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, w1);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, z2);
- QFETCH(qreal, w2);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, w1);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, z2);
+ QFETCH(float, w2);
QQuaternion q1(w1, x1, y1, z1);
QQuaternion q2(w2, x2, y2, z2);
@@ -499,7 +492,7 @@ void tst_QQuaternion::multiply()
// to calculate the answer we expect to get.
QVector3D v1(x1, y1, z1);
QVector3D v2(x2, y2, z2);
- qreal scalar = w1 * w2 - QVector3D::dotProduct(v1, v2);
+ float scalar = w1 * w2 - QVector3D::dotProduct(v1, v2);
QVector3D vector = w1 * v2 + w2 * v1 + QVector3D::crossProduct(v1, v2);
QQuaternion result(scalar, vector);
@@ -509,62 +502,62 @@ void tst_QQuaternion::multiply()
// Test multiplication by a factor for quaternions.
void tst_QQuaternion::multiplyFactor_data()
{
- QTest::addColumn<qreal>("x1");
- QTest::addColumn<qreal>("y1");
- QTest::addColumn<qreal>("z1");
- QTest::addColumn<qreal>("w1");
- QTest::addColumn<qreal>("factor");
- QTest::addColumn<qreal>("x2");
- QTest::addColumn<qreal>("y2");
- QTest::addColumn<qreal>("z2");
- QTest::addColumn<qreal>("w2");
+ QTest::addColumn<float>("x1");
+ QTest::addColumn<float>("y1");
+ QTest::addColumn<float>("z1");
+ QTest::addColumn<float>("w1");
+ QTest::addColumn<float>("factor");
+ QTest::addColumn<float>("x2");
+ QTest::addColumn<float>("y2");
+ QTest::addColumn<float>("z2");
+ QTest::addColumn<float>("w2");
QTest::newRow("null")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)100.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f;
+ << 0.0f << 0.0f << 0.0f << 0.0f
+ << 100.0f
+ << 0.0f << 0.0f << 0.0f << 0.0f;
QTest::newRow("xonly")
- << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)2.0f
- << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f;
+ << 1.0f << 0.0f << 0.0f << 0.0f
+ << 2.0f
+ << 2.0f << 0.0f << 0.0f << 0.0f;
QTest::newRow("yonly")
- << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)2.0f
- << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f;
+ << 0.0f << 1.0f << 0.0f << 0.0f
+ << 2.0f
+ << 0.0f << 2.0f << 0.0f << 0.0f;
QTest::newRow("zonly")
- << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f
- << (qreal)2.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f;
+ << 0.0f << 0.0f << 1.0f << 0.0f
+ << 2.0f
+ << 0.0f << 0.0f << 2.0f << 0.0f;
QTest::newRow("wonly")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f
- << (qreal)2.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f;
+ << 0.0f << 0.0f << 0.0f << 1.0f
+ << 2.0f
+ << 0.0f << 0.0f << 0.0f << 2.0f;
QTest::newRow("all")
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)4.0f
- << (qreal)2.0f
- << (qreal)2.0f << (qreal)4.0f << (qreal)-6.0f << (qreal)8.0f;
+ << 1.0f << 2.0f << -3.0f << 4.0f
+ << 2.0f
+ << 2.0f << 4.0f << -6.0f << 8.0f;
QTest::newRow("allzero")
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)4.0f
- << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f;
+ << 1.0f << 2.0f << -3.0f << 4.0f
+ << 0.0f
+ << 0.0f << 0.0f << 0.0f << 0.0f;
}
void tst_QQuaternion::multiplyFactor()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, w1);
- QFETCH(qreal, factor);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, z2);
- QFETCH(qreal, w2);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, w1);
+ QFETCH(float, factor);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, z2);
+ QFETCH(float, w2);
QQuaternion v1(w1, x1, y1, z1);
QQuaternion v2(w2, x2, y2, z2);
@@ -590,20 +583,20 @@ void tst_QQuaternion::divide_data()
}
void tst_QQuaternion::divide()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, w1);
- QFETCH(qreal, factor);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, z2);
- QFETCH(qreal, w2);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, w1);
+ QFETCH(float, factor);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, z2);
+ QFETCH(float, w2);
QQuaternion v1(w1, x1, y1, z1);
QQuaternion v2(w2, x2, y2, z2);
- if (factor == (qreal)0.0f)
+ if (factor == 0.0f)
return;
QVERIFY((v2 / factor) == v1);
@@ -626,10 +619,10 @@ void tst_QQuaternion::negate_data()
}
void tst_QQuaternion::negate()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, w1);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, w1);
QQuaternion v1(w1, x1, y1, z1);
QQuaternion v2(-w1, -x1, -y1, -z1);
@@ -645,10 +638,10 @@ void tst_QQuaternion::conjugate_data()
}
void tst_QQuaternion::conjugate()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, w1);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, w1);
QQuaternion v1(w1, x1, y1, z1);
QQuaternion v2(w1, -x1, -y1, -z1);
@@ -659,121 +652,121 @@ void tst_QQuaternion::conjugate()
// Test quaternion creation from an axis and an angle.
void tst_QQuaternion::fromAxisAndAngle_data()
{
- QTest::addColumn<qreal>("x1");
- QTest::addColumn<qreal>("y1");
- QTest::addColumn<qreal>("z1");
- QTest::addColumn<qreal>("angle");
+ QTest::addColumn<float>("x1");
+ QTest::addColumn<float>("y1");
+ QTest::addColumn<float>("z1");
+ QTest::addColumn<float>("angle");
QTest::newRow("null")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f;
+ << 0.0f << 0.0f << 0.0f << 0.0f;
QTest::newRow("xonly")
- << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)90.0f;
+ << 1.0f << 0.0f << 0.0f << 90.0f;
QTest::newRow("yonly")
- << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)180.0f;
+ << 0.0f << 1.0f << 0.0f << 180.0f;
QTest::newRow("zonly")
- << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f << (qreal)270.0f;
+ << 0.0f << 0.0f << 1.0f << 270.0f;
QTest::newRow("complex")
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)45.0f;
+ << 1.0f << 2.0f << -3.0f << 45.0f;
}
void tst_QQuaternion::fromAxisAndAngle()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, angle);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, angle);
// Use a straight-forward implementation of the algorithm at:
// http://www.j3d.org/matrix_faq/matrfaq_latest.html#Q56
// to calculate the answer we expect to get.
QVector3D vector = QVector3D(x1, y1, z1).normalized();
- qreal sin_a = qSin((angle * M_PI / 180.0) / 2.0);
- qreal cos_a = qCos((angle * M_PI / 180.0) / 2.0);
- QQuaternion result((qreal)cos_a,
- (qreal)(vector.x() * sin_a),
- (qreal)(vector.y() * sin_a),
- (qreal)(vector.z() * sin_a));
+ float sin_a = sinf((angle * M_PI / 180.0) / 2.0);
+ float cos_a = cosf((angle * M_PI / 180.0) / 2.0);
+ QQuaternion result(cos_a,
+ (vector.x() * sin_a),
+ (vector.y() * sin_a),
+ (vector.z() * sin_a));
result = result.normalized();
QQuaternion answer = QQuaternion::fromAxisAndAngle(QVector3D(x1, y1, z1), angle);
- QVERIFY(fuzzyCompare(answer.x(), result.x()));
- QVERIFY(fuzzyCompare(answer.y(), result.y()));
- QVERIFY(fuzzyCompare(answer.z(), result.z()));
- QVERIFY(fuzzyCompare(answer.scalar(), result.scalar()));
+ QVERIFY(qFuzzyCompare(answer.x(), result.x()));
+ QVERIFY(qFuzzyCompare(answer.y(), result.y()));
+ QVERIFY(qFuzzyCompare(answer.z(), result.z()));
+ QVERIFY(qFuzzyCompare(answer.scalar(), result.scalar()));
answer = QQuaternion::fromAxisAndAngle(x1, y1, z1, angle);
- QVERIFY(fuzzyCompare(answer.x(), result.x()));
- QVERIFY(fuzzyCompare(answer.y(), result.y()));
- QVERIFY(fuzzyCompare(answer.z(), result.z()));
- QVERIFY(fuzzyCompare(answer.scalar(), result.scalar()));
+ QVERIFY(qFuzzyCompare(answer.x(), result.x()));
+ QVERIFY(qFuzzyCompare(answer.y(), result.y()));
+ QVERIFY(qFuzzyCompare(answer.z(), result.z()));
+ QVERIFY(qFuzzyCompare(answer.scalar(), result.scalar()));
}
// Test spherical interpolation of quaternions.
void tst_QQuaternion::slerp_data()
{
- QTest::addColumn<qreal>("x1");
- QTest::addColumn<qreal>("y1");
- QTest::addColumn<qreal>("z1");
- QTest::addColumn<qreal>("angle1");
- QTest::addColumn<qreal>("x2");
- QTest::addColumn<qreal>("y2");
- QTest::addColumn<qreal>("z2");
- QTest::addColumn<qreal>("angle2");
- QTest::addColumn<qreal>("t");
- QTest::addColumn<qreal>("x3");
- QTest::addColumn<qreal>("y3");
- QTest::addColumn<qreal>("z3");
- QTest::addColumn<qreal>("angle3");
+ QTest::addColumn<float>("x1");
+ QTest::addColumn<float>("y1");
+ QTest::addColumn<float>("z1");
+ QTest::addColumn<float>("angle1");
+ QTest::addColumn<float>("x2");
+ QTest::addColumn<float>("y2");
+ QTest::addColumn<float>("z2");
+ QTest::addColumn<float>("angle2");
+ QTest::addColumn<float>("t");
+ QTest::addColumn<float>("x3");
+ QTest::addColumn<float>("y3");
+ QTest::addColumn<float>("z3");
+ QTest::addColumn<float>("angle3");
QTest::newRow("first")
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)90.0f
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)180.0f
- << (qreal)0.0f
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)90.0f;
+ << 1.0f << 2.0f << -3.0f << 90.0f
+ << 1.0f << 2.0f << -3.0f << 180.0f
+ << 0.0f
+ << 1.0f << 2.0f << -3.0f << 90.0f;
QTest::newRow("first2")
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)90.0f
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)180.0f
- << (qreal)-0.5f
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)90.0f;
+ << 1.0f << 2.0f << -3.0f << 90.0f
+ << 1.0f << 2.0f << -3.0f << 180.0f
+ << -0.5f
+ << 1.0f << 2.0f << -3.0f << 90.0f;
QTest::newRow("second")
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)90.0f
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)180.0f
- << (qreal)1.0f
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)180.0f;
+ << 1.0f << 2.0f << -3.0f << 90.0f
+ << 1.0f << 2.0f << -3.0f << 180.0f
+ << 1.0f
+ << 1.0f << 2.0f << -3.0f << 180.0f;
QTest::newRow("second2")
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)90.0f
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)180.0f
- << (qreal)1.5f
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)180.0f;
+ << 1.0f << 2.0f << -3.0f << 90.0f
+ << 1.0f << 2.0f << -3.0f << 180.0f
+ << 1.5f
+ << 1.0f << 2.0f << -3.0f << 180.0f;
QTest::newRow("middle")
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)90.0f
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)180.0f
- << (qreal)0.5f
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)135.0f;
+ << 1.0f << 2.0f << -3.0f << 90.0f
+ << 1.0f << 2.0f << -3.0f << 180.0f
+ << 0.5f
+ << 1.0f << 2.0f << -3.0f << 135.0f;
QTest::newRow("wide angle")
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)0.0f
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)270.0f
- << (qreal)0.5f
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)-45.0f;
+ << 1.0f << 2.0f << -3.0f << 0.0f
+ << 1.0f << 2.0f << -3.0f << 270.0f
+ << 0.5f
+ << 1.0f << 2.0f << -3.0f << -45.0f;
}
void tst_QQuaternion::slerp()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, angle1);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, z2);
- QFETCH(qreal, angle2);
- QFETCH(qreal, t);
- QFETCH(qreal, x3);
- QFETCH(qreal, y3);
- QFETCH(qreal, z3);
- QFETCH(qreal, angle3);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, angle1);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, z2);
+ QFETCH(float, angle2);
+ QFETCH(float, t);
+ QFETCH(float, x3);
+ QFETCH(float, y3);
+ QFETCH(float, z3);
+ QFETCH(float, angle3);
QQuaternion q1 = QQuaternion::fromAxisAndAngle(x1, y1, z1, angle1);
QQuaternion q2 = QQuaternion::fromAxisAndAngle(x2, y2, z2, angle2);
@@ -781,10 +774,10 @@ void tst_QQuaternion::slerp()
QQuaternion result = QQuaternion::slerp(q1, q2, t);
- QVERIFY(fuzzyCompare(result.x(), q3.x()));
- QVERIFY(fuzzyCompare(result.y(), q3.y()));
- QVERIFY(fuzzyCompare(result.z(), q3.z()));
- QVERIFY(fuzzyCompare(result.scalar(), q3.scalar()));
+ QVERIFY(qFuzzyCompare(result.x(), q3.x()));
+ QVERIFY(qFuzzyCompare(result.y(), q3.y()));
+ QVERIFY(qFuzzyCompare(result.z(), q3.z()));
+ QVERIFY(qFuzzyCompare(result.scalar(), q3.scalar()));
}
// Test normalized linear interpolation of quaternions.
@@ -794,22 +787,22 @@ void tst_QQuaternion::nlerp_data()
}
void tst_QQuaternion::nlerp()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, angle1);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, z2);
- QFETCH(qreal, angle2);
- QFETCH(qreal, t);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, angle1);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, z2);
+ QFETCH(float, angle2);
+ QFETCH(float, t);
QQuaternion q1 = QQuaternion::fromAxisAndAngle(x1, y1, z1, angle1);
QQuaternion q2 = QQuaternion::fromAxisAndAngle(x2, y2, z2, angle2);
QQuaternion result = QQuaternion::nlerp(q1, q2, t);
- qreal resultx, resulty, resultz, resultscalar;
+ float resultx, resulty, resultz, resultscalar;
if (t <= 0.0f) {
resultx = q1.x();
resulty = q1.y();
@@ -835,10 +828,10 @@ void tst_QQuaternion::nlerp()
QQuaternion q3 = QQuaternion(resultscalar, resultx, resulty, resultz).normalized();
- QVERIFY(fuzzyCompare(result.x(), q3.x()));
- QVERIFY(fuzzyCompare(result.y(), q3.y()));
- QVERIFY(fuzzyCompare(result.z(), q3.z()));
- QVERIFY(fuzzyCompare(result.scalar(), q3.scalar()));
+ QVERIFY(qFuzzyCompare(result.x(), q3.x()));
+ QVERIFY(qFuzzyCompare(result.y(), q3.y()));
+ QVERIFY(qFuzzyCompare(result.z(), q3.z()));
+ QVERIFY(qFuzzyCompare(result.scalar(), q3.scalar()));
}
class tst_QQuaternionProperties : public QObject
@@ -863,19 +856,19 @@ void tst_QQuaternion::properties()
obj.setQuaternion(QQuaternion(6.0f, 7.0f, 8.0f, 9.0f));
QQuaternion q = qvariant_cast<QQuaternion>(obj.property("quaternion"));
- QCOMPARE(q.scalar(), (qreal)6.0f);
- QCOMPARE(q.x(), (qreal)7.0f);
- QCOMPARE(q.y(), (qreal)8.0f);
- QCOMPARE(q.z(), (qreal)9.0f);
+ QCOMPARE(q.scalar(), 6.0f);
+ QCOMPARE(q.x(), 7.0f);
+ QCOMPARE(q.y(), 8.0f);
+ QCOMPARE(q.z(), 9.0f);
obj.setProperty("quaternion",
QVariant::fromValue(QQuaternion(-6.0f, -7.0f, -8.0f, -9.0f)));
q = qvariant_cast<QQuaternion>(obj.property("quaternion"));
- QCOMPARE(q.scalar(), (qreal)-6.0f);
- QCOMPARE(q.x(), (qreal)-7.0f);
- QCOMPARE(q.y(), (qreal)-8.0f);
- QCOMPARE(q.z(), (qreal)-9.0f);
+ QCOMPARE(q.scalar(), -6.0f);
+ QCOMPARE(q.x(), -7.0f);
+ QCOMPARE(q.y(), -8.0f);
+ QCOMPARE(q.z(), -9.0f);
}
void tst_QQuaternion::metaTypes()
diff --git a/tests/auto/gui/math3d/qvectornd/tst_qvectornd.cpp b/tests/auto/gui/math3d/qvectornd/tst_qvectornd.cpp
index 4b6d9839a2..2ab896f49e 100644
--- a/tests/auto/gui/math3d/qvectornd/tst_qvectornd.cpp
+++ b/tests/auto/gui/math3d/qvectornd/tst_qvectornd.cpp
@@ -144,87 +144,78 @@ private slots:
void metaTypes();
};
-// QVector2/3/4D use float internally, which can sometimes lead
-// to precision issues when converting to and from qreal.
-// This fuzzy compare is slightly "fuzzier" than the default
-// qFuzzyCompare for qreal to compensate.
-static bool fuzzyCompare(qreal x, qreal y)
-{
- return qFuzzyIsNull((float)(x - y));
-}
-
// Test the creation of QVector2D objects in various ways:
// construct, copy, and modify.
void tst_QVectorND::create2()
{
QVector2D null;
- QCOMPARE(null.x(), (qreal)0.0f);
- QCOMPARE(null.y(), (qreal)0.0f);
+ QCOMPARE(null.x(), 0.0f);
+ QCOMPARE(null.y(), 0.0f);
QVERIFY(null.isNull());
- QVector2D nullNegativeZero(qreal(-0.0), qreal(-0.0));
- QCOMPARE(nullNegativeZero.x(), (qreal)-0.0f);
- QCOMPARE(nullNegativeZero.y(), (qreal)-0.0f);
+ QVector2D nullNegativeZero(-0.0f, -0.0f);
+ QCOMPARE(nullNegativeZero.x(), -0.0f);
+ QCOMPARE(nullNegativeZero.y(), -0.0f);
QVERIFY(nullNegativeZero.isNull());
QVector2D v1(1.0f, 2.5f);
- QCOMPARE(v1.x(), (qreal)1.0f);
- QCOMPARE(v1.y(), (qreal)2.5f);
+ QCOMPARE(v1.x(), 1.0f);
+ QCOMPARE(v1.y(), 2.5f);
QVERIFY(!v1.isNull());
QVector2D v1i(1, 2);
- QCOMPARE(v1i.x(), (qreal)1.0f);
- QCOMPARE(v1i.y(), (qreal)2.0f);
+ QCOMPARE(v1i.x(), 1.0f);
+ QCOMPARE(v1i.y(), 2.0f);
QVERIFY(!v1i.isNull());
QVector2D v2(v1);
- QCOMPARE(v2.x(), (qreal)1.0f);
- QCOMPARE(v2.y(), (qreal)2.5f);
+ QCOMPARE(v2.x(), 1.0f);
+ QCOMPARE(v2.y(), 2.5f);
QVERIFY(!v2.isNull());
QVector2D v4;
- QCOMPARE(v4.x(), (qreal)0.0f);
- QCOMPARE(v4.y(), (qreal)0.0f);
+ QCOMPARE(v4.x(), 0.0f);
+ QCOMPARE(v4.y(), 0.0f);
QVERIFY(v4.isNull());
v4 = v1;
- QCOMPARE(v4.x(), (qreal)1.0f);
- QCOMPARE(v4.y(), (qreal)2.5f);
+ QCOMPARE(v4.x(), 1.0f);
+ QCOMPARE(v4.y(), 2.5f);
QVERIFY(!v4.isNull());
QVector2D v5(QPoint(1, 2));
- QCOMPARE(v5.x(), (qreal)1.0f);
- QCOMPARE(v5.y(), (qreal)2.0f);
+ QCOMPARE(v5.x(), 1.0f);
+ QCOMPARE(v5.y(), 2.0f);
QVERIFY(!v5.isNull());
QVector2D v6(QPointF(1, 2.5));
- QCOMPARE(v6.x(), (qreal)1.0f);
- QCOMPARE(v6.y(), (qreal)2.5f);
+ QCOMPARE(v6.x(), 1.0f);
+ QCOMPARE(v6.y(), 2.5f);
QVERIFY(!v6.isNull());
QVector2D v7(QVector3D(1.0f, 2.5f, 54.25f));
- QCOMPARE(v7.x(), (qreal)1.0f);
- QCOMPARE(v7.y(), (qreal)2.5f);
+ QCOMPARE(v7.x(), 1.0f);
+ QCOMPARE(v7.y(), 2.5f);
QVERIFY(!v6.isNull());
QVector2D v8(QVector4D(1.0f, 2.5f, 54.25f, 34.0f));
- QCOMPARE(v8.x(), (qreal)1.0f);
- QCOMPARE(v8.y(), (qreal)2.5f);
+ QCOMPARE(v8.x(), 1.0f);
+ QCOMPARE(v8.y(), 2.5f);
QVERIFY(!v6.isNull());
v1.setX(3.0f);
- QCOMPARE(v1.x(), (qreal)3.0f);
- QCOMPARE(v1.y(), (qreal)2.5f);
+ QCOMPARE(v1.x(), 3.0f);
+ QCOMPARE(v1.y(), 2.5f);
QVERIFY(!v1.isNull());
v1.setY(10.5f);
- QCOMPARE(v1.x(), (qreal)3.0f);
- QCOMPARE(v1.y(), (qreal)10.5f);
+ QCOMPARE(v1.x(), 3.0f);
+ QCOMPARE(v1.y(), 10.5f);
QVERIFY(!v1.isNull());
v1.setX(0.0f);
v1.setY(0.0f);
- QCOMPARE(v1.x(), (qreal)0.0f);
- QCOMPARE(v1.y(), (qreal)0.0f);
+ QCOMPARE(v1.x(), 0.0f);
+ QCOMPARE(v1.y(), 0.0f);
QVERIFY(v1.isNull());
QPoint p1 = v8.toPoint();
@@ -232,19 +223,19 @@ void tst_QVectorND::create2()
QCOMPARE(p1.y(), 3);
QPointF p2 = v8.toPointF();
- QCOMPARE((qreal)p2.x(), (qreal)1.0f);
- QCOMPARE((qreal)p2.y(), (qreal)2.5f);
+ QCOMPARE(p2.x(), 1.0f);
+ QCOMPARE(p2.y(), 2.5f);
QVector3D v9 = v8.toVector3D();
- QCOMPARE(v9.x(), (qreal)1.0f);
- QCOMPARE(v9.y(), (qreal)2.5f);
- QCOMPARE(v9.z(), (qreal)0.0f);
+ QCOMPARE(v9.x(), 1.0f);
+ QCOMPARE(v9.y(), 2.5f);
+ QCOMPARE(v9.z(), 0.0f);
QVector4D v10 = v8.toVector4D();
- QCOMPARE(v10.x(), (qreal)1.0f);
- QCOMPARE(v10.y(), (qreal)2.5f);
- QCOMPARE(v10.z(), (qreal)0.0f);
- QCOMPARE(v10.w(), (qreal)0.0f);
+ QCOMPARE(v10.x(), 1.0f);
+ QCOMPARE(v10.y(), 2.5f);
+ QCOMPARE(v10.z(), 0.0f);
+ QCOMPARE(v10.w(), 0.0f);
}
// Test the creation of QVector3D objects in various ways:
@@ -252,112 +243,112 @@ void tst_QVectorND::create2()
void tst_QVectorND::create3()
{
QVector3D null;
- QCOMPARE(null.x(), (qreal)0.0f);
- QCOMPARE(null.y(), (qreal)0.0f);
- QCOMPARE(null.z(), (qreal)0.0f);
+ QCOMPARE(null.x(), 0.0f);
+ QCOMPARE(null.y(), 0.0f);
+ QCOMPARE(null.z(), 0.0f);
QVERIFY(null.isNull());
- QVector3D nullNegativeZero(qreal(-0.0), qreal(-0.0), qreal(-0.0));
- QCOMPARE(nullNegativeZero.x(), (qreal)-0.0f);
- QCOMPARE(nullNegativeZero.y(), (qreal)-0.0f);
- QCOMPARE(nullNegativeZero.z(), (qreal)-0.0f);
+ QVector3D nullNegativeZero(-0.0f, -0.0f, -0.0f);
+ QCOMPARE(nullNegativeZero.x(), -0.0f);
+ QCOMPARE(nullNegativeZero.y(), -0.0f);
+ QCOMPARE(nullNegativeZero.z(), -0.0f);
QVERIFY(nullNegativeZero.isNull());
QVector3D v1(1.0f, 2.5f, -89.25f);
- QCOMPARE(v1.x(), (qreal)1.0f);
- QCOMPARE(v1.y(), (qreal)2.5f);
- QCOMPARE(v1.z(), (qreal)-89.25f);
+ QCOMPARE(v1.x(), 1.0f);
+ QCOMPARE(v1.y(), 2.5f);
+ QCOMPARE(v1.z(), -89.25f);
QVERIFY(!v1.isNull());
QVector3D v1i(1, 2, -89);
- QCOMPARE(v1i.x(), (qreal)1.0f);
- QCOMPARE(v1i.y(), (qreal)2.0f);
- QCOMPARE(v1i.z(), (qreal)-89.0f);
+ QCOMPARE(v1i.x(), 1.0f);
+ QCOMPARE(v1i.y(), 2.0f);
+ QCOMPARE(v1i.z(), -89.0f);
QVERIFY(!v1i.isNull());
QVector3D v2(v1);
- QCOMPARE(v2.x(), (qreal)1.0f);
- QCOMPARE(v2.y(), (qreal)2.5f);
- QCOMPARE(v2.z(), (qreal)-89.25f);
+ QCOMPARE(v2.x(), 1.0f);
+ QCOMPARE(v2.y(), 2.5f);
+ QCOMPARE(v2.z(), -89.25f);
QVERIFY(!v2.isNull());
QVector3D v3(1.0f, 2.5f, 0.0f);
- QCOMPARE(v3.x(), (qreal)1.0f);
- QCOMPARE(v3.y(), (qreal)2.5f);
- QCOMPARE(v3.z(), (qreal)0.0f);
+ QCOMPARE(v3.x(), 1.0f);
+ QCOMPARE(v3.y(), 2.5f);
+ QCOMPARE(v3.z(), 0.0f);
QVERIFY(!v3.isNull());
QVector3D v3i(1, 2, 0);
- QCOMPARE(v3i.x(), (qreal)1.0f);
- QCOMPARE(v3i.y(), (qreal)2.0f);
- QCOMPARE(v3i.z(), (qreal)0.0f);
+ QCOMPARE(v3i.x(), 1.0f);
+ QCOMPARE(v3i.y(), 2.0f);
+ QCOMPARE(v3i.z(), 0.0f);
QVERIFY(!v3i.isNull());
QVector3D v4;
- QCOMPARE(v4.x(), (qreal)0.0f);
- QCOMPARE(v4.y(), (qreal)0.0f);
- QCOMPARE(v4.z(), (qreal)0.0f);
+ QCOMPARE(v4.x(), 0.0f);
+ QCOMPARE(v4.y(), 0.0f);
+ QCOMPARE(v4.z(), 0.0f);
QVERIFY(v4.isNull());
v4 = v1;
- QCOMPARE(v4.x(), (qreal)1.0f);
- QCOMPARE(v4.y(), (qreal)2.5f);
- QCOMPARE(v4.z(), (qreal)-89.25f);
+ QCOMPARE(v4.x(), 1.0f);
+ QCOMPARE(v4.y(), 2.5f);
+ QCOMPARE(v4.z(), -89.25f);
QVERIFY(!v4.isNull());
QVector3D v5(QPoint(1, 2));
- QCOMPARE(v5.x(), (qreal)1.0f);
- QCOMPARE(v5.y(), (qreal)2.0f);
- QCOMPARE(v5.z(), (qreal)0.0f);
+ QCOMPARE(v5.x(), 1.0f);
+ QCOMPARE(v5.y(), 2.0f);
+ QCOMPARE(v5.z(), 0.0f);
QVERIFY(!v5.isNull());
QVector3D v6(QPointF(1, 2.5));
- QCOMPARE(v6.x(), (qreal)1.0f);
- QCOMPARE(v6.y(), (qreal)2.5f);
- QCOMPARE(v6.z(), (qreal)0.0f);
+ QCOMPARE(v6.x(), 1.0f);
+ QCOMPARE(v6.y(), 2.5f);
+ QCOMPARE(v6.z(), 0.0f);
QVERIFY(!v6.isNull());
QVector3D v7(QVector2D(1.0f, 2.5f));
- QCOMPARE(v7.x(), (qreal)1.0f);
- QCOMPARE(v7.y(), (qreal)2.5f);
- QCOMPARE(v7.z(), (qreal)0.0f);
+ QCOMPARE(v7.x(), 1.0f);
+ QCOMPARE(v7.y(), 2.5f);
+ QCOMPARE(v7.z(), 0.0f);
QVERIFY(!v7.isNull());
QVector3D v8(QVector2D(1.0f, 2.5f), 54.25f);
- QCOMPARE(v8.x(), (qreal)1.0f);
- QCOMPARE(v8.y(), (qreal)2.5f);
- QCOMPARE(v8.z(), (qreal)54.25f);
+ QCOMPARE(v8.x(), 1.0f);
+ QCOMPARE(v8.y(), 2.5f);
+ QCOMPARE(v8.z(), 54.25f);
QVERIFY(!v8.isNull());
QVector3D v9(QVector4D(1.0f, 2.5f, 54.25f, 34.0f));
- QCOMPARE(v9.x(), (qreal)1.0f);
- QCOMPARE(v9.y(), (qreal)2.5f);
- QCOMPARE(v9.z(), (qreal)54.25f);
+ QCOMPARE(v9.x(), 1.0f);
+ QCOMPARE(v9.y(), 2.5f);
+ QCOMPARE(v9.z(), 54.25f);
QVERIFY(!v9.isNull());
v1.setX(3.0f);
- QCOMPARE(v1.x(), (qreal)3.0f);
- QCOMPARE(v1.y(), (qreal)2.5f);
- QCOMPARE(v1.z(), (qreal)-89.25f);
+ QCOMPARE(v1.x(), 3.0f);
+ QCOMPARE(v1.y(), 2.5f);
+ QCOMPARE(v1.z(), -89.25f);
QVERIFY(!v1.isNull());
v1.setY(10.5f);
- QCOMPARE(v1.x(), (qreal)3.0f);
- QCOMPARE(v1.y(), (qreal)10.5f);
- QCOMPARE(v1.z(), (qreal)-89.25f);
+ QCOMPARE(v1.x(), 3.0f);
+ QCOMPARE(v1.y(), 10.5f);
+ QCOMPARE(v1.z(), -89.25f);
QVERIFY(!v1.isNull());
v1.setZ(15.5f);
- QCOMPARE(v1.x(), (qreal)3.0f);
- QCOMPARE(v1.y(), (qreal)10.5f);
- QCOMPARE(v1.z(), (qreal)15.5f);
+ QCOMPARE(v1.x(), 3.0f);
+ QCOMPARE(v1.y(), 10.5f);
+ QCOMPARE(v1.z(), 15.5f);
QVERIFY(!v1.isNull());
v1.setX(0.0f);
v1.setY(0.0f);
v1.setZ(0.0f);
- QCOMPARE(v1.x(), (qreal)0.0f);
- QCOMPARE(v1.y(), (qreal)0.0f);
- QCOMPARE(v1.z(), (qreal)0.0f);
+ QCOMPARE(v1.x(), 0.0f);
+ QCOMPARE(v1.y(), 0.0f);
+ QCOMPARE(v1.z(), 0.0f);
QVERIFY(v1.isNull());
QPoint p1 = v8.toPoint();
@@ -365,18 +356,18 @@ void tst_QVectorND::create3()
QCOMPARE(p1.y(), 3);
QPointF p2 = v8.toPointF();
- QCOMPARE((qreal)p2.x(), (qreal)1.0f);
- QCOMPARE((qreal)p2.y(), (qreal)2.5f);
+ QCOMPARE(p2.x(), 1.0f);
+ QCOMPARE(p2.y(), 2.5f);
QVector2D v10 = v8.toVector2D();
- QCOMPARE(v10.x(), (qreal)1.0f);
- QCOMPARE(v10.y(), (qreal)2.5f);
+ QCOMPARE(v10.x(), 1.0f);
+ QCOMPARE(v10.y(), 2.5f);
QVector4D v11 = v8.toVector4D();
- QCOMPARE(v11.x(), (qreal)1.0f);
- QCOMPARE(v11.y(), (qreal)2.5f);
- QCOMPARE(v11.z(), (qreal)54.25f);
- QCOMPARE(v11.w(), (qreal)0.0f);
+ QCOMPARE(v11.x(), 1.0f);
+ QCOMPARE(v11.y(), 2.5f);
+ QCOMPARE(v11.z(), 54.25f);
+ QCOMPARE(v11.w(), 0.0f);
}
// Test the creation of QVector4D objects in various ways:
@@ -384,159 +375,159 @@ void tst_QVectorND::create3()
void tst_QVectorND::create4()
{
QVector4D null;
- QCOMPARE(null.x(), (qreal)0.0f);
- QCOMPARE(null.y(), (qreal)0.0f);
- QCOMPARE(null.z(), (qreal)0.0f);
- QCOMPARE(null.w(), (qreal)0.0f);
+ QCOMPARE(null.x(), 0.0f);
+ QCOMPARE(null.y(), 0.0f);
+ QCOMPARE(null.z(), 0.0f);
+ QCOMPARE(null.w(), 0.0f);
QVERIFY(null.isNull());
- QVector4D nullNegativeZero(qreal(-0.0), qreal(-0.0), qreal(-0.0), qreal(-0.0));
- QCOMPARE(nullNegativeZero.x(), (qreal)-0.0f);
- QCOMPARE(nullNegativeZero.y(), (qreal)-0.0f);
- QCOMPARE(nullNegativeZero.z(), (qreal)-0.0f);
- QCOMPARE(nullNegativeZero.w(), (qreal)-0.0f);
+ QVector4D nullNegativeZero(-0.0f, -0.0f, -0.0f, -0.0f);
+ QCOMPARE(nullNegativeZero.x(), -0.0f);
+ QCOMPARE(nullNegativeZero.y(), -0.0f);
+ QCOMPARE(nullNegativeZero.z(), -0.0f);
+ QCOMPARE(nullNegativeZero.w(), -0.0f);
QVERIFY(nullNegativeZero.isNull());
QVector4D v1(1.0f, 2.5f, -89.25f, 34.0f);
- QCOMPARE(v1.x(), (qreal)1.0f);
- QCOMPARE(v1.y(), (qreal)2.5f);
- QCOMPARE(v1.z(), (qreal)-89.25f);
- QCOMPARE(v1.w(), (qreal)34.0f);
+ QCOMPARE(v1.x(), 1.0f);
+ QCOMPARE(v1.y(), 2.5f);
+ QCOMPARE(v1.z(), -89.25f);
+ QCOMPARE(v1.w(), 34.0f);
QVERIFY(!v1.isNull());
QVector4D v1i(1, 2, -89, 34);
- QCOMPARE(v1i.x(), (qreal)1.0f);
- QCOMPARE(v1i.y(), (qreal)2.0f);
- QCOMPARE(v1i.z(), (qreal)-89.0f);
- QCOMPARE(v1i.w(), (qreal)34.0f);
+ QCOMPARE(v1i.x(), 1.0f);
+ QCOMPARE(v1i.y(), 2.0f);
+ QCOMPARE(v1i.z(), -89.0f);
+ QCOMPARE(v1i.w(), 34.0f);
QVERIFY(!v1i.isNull());
QVector4D v2(v1);
- QCOMPARE(v2.x(), (qreal)1.0f);
- QCOMPARE(v2.y(), (qreal)2.5f);
- QCOMPARE(v2.z(), (qreal)-89.25f);
- QCOMPARE(v2.w(), (qreal)34.0f);
+ QCOMPARE(v2.x(), 1.0f);
+ QCOMPARE(v2.y(), 2.5f);
+ QCOMPARE(v2.z(), -89.25f);
+ QCOMPARE(v2.w(), 34.0f);
QVERIFY(!v2.isNull());
QVector4D v3(1.0f, 2.5f, 0.0f, 0.0f);
- QCOMPARE(v3.x(), (qreal)1.0f);
- QCOMPARE(v3.y(), (qreal)2.5f);
- QCOMPARE(v3.z(), (qreal)0.0f);
- QCOMPARE(v3.w(), (qreal)0.0f);
+ QCOMPARE(v3.x(), 1.0f);
+ QCOMPARE(v3.y(), 2.5f);
+ QCOMPARE(v3.z(), 0.0f);
+ QCOMPARE(v3.w(), 0.0f);
QVERIFY(!v3.isNull());
QVector4D v3i(1, 2, 0, 0);
- QCOMPARE(v3i.x(), (qreal)1.0f);
- QCOMPARE(v3i.y(), (qreal)2.0f);
- QCOMPARE(v3i.z(), (qreal)0.0f);
- QCOMPARE(v3i.w(), (qreal)0.0f);
+ QCOMPARE(v3i.x(), 1.0f);
+ QCOMPARE(v3i.y(), 2.0f);
+ QCOMPARE(v3i.z(), 0.0f);
+ QCOMPARE(v3i.w(), 0.0f);
QVERIFY(!v3i.isNull());
QVector4D v3b(1.0f, 2.5f, -89.25f, 0.0f);
- QCOMPARE(v3b.x(), (qreal)1.0f);
- QCOMPARE(v3b.y(), (qreal)2.5f);
- QCOMPARE(v3b.z(), (qreal)-89.25f);
- QCOMPARE(v3b.w(), (qreal)0.0f);
+ QCOMPARE(v3b.x(), 1.0f);
+ QCOMPARE(v3b.y(), 2.5f);
+ QCOMPARE(v3b.z(), -89.25f);
+ QCOMPARE(v3b.w(), 0.0f);
QVERIFY(!v3b.isNull());
QVector4D v3bi(1, 2, -89, 0);
- QCOMPARE(v3bi.x(), (qreal)1.0f);
- QCOMPARE(v3bi.y(), (qreal)2.0f);
- QCOMPARE(v3bi.z(), (qreal)-89.0f);
- QCOMPARE(v3bi.w(), (qreal)0.0f);
+ QCOMPARE(v3bi.x(), 1.0f);
+ QCOMPARE(v3bi.y(), 2.0f);
+ QCOMPARE(v3bi.z(), -89.0f);
+ QCOMPARE(v3bi.w(), 0.0f);
QVERIFY(!v3bi.isNull());
QVector4D v4;
- QCOMPARE(v4.x(), (qreal)0.0f);
- QCOMPARE(v4.y(), (qreal)0.0f);
- QCOMPARE(v4.z(), (qreal)0.0f);
- QCOMPARE(v4.w(), (qreal)0.0f);
+ QCOMPARE(v4.x(), 0.0f);
+ QCOMPARE(v4.y(), 0.0f);
+ QCOMPARE(v4.z(), 0.0f);
+ QCOMPARE(v4.w(), 0.0f);
QVERIFY(v4.isNull());
v4 = v1;
- QCOMPARE(v4.x(), (qreal)1.0f);
- QCOMPARE(v4.y(), (qreal)2.5f);
- QCOMPARE(v4.z(), (qreal)-89.25f);
- QCOMPARE(v4.w(), (qreal)34.0f);
+ QCOMPARE(v4.x(), 1.0f);
+ QCOMPARE(v4.y(), 2.5f);
+ QCOMPARE(v4.z(), -89.25f);
+ QCOMPARE(v4.w(), 34.0f);
QVERIFY(!v4.isNull());
QVector4D v5(QPoint(1, 2));
- QCOMPARE(v5.x(), (qreal)1.0f);
- QCOMPARE(v5.y(), (qreal)2.0f);
- QCOMPARE(v5.z(), (qreal)0.0f);
- QCOMPARE(v5.w(), (qreal)0.0f);
+ QCOMPARE(v5.x(), 1.0f);
+ QCOMPARE(v5.y(), 2.0f);
+ QCOMPARE(v5.z(), 0.0f);
+ QCOMPARE(v5.w(), 0.0f);
QVERIFY(!v5.isNull());
QVector4D v6(QPointF(1, 2.5));
- QCOMPARE(v6.x(), (qreal)1.0f);
- QCOMPARE(v6.y(), (qreal)2.5f);
- QCOMPARE(v6.z(), (qreal)0.0f);
- QCOMPARE(v6.w(), (qreal)0.0f);
+ QCOMPARE(v6.x(), 1.0f);
+ QCOMPARE(v6.y(), 2.5f);
+ QCOMPARE(v6.z(), 0.0f);
+ QCOMPARE(v6.w(), 0.0f);
QVERIFY(!v6.isNull());
QVector4D v7(QVector2D(1.0f, 2.5f));
- QCOMPARE(v7.x(), (qreal)1.0f);
- QCOMPARE(v7.y(), (qreal)2.5f);
- QCOMPARE(v7.z(), (qreal)0.0f);
- QCOMPARE(v7.w(), (qreal)0.0f);
+ QCOMPARE(v7.x(), 1.0f);
+ QCOMPARE(v7.y(), 2.5f);
+ QCOMPARE(v7.z(), 0.0f);
+ QCOMPARE(v7.w(), 0.0f);
QVERIFY(!v7.isNull());
QVector4D v8(QVector3D(1.0f, 2.5f, -89.25f));
- QCOMPARE(v8.x(), (qreal)1.0f);
- QCOMPARE(v8.y(), (qreal)2.5f);
- QCOMPARE(v8.z(), (qreal)-89.25f);
- QCOMPARE(v8.w(), (qreal)0.0f);
+ QCOMPARE(v8.x(), 1.0f);
+ QCOMPARE(v8.y(), 2.5f);
+ QCOMPARE(v8.z(), -89.25f);
+ QCOMPARE(v8.w(), 0.0f);
QVERIFY(!v8.isNull());
QVector4D v9(QVector3D(1.0f, 2.5f, -89.25f), 34);
- QCOMPARE(v9.x(), (qreal)1.0f);
- QCOMPARE(v9.y(), (qreal)2.5f);
- QCOMPARE(v9.z(), (qreal)-89.25f);
- QCOMPARE(v9.w(), (qreal)34.0f);
+ QCOMPARE(v9.x(), 1.0f);
+ QCOMPARE(v9.y(), 2.5f);
+ QCOMPARE(v9.z(), -89.25f);
+ QCOMPARE(v9.w(), 34.0f);
QVERIFY(!v9.isNull());
QVector4D v10(QVector2D(1.0f, 2.5f), 23.5f, -8);
- QCOMPARE(v10.x(), (qreal)1.0f);
- QCOMPARE(v10.y(), (qreal)2.5f);
- QCOMPARE(v10.z(), (qreal)23.5f);
- QCOMPARE(v10.w(), (qreal)-8.0f);
+ QCOMPARE(v10.x(), 1.0f);
+ QCOMPARE(v10.y(), 2.5f);
+ QCOMPARE(v10.z(), 23.5f);
+ QCOMPARE(v10.w(), -8.0f);
QVERIFY(!v10.isNull());
v1.setX(3.0f);
- QCOMPARE(v1.x(), (qreal)3.0f);
- QCOMPARE(v1.y(), (qreal)2.5f);
- QCOMPARE(v1.z(), (qreal)-89.25f);
- QCOMPARE(v1.w(), (qreal)34.0f);
+ QCOMPARE(v1.x(), 3.0f);
+ QCOMPARE(v1.y(), 2.5f);
+ QCOMPARE(v1.z(), -89.25f);
+ QCOMPARE(v1.w(), 34.0f);
QVERIFY(!v1.isNull());
v1.setY(10.5f);
- QCOMPARE(v1.x(), (qreal)3.0f);
- QCOMPARE(v1.y(), (qreal)10.5f);
- QCOMPARE(v1.z(), (qreal)-89.25f);
- QCOMPARE(v1.w(), (qreal)34.0f);
+ QCOMPARE(v1.x(), 3.0f);
+ QCOMPARE(v1.y(), 10.5f);
+ QCOMPARE(v1.z(), -89.25f);
+ QCOMPARE(v1.w(), 34.0f);
QVERIFY(!v1.isNull());
v1.setZ(15.5f);
- QCOMPARE(v1.x(), (qreal)3.0f);
- QCOMPARE(v1.y(), (qreal)10.5f);
- QCOMPARE(v1.z(), (qreal)15.5f);
- QCOMPARE(v1.w(), (qreal)34.0f);
+ QCOMPARE(v1.x(), 3.0f);
+ QCOMPARE(v1.y(), 10.5f);
+ QCOMPARE(v1.z(), 15.5f);
+ QCOMPARE(v1.w(), 34.0f);
QVERIFY(!v1.isNull());
v1.setW(6.0f);
- QCOMPARE(v1.x(), (qreal)3.0f);
- QCOMPARE(v1.y(), (qreal)10.5f);
- QCOMPARE(v1.z(), (qreal)15.5f);
- QCOMPARE(v1.w(), (qreal)6.0f);
+ QCOMPARE(v1.x(), 3.0f);
+ QCOMPARE(v1.y(), 10.5f);
+ QCOMPARE(v1.z(), 15.5f);
+ QCOMPARE(v1.w(), 6.0f);
QVERIFY(!v1.isNull());
v1.setX(0.0f);
v1.setY(0.0f);
v1.setZ(0.0f);
v1.setW(0.0f);
- QCOMPARE(v1.x(), (qreal)0.0f);
- QCOMPARE(v1.y(), (qreal)0.0f);
- QCOMPARE(v1.z(), (qreal)0.0f);
- QCOMPARE(v1.w(), (qreal)0.0f);
+ QCOMPARE(v1.x(), 0.0f);
+ QCOMPARE(v1.y(), 0.0f);
+ QCOMPARE(v1.z(), 0.0f);
+ QCOMPARE(v1.w(), 0.0f);
QVERIFY(v1.isNull());
QPoint p1 = v8.toPoint();
@@ -544,30 +535,30 @@ void tst_QVectorND::create4()
QCOMPARE(p1.y(), 3);
QPointF p2 = v8.toPointF();
- QCOMPARE((qreal)p2.x(), (qreal)1.0f);
- QCOMPARE((qreal)p2.y(), (qreal)2.5f);
+ QCOMPARE(p2.x(), 1.0f);
+ QCOMPARE(p2.y(), 2.5f);
QVector2D v11 = v8.toVector2D();
- QCOMPARE(v11.x(), (qreal)1.0f);
- QCOMPARE(v11.y(), (qreal)2.5f);
+ QCOMPARE(v11.x(), 1.0f);
+ QCOMPARE(v11.y(), 2.5f);
QVector3D v12 = v8.toVector3D();
- QCOMPARE(v12.x(), (qreal)1.0f);
- QCOMPARE(v12.y(), (qreal)2.5f);
- QCOMPARE(v12.z(), (qreal)-89.25f);
+ QCOMPARE(v12.x(), 1.0f);
+ QCOMPARE(v12.y(), 2.5f);
+ QCOMPARE(v12.z(), -89.25f);
QVector2D v13 = v9.toVector2DAffine();
- QVERIFY(fuzzyCompare(v13.x(), (qreal)(1.0f / 34.0f)));
- QVERIFY(fuzzyCompare(v13.y(), (qreal)(2.5f / 34.0f)));
+ QVERIFY(qFuzzyCompare(v13.x(), (1.0f / 34.0f)));
+ QVERIFY(qFuzzyCompare(v13.y(), (2.5f / 34.0f)));
QVector4D zerow(1.0f, 2.0f, 3.0f, 0.0f);
v13 = zerow.toVector2DAffine();
QVERIFY(v13.isNull());
QVector3D v14 = v9.toVector3DAffine();
- QVERIFY(fuzzyCompare(v14.x(), (qreal)(1.0f / 34.0f)));
- QVERIFY(fuzzyCompare(v14.y(), (qreal)(2.5f / 34.0f)));
- QVERIFY(fuzzyCompare(v14.z(), (qreal)(-89.25f / 34.0f)));
+ QVERIFY(qFuzzyCompare(v14.x(), (1.0f / 34.0f)));
+ QVERIFY(qFuzzyCompare(v14.y(), (2.5f / 34.0f)));
+ QVERIFY(qFuzzyCompare(v14.z(), (-89.25f / 34.0f)));
v14 = zerow.toVector3DAffine();
QVERIFY(v14.isNull());
@@ -576,22 +567,22 @@ void tst_QVectorND::create4()
// Test vector length computation for 2D vectors.
void tst_QVectorND::length2_data()
{
- QTest::addColumn<qreal>("x");
- QTest::addColumn<qreal>("y");
- QTest::addColumn<qreal>("len");
+ QTest::addColumn<float>("x");
+ QTest::addColumn<float>("y");
+ QTest::addColumn<float>("len");
- QTest::newRow("null") << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f;
- QTest::newRow("1x") << (qreal)1.0f << (qreal)0.0f << (qreal)1.0f;
- QTest::newRow("1y") << (qreal)0.0f << (qreal)1.0f << (qreal)1.0f;
- QTest::newRow("-1x") << (qreal)-1.0f << (qreal)0.0f << (qreal)1.0f;
- QTest::newRow("-1y") << (qreal)0.0f << (qreal)-1.0f << (qreal)1.0f;
- QTest::newRow("two") << (qreal)2.0f << (qreal)-2.0f << (qreal)qSqrt(8.0f);
+ QTest::newRow("null") << 0.0f << 0.0f << 0.0f;
+ QTest::newRow("1x") << 1.0f << 0.0f << 1.0f;
+ QTest::newRow("1y") << 0.0f << 1.0f << 1.0f;
+ QTest::newRow("-1x") << -1.0f << 0.0f << 1.0f;
+ QTest::newRow("-1y") << 0.0f << -1.0f << 1.0f;
+ QTest::newRow("two") << 2.0f << -2.0f << sqrtf(8.0f);
}
void tst_QVectorND::length2()
{
- QFETCH(qreal, x);
- QFETCH(qreal, y);
- QFETCH(qreal, len);
+ QFETCH(float, x);
+ QFETCH(float, y);
+ QFETCH(float, len);
QVector2D v(x, y);
QCOMPARE(v.length(), len);
@@ -601,26 +592,26 @@ void tst_QVectorND::length2()
// Test vector length computation for 3D vectors.
void tst_QVectorND::length3_data()
{
- QTest::addColumn<qreal>("x");
- QTest::addColumn<qreal>("y");
- QTest::addColumn<qreal>("z");
- QTest::addColumn<qreal>("len");
+ QTest::addColumn<float>("x");
+ QTest::addColumn<float>("y");
+ QTest::addColumn<float>("z");
+ QTest::addColumn<float>("len");
- QTest::newRow("null") << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f;
- QTest::newRow("1x") << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f;
- QTest::newRow("1y") << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)1.0f;
- QTest::newRow("1z") << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f << (qreal)1.0f;
- QTest::newRow("-1x") << (qreal)-1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f;
- QTest::newRow("-1y") << (qreal)0.0f << (qreal)-1.0f << (qreal)0.0f << (qreal)1.0f;
- QTest::newRow("-1z") << (qreal)0.0f << (qreal)0.0f << (qreal)-1.0f << (qreal)1.0f;
- QTest::newRow("two") << (qreal)2.0f << (qreal)-2.0f << (qreal)2.0f << (qreal)qSqrt(12.0f);
+ QTest::newRow("null") << 0.0f << 0.0f << 0.0f << 0.0f;
+ QTest::newRow("1x") << 1.0f << 0.0f << 0.0f << 1.0f;
+ QTest::newRow("1y") << 0.0f << 1.0f << 0.0f << 1.0f;
+ QTest::newRow("1z") << 0.0f << 0.0f << 1.0f << 1.0f;
+ QTest::newRow("-1x") << -1.0f << 0.0f << 0.0f << 1.0f;
+ QTest::newRow("-1y") << 0.0f << -1.0f << 0.0f << 1.0f;
+ QTest::newRow("-1z") << 0.0f << 0.0f << -1.0f << 1.0f;
+ QTest::newRow("two") << 2.0f << -2.0f << 2.0f << sqrtf(12.0f);
}
void tst_QVectorND::length3()
{
- QFETCH(qreal, x);
- QFETCH(qreal, y);
- QFETCH(qreal, z);
- QFETCH(qreal, len);
+ QFETCH(float, x);
+ QFETCH(float, y);
+ QFETCH(float, z);
+ QFETCH(float, len);
QVector3D v(x, y, z);
QCOMPARE(v.length(), len);
@@ -630,30 +621,30 @@ void tst_QVectorND::length3()
// Test vector length computation for 4D vectors.
void tst_QVectorND::length4_data()
{
- QTest::addColumn<qreal>("x");
- QTest::addColumn<qreal>("y");
- QTest::addColumn<qreal>("z");
- QTest::addColumn<qreal>("w");
- QTest::addColumn<qreal>("len");
-
- QTest::newRow("null") << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f;
- QTest::newRow("1x") << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f;
- QTest::newRow("1y") << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f;
- QTest::newRow("1z") << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)1.0f;
- QTest::newRow("1w") << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f << (qreal)1.0f;
- QTest::newRow("-1x") << (qreal)-1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f;
- QTest::newRow("-1y") << (qreal)0.0f << (qreal)-1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f;
- QTest::newRow("-1z") << (qreal)0.0f << (qreal)0.0f << (qreal)-1.0f << (qreal)0.0f << (qreal)1.0f;
- QTest::newRow("-1w") << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)-1.0f << (qreal)1.0f;
- QTest::newRow("two") << (qreal)2.0f << (qreal)-2.0f << (qreal)2.0f << (qreal)2.0f << (qreal)qSqrt(16.0f);
+ QTest::addColumn<float>("x");
+ QTest::addColumn<float>("y");
+ QTest::addColumn<float>("z");
+ QTest::addColumn<float>("w");
+ QTest::addColumn<float>("len");
+
+ QTest::newRow("null") << 0.0f << 0.0f << 0.0f << 0.0f << 0.0f;
+ QTest::newRow("1x") << 1.0f << 0.0f << 0.0f << 0.0f << 1.0f;
+ QTest::newRow("1y") << 0.0f << 1.0f << 0.0f << 0.0f << 1.0f;
+ QTest::newRow("1z") << 0.0f << 0.0f << 1.0f << 0.0f << 1.0f;
+ QTest::newRow("1w") << 0.0f << 0.0f << 0.0f << 1.0f << 1.0f;
+ QTest::newRow("-1x") << -1.0f << 0.0f << 0.0f << 0.0f << 1.0f;
+ QTest::newRow("-1y") << 0.0f << -1.0f << 0.0f << 0.0f << 1.0f;
+ QTest::newRow("-1z") << 0.0f << 0.0f << -1.0f << 0.0f << 1.0f;
+ QTest::newRow("-1w") << 0.0f << 0.0f << 0.0f << -1.0f << 1.0f;
+ QTest::newRow("two") << 2.0f << -2.0f << 2.0f << 2.0f << sqrtf(16.0f);
}
void tst_QVectorND::length4()
{
- QFETCH(qreal, x);
- QFETCH(qreal, y);
- QFETCH(qreal, z);
- QFETCH(qreal, w);
- QFETCH(qreal, len);
+ QFETCH(float, x);
+ QFETCH(float, y);
+ QFETCH(float, z);
+ QFETCH(float, w);
+ QFETCH(float, len);
QVector4D v(x, y, z, w);
QCOMPARE(v.length(), len);
@@ -668,18 +659,18 @@ void tst_QVectorND::normalized2_data()
}
void tst_QVectorND::normalized2()
{
- QFETCH(qreal, x);
- QFETCH(qreal, y);
- QFETCH(qreal, len);
+ QFETCH(float, x);
+ QFETCH(float, y);
+ QFETCH(float, len);
QVector2D v(x, y);
QVector2D u = v.normalized();
if (v.isNull())
QVERIFY(u.isNull());
else
- QVERIFY(fuzzyCompare(u.length(), qreal(1.0f)));
- QVERIFY(fuzzyCompare(u.x() * len, v.x()));
- QVERIFY(fuzzyCompare(u.y() * len, v.y()));
+ QVERIFY(qFuzzyCompare(u.length(), 1.0f));
+ QVERIFY(qFuzzyCompare(u.x() * len, v.x()));
+ QVERIFY(qFuzzyCompare(u.y() * len, v.y()));
}
// Test the unit vector conversion for 3D vectors.
@@ -690,20 +681,20 @@ void tst_QVectorND::normalized3_data()
}
void tst_QVectorND::normalized3()
{
- QFETCH(qreal, x);
- QFETCH(qreal, y);
- QFETCH(qreal, z);
- QFETCH(qreal, len);
+ QFETCH(float, x);
+ QFETCH(float, y);
+ QFETCH(float, z);
+ QFETCH(float, len);
QVector3D v(x, y, z);
QVector3D u = v.normalized();
if (v.isNull())
QVERIFY(u.isNull());
else
- QVERIFY(fuzzyCompare(u.length(), qreal(1.0f)));
- QVERIFY(fuzzyCompare(u.x() * len, v.x()));
- QVERIFY(fuzzyCompare(u.y() * len, v.y()));
- QVERIFY(fuzzyCompare(u.z() * len, v.z()));
+ QVERIFY(qFuzzyCompare(u.length(), 1.0f));
+ QVERIFY(qFuzzyCompare(u.x() * len, v.x()));
+ QVERIFY(qFuzzyCompare(u.y() * len, v.y()));
+ QVERIFY(qFuzzyCompare(u.z() * len, v.z()));
}
// Test the unit vector conversion for 4D vectors.
@@ -714,22 +705,22 @@ void tst_QVectorND::normalized4_data()
}
void tst_QVectorND::normalized4()
{
- QFETCH(qreal, x);
- QFETCH(qreal, y);
- QFETCH(qreal, z);
- QFETCH(qreal, w);
- QFETCH(qreal, len);
+ QFETCH(float, x);
+ QFETCH(float, y);
+ QFETCH(float, z);
+ QFETCH(float, w);
+ QFETCH(float, len);
QVector4D v(x, y, z, w);
QVector4D u = v.normalized();
if (v.isNull())
QVERIFY(u.isNull());
else
- QVERIFY(fuzzyCompare(u.length(), qreal(1.0f)));
- QVERIFY(fuzzyCompare(u.x() * len, v.x()));
- QVERIFY(fuzzyCompare(u.y() * len, v.y()));
- QVERIFY(fuzzyCompare(u.z() * len, v.z()));
- QVERIFY(fuzzyCompare(u.w() * len, v.w()));
+ QVERIFY(qFuzzyCompare(u.length(), 1.0f));
+ QVERIFY(qFuzzyCompare(u.x() * len, v.x()));
+ QVERIFY(qFuzzyCompare(u.y() * len, v.y()));
+ QVERIFY(qFuzzyCompare(u.z() * len, v.z()));
+ QVERIFY(qFuzzyCompare(u.w() * len, v.w()));
}
// Test the unit vector conversion for 2D vectors.
@@ -740,8 +731,8 @@ void tst_QVectorND::normalize2_data()
}
void tst_QVectorND::normalize2()
{
- QFETCH(qreal, x);
- QFETCH(qreal, y);
+ QFETCH(float, x);
+ QFETCH(float, y);
QVector2D v(x, y);
bool isNull = v.isNull();
@@ -749,7 +740,7 @@ void tst_QVectorND::normalize2()
if (isNull)
QVERIFY(v.isNull());
else
- QVERIFY(fuzzyCompare(v.length(), qreal(1.0f)));
+ QVERIFY(qFuzzyCompare(v.length(), 1.0f));
}
// Test the unit vector conversion for 3D vectors.
@@ -760,9 +751,9 @@ void tst_QVectorND::normalize3_data()
}
void tst_QVectorND::normalize3()
{
- QFETCH(qreal, x);
- QFETCH(qreal, y);
- QFETCH(qreal, z);
+ QFETCH(float, x);
+ QFETCH(float, y);
+ QFETCH(float, z);
QVector3D v(x, y, z);
bool isNull = v.isNull();
@@ -770,7 +761,7 @@ void tst_QVectorND::normalize3()
if (isNull)
QVERIFY(v.isNull());
else
- QVERIFY(fuzzyCompare(v.length(), qreal(1.0f)));
+ QVERIFY(qFuzzyCompare(v.length(), 1.0f));
}
// Test the unit vector conversion for 4D vectors.
@@ -781,10 +772,10 @@ void tst_QVectorND::normalize4_data()
}
void tst_QVectorND::normalize4()
{
- QFETCH(qreal, x);
- QFETCH(qreal, y);
- QFETCH(qreal, z);
- QFETCH(qreal, w);
+ QFETCH(float, x);
+ QFETCH(float, y);
+ QFETCH(float, z);
+ QFETCH(float, w);
QVector4D v(x, y, z, w);
bool isNull = v.isNull();
@@ -792,7 +783,7 @@ void tst_QVectorND::normalize4()
if (isNull)
QVERIFY(v.isNull());
else
- QVERIFY(fuzzyCompare(v.length(), qreal(1.0f)));
+ QVERIFY(qFuzzyCompare(v.length(), 1.0f));
}
// Test the comparison operators for 2D vectors.
@@ -843,41 +834,41 @@ void tst_QVectorND::compare4()
// Test vector addition for 2D vectors.
void tst_QVectorND::add2_data()
{
- QTest::addColumn<qreal>("x1");
- QTest::addColumn<qreal>("y1");
- QTest::addColumn<qreal>("x2");
- QTest::addColumn<qreal>("y2");
- QTest::addColumn<qreal>("x3");
- QTest::addColumn<qreal>("y3");
+ QTest::addColumn<float>("x1");
+ QTest::addColumn<float>("y1");
+ QTest::addColumn<float>("x2");
+ QTest::addColumn<float>("y2");
+ QTest::addColumn<float>("x3");
+ QTest::addColumn<float>("y3");
QTest::newRow("null")
- << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f;
+ << 0.0f << 0.0f
+ << 0.0f << 0.0f
+ << 0.0f << 0.0f;
QTest::newRow("xonly")
- << (qreal)1.0f << (qreal)0.0f
- << (qreal)2.0f << (qreal)0.0f
- << (qreal)3.0f << (qreal)0.0f;
+ << 1.0f << 0.0f
+ << 2.0f << 0.0f
+ << 3.0f << 0.0f;
QTest::newRow("yonly")
- << (qreal)0.0f << (qreal)1.0f
- << (qreal)0.0f << (qreal)2.0f
- << (qreal)0.0f << (qreal)3.0f;
+ << 0.0f << 1.0f
+ << 0.0f << 2.0f
+ << 0.0f << 3.0f;
QTest::newRow("all")
- << (qreal)1.0f << (qreal)2.0f
- << (qreal)4.0f << (qreal)5.0f
- << (qreal)5.0f << (qreal)7.0f;
+ << 1.0f << 2.0f
+ << 4.0f << 5.0f
+ << 5.0f << 7.0f;
}
void tst_QVectorND::add2()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, x3);
- QFETCH(qreal, y3);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, x3);
+ QFETCH(float, y3);
QVector2D v1(x1, y1);
QVector2D v2(x2, y2);
@@ -896,52 +887,52 @@ void tst_QVectorND::add2()
// Test vector addition for 3D vectors.
void tst_QVectorND::add3_data()
{
- QTest::addColumn<qreal>("x1");
- QTest::addColumn<qreal>("y1");
- QTest::addColumn<qreal>("z1");
- QTest::addColumn<qreal>("x2");
- QTest::addColumn<qreal>("y2");
- QTest::addColumn<qreal>("z2");
- QTest::addColumn<qreal>("x3");
- QTest::addColumn<qreal>("y3");
- QTest::addColumn<qreal>("z3");
+ QTest::addColumn<float>("x1");
+ QTest::addColumn<float>("y1");
+ QTest::addColumn<float>("z1");
+ QTest::addColumn<float>("x2");
+ QTest::addColumn<float>("y2");
+ QTest::addColumn<float>("z2");
+ QTest::addColumn<float>("x3");
+ QTest::addColumn<float>("y3");
+ QTest::addColumn<float>("z3");
QTest::newRow("null")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f;
+ << 0.0f << 0.0f << 0.0f
+ << 0.0f << 0.0f << 0.0f
+ << 0.0f << 0.0f << 0.0f;
QTest::newRow("xonly")
- << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)3.0f << (qreal)0.0f << (qreal)0.0f;
+ << 1.0f << 0.0f << 0.0f
+ << 2.0f << 0.0f << 0.0f
+ << 3.0f << 0.0f << 0.0f;
QTest::newRow("yonly")
- << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)3.0f << (qreal)0.0f;
+ << 0.0f << 1.0f << 0.0f
+ << 0.0f << 2.0f << 0.0f
+ << 0.0f << 3.0f << 0.0f;
QTest::newRow("zonly")
- << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)3.0f;
+ << 0.0f << 0.0f << 1.0f
+ << 0.0f << 0.0f << 2.0f
+ << 0.0f << 0.0f << 3.0f;
QTest::newRow("all")
- << (qreal)1.0f << (qreal)2.0f << (qreal)3.0f
- << (qreal)4.0f << (qreal)5.0f << (qreal)-6.0f
- << (qreal)5.0f << (qreal)7.0f << (qreal)-3.0f;
+ << 1.0f << 2.0f << 3.0f
+ << 4.0f << 5.0f << -6.0f
+ << 5.0f << 7.0f << -3.0f;
}
void tst_QVectorND::add3()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, z2);
- QFETCH(qreal, x3);
- QFETCH(qreal, y3);
- QFETCH(qreal, z3);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, z2);
+ QFETCH(float, x3);
+ QFETCH(float, y3);
+ QFETCH(float, z3);
QVector3D v1(x1, y1, z1);
QVector3D v2(x2, y2, z2);
@@ -961,63 +952,63 @@ void tst_QVectorND::add3()
// Test vector addition for 4D vectors.
void tst_QVectorND::add4_data()
{
- QTest::addColumn<qreal>("x1");
- QTest::addColumn<qreal>("y1");
- QTest::addColumn<qreal>("z1");
- QTest::addColumn<qreal>("w1");
- QTest::addColumn<qreal>("x2");
- QTest::addColumn<qreal>("y2");
- QTest::addColumn<qreal>("z2");
- QTest::addColumn<qreal>("w2");
- QTest::addColumn<qreal>("x3");
- QTest::addColumn<qreal>("y3");
- QTest::addColumn<qreal>("z3");
- QTest::addColumn<qreal>("w3");
+ QTest::addColumn<float>("x1");
+ QTest::addColumn<float>("y1");
+ QTest::addColumn<float>("z1");
+ QTest::addColumn<float>("w1");
+ QTest::addColumn<float>("x2");
+ QTest::addColumn<float>("y2");
+ QTest::addColumn<float>("z2");
+ QTest::addColumn<float>("w2");
+ QTest::addColumn<float>("x3");
+ QTest::addColumn<float>("y3");
+ QTest::addColumn<float>("z3");
+ QTest::addColumn<float>("w3");
QTest::newRow("null")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f;
+ << 0.0f << 0.0f << 0.0f << 0.0f
+ << 0.0f << 0.0f << 0.0f << 0.0f
+ << 0.0f << 0.0f << 0.0f << 0.0f;
QTest::newRow("xonly")
- << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)3.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f;
+ << 1.0f << 0.0f << 0.0f << 0.0f
+ << 2.0f << 0.0f << 0.0f << 0.0f
+ << 3.0f << 0.0f << 0.0f << 0.0f;
QTest::newRow("yonly")
- << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)3.0f << (qreal)0.0f << (qreal)0.0f;
+ << 0.0f << 1.0f << 0.0f << 0.0f
+ << 0.0f << 2.0f << 0.0f << 0.0f
+ << 0.0f << 3.0f << 0.0f << 0.0f;
QTest::newRow("zonly")
- << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)3.0f << (qreal)0.0f;
+ << 0.0f << 0.0f << 1.0f << 0.0f
+ << 0.0f << 0.0f << 2.0f << 0.0f
+ << 0.0f << 0.0f << 3.0f << 0.0f;
QTest::newRow("wonly")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)3.0f;
+ << 0.0f << 0.0f << 0.0f << 1.0f
+ << 0.0f << 0.0f << 0.0f << 2.0f
+ << 0.0f << 0.0f << 0.0f << 3.0f;
QTest::newRow("all")
- << (qreal)1.0f << (qreal)2.0f << (qreal)3.0f << (qreal)8.0f
- << (qreal)4.0f << (qreal)5.0f << (qreal)-6.0f << (qreal)9.0f
- << (qreal)5.0f << (qreal)7.0f << (qreal)-3.0f << (qreal)17.0f;
+ << 1.0f << 2.0f << 3.0f << 8.0f
+ << 4.0f << 5.0f << -6.0f << 9.0f
+ << 5.0f << 7.0f << -3.0f << 17.0f;
}
void tst_QVectorND::add4()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, w1);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, z2);
- QFETCH(qreal, w2);
- QFETCH(qreal, x3);
- QFETCH(qreal, y3);
- QFETCH(qreal, z3);
- QFETCH(qreal, w3);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, w1);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, z2);
+ QFETCH(float, w2);
+ QFETCH(float, x3);
+ QFETCH(float, y3);
+ QFETCH(float, z3);
+ QFETCH(float, w3);
QVector4D v1(x1, y1, z1, w1);
QVector4D v2(x2, y2, z2, w2);
@@ -1043,12 +1034,12 @@ void tst_QVectorND::subtract2_data()
}
void tst_QVectorND::subtract2()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, x3);
- QFETCH(qreal, y3);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, x3);
+ QFETCH(float, y3);
QVector2D v1(x1, y1);
QVector2D v2(x2, y2);
@@ -1080,15 +1071,15 @@ void tst_QVectorND::subtract3_data()
}
void tst_QVectorND::subtract3()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, z2);
- QFETCH(qreal, x3);
- QFETCH(qreal, y3);
- QFETCH(qreal, z3);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, z2);
+ QFETCH(float, x3);
+ QFETCH(float, y3);
+ QFETCH(float, z3);
QVector3D v1(x1, y1, z1);
QVector3D v2(x2, y2, z2);
@@ -1122,18 +1113,18 @@ void tst_QVectorND::subtract4_data()
}
void tst_QVectorND::subtract4()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, w1);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, z2);
- QFETCH(qreal, w2);
- QFETCH(qreal, x3);
- QFETCH(qreal, y3);
- QFETCH(qreal, z3);
- QFETCH(qreal, w3);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, w1);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, z2);
+ QFETCH(float, w2);
+ QFETCH(float, x3);
+ QFETCH(float, y3);
+ QFETCH(float, z3);
+ QFETCH(float, w3);
QVector4D v1(x1, y1, z1, w1);
QVector4D v2(x2, y2, z2, w2);
@@ -1164,41 +1155,41 @@ void tst_QVectorND::subtract4()
// Test component-wise vector multiplication for 2D vectors.
void tst_QVectorND::multiply2_data()
{
- QTest::addColumn<qreal>("x1");
- QTest::addColumn<qreal>("y1");
- QTest::addColumn<qreal>("x2");
- QTest::addColumn<qreal>("y2");
- QTest::addColumn<qreal>("x3");
- QTest::addColumn<qreal>("y3");
+ QTest::addColumn<float>("x1");
+ QTest::addColumn<float>("y1");
+ QTest::addColumn<float>("x2");
+ QTest::addColumn<float>("y2");
+ QTest::addColumn<float>("x3");
+ QTest::addColumn<float>("y3");
QTest::newRow("null")
- << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f;
+ << 0.0f << 0.0f
+ << 0.0f << 0.0f
+ << 0.0f << 0.0f;
QTest::newRow("xonly")
- << (qreal)1.0f << (qreal)0.0f
- << (qreal)2.0f << (qreal)0.0f
- << (qreal)2.0f << (qreal)0.0f;
+ << 1.0f << 0.0f
+ << 2.0f << 0.0f
+ << 2.0f << 0.0f;
QTest::newRow("yonly")
- << (qreal)0.0f << (qreal)1.0f
- << (qreal)0.0f << (qreal)2.0f
- << (qreal)0.0f << (qreal)2.0f;
+ << 0.0f << 1.0f
+ << 0.0f << 2.0f
+ << 0.0f << 2.0f;
QTest::newRow("all")
- << (qreal)1.0f << (qreal)2.0f
- << (qreal)4.0f << (qreal)5.0f
- << (qreal)4.0f << (qreal)10.0f;
+ << 1.0f << 2.0f
+ << 4.0f << 5.0f
+ << 4.0f << 10.0f;
}
void tst_QVectorND::multiply2()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, x3);
- QFETCH(qreal, y3);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, x3);
+ QFETCH(float, y3);
QVector2D v1(x1, y1);
QVector2D v2(x2, y2);
@@ -1217,52 +1208,52 @@ void tst_QVectorND::multiply2()
// Test component-wise vector multiplication for 3D vectors.
void tst_QVectorND::multiply3_data()
{
- QTest::addColumn<qreal>("x1");
- QTest::addColumn<qreal>("y1");
- QTest::addColumn<qreal>("z1");
- QTest::addColumn<qreal>("x2");
- QTest::addColumn<qreal>("y2");
- QTest::addColumn<qreal>("z2");
- QTest::addColumn<qreal>("x3");
- QTest::addColumn<qreal>("y3");
- QTest::addColumn<qreal>("z3");
+ QTest::addColumn<float>("x1");
+ QTest::addColumn<float>("y1");
+ QTest::addColumn<float>("z1");
+ QTest::addColumn<float>("x2");
+ QTest::addColumn<float>("y2");
+ QTest::addColumn<float>("z2");
+ QTest::addColumn<float>("x3");
+ QTest::addColumn<float>("y3");
+ QTest::addColumn<float>("z3");
QTest::newRow("null")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f;
+ << 0.0f << 0.0f << 0.0f
+ << 0.0f << 0.0f << 0.0f
+ << 0.0f << 0.0f << 0.0f;
QTest::newRow("xonly")
- << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f;
+ << 1.0f << 0.0f << 0.0f
+ << 2.0f << 0.0f << 0.0f
+ << 2.0f << 0.0f << 0.0f;
QTest::newRow("yonly")
- << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f;
+ << 0.0f << 1.0f << 0.0f
+ << 0.0f << 2.0f << 0.0f
+ << 0.0f << 2.0f << 0.0f;
QTest::newRow("zonly")
- << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f;
+ << 0.0f << 0.0f << 1.0f
+ << 0.0f << 0.0f << 2.0f
+ << 0.0f << 0.0f << 2.0f;
QTest::newRow("all")
- << (qreal)1.0f << (qreal)2.0f << (qreal)3.0f
- << (qreal)4.0f << (qreal)5.0f << (qreal)-6.0f
- << (qreal)4.0f << (qreal)10.0f << (qreal)-18.0f;
+ << 1.0f << 2.0f << 3.0f
+ << 4.0f << 5.0f << -6.0f
+ << 4.0f << 10.0f << -18.0f;
}
void tst_QVectorND::multiply3()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, z2);
- QFETCH(qreal, x3);
- QFETCH(qreal, y3);
- QFETCH(qreal, z3);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, z2);
+ QFETCH(float, x3);
+ QFETCH(float, y3);
+ QFETCH(float, z3);
QVector3D v1(x1, y1, z1);
QVector3D v2(x2, y2, z2);
@@ -1282,63 +1273,63 @@ void tst_QVectorND::multiply3()
// Test component-wise vector multiplication for 4D vectors.
void tst_QVectorND::multiply4_data()
{
- QTest::addColumn<qreal>("x1");
- QTest::addColumn<qreal>("y1");
- QTest::addColumn<qreal>("z1");
- QTest::addColumn<qreal>("w1");
- QTest::addColumn<qreal>("x2");
- QTest::addColumn<qreal>("y2");
- QTest::addColumn<qreal>("z2");
- QTest::addColumn<qreal>("w2");
- QTest::addColumn<qreal>("x3");
- QTest::addColumn<qreal>("y3");
- QTest::addColumn<qreal>("z3");
- QTest::addColumn<qreal>("w3");
+ QTest::addColumn<float>("x1");
+ QTest::addColumn<float>("y1");
+ QTest::addColumn<float>("z1");
+ QTest::addColumn<float>("w1");
+ QTest::addColumn<float>("x2");
+ QTest::addColumn<float>("y2");
+ QTest::addColumn<float>("z2");
+ QTest::addColumn<float>("w2");
+ QTest::addColumn<float>("x3");
+ QTest::addColumn<float>("y3");
+ QTest::addColumn<float>("z3");
+ QTest::addColumn<float>("w3");
QTest::newRow("null")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f;
+ << 0.0f << 0.0f << 0.0f << 0.0f
+ << 0.0f << 0.0f << 0.0f << 0.0f
+ << 0.0f << 0.0f << 0.0f << 0.0f;
QTest::newRow("xonly")
- << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f;
+ << 1.0f << 0.0f << 0.0f << 0.0f
+ << 2.0f << 0.0f << 0.0f << 0.0f
+ << 2.0f << 0.0f << 0.0f << 0.0f;
QTest::newRow("yonly")
- << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f;
+ << 0.0f << 1.0f << 0.0f << 0.0f
+ << 0.0f << 2.0f << 0.0f << 0.0f
+ << 0.0f << 2.0f << 0.0f << 0.0f;
QTest::newRow("zonly")
- << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f;
+ << 0.0f << 0.0f << 1.0f << 0.0f
+ << 0.0f << 0.0f << 2.0f << 0.0f
+ << 0.0f << 0.0f << 2.0f << 0.0f;
QTest::newRow("wonly")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f;
+ << 0.0f << 0.0f << 0.0f << 1.0f
+ << 0.0f << 0.0f << 0.0f << 2.0f
+ << 0.0f << 0.0f << 0.0f << 2.0f;
QTest::newRow("all")
- << (qreal)1.0f << (qreal)2.0f << (qreal)3.0f << (qreal)8.0f
- << (qreal)4.0f << (qreal)5.0f << (qreal)-6.0f << (qreal)9.0f
- << (qreal)4.0f << (qreal)10.0f << (qreal)-18.0f << (qreal)72.0f;
+ << 1.0f << 2.0f << 3.0f << 8.0f
+ << 4.0f << 5.0f << -6.0f << 9.0f
+ << 4.0f << 10.0f << -18.0f << 72.0f;
}
void tst_QVectorND::multiply4()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, w1);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, z2);
- QFETCH(qreal, w2);
- QFETCH(qreal, x3);
- QFETCH(qreal, y3);
- QFETCH(qreal, z3);
- QFETCH(qreal, w3);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, w1);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, z2);
+ QFETCH(float, w2);
+ QFETCH(float, x3);
+ QFETCH(float, y3);
+ QFETCH(float, z3);
+ QFETCH(float, w3);
QVector4D v1(x1, y1, z1, w1);
QVector4D v2(x2, y2, z2, w2);
@@ -1359,44 +1350,44 @@ void tst_QVectorND::multiply4()
// Test vector multiplication by a factor for 2D vectors.
void tst_QVectorND::multiplyFactor2_data()
{
- QTest::addColumn<qreal>("x1");
- QTest::addColumn<qreal>("y1");
- QTest::addColumn<qreal>("factor");
- QTest::addColumn<qreal>("x2");
- QTest::addColumn<qreal>("y2");
+ QTest::addColumn<float>("x1");
+ QTest::addColumn<float>("y1");
+ QTest::addColumn<float>("factor");
+ QTest::addColumn<float>("x2");
+ QTest::addColumn<float>("y2");
QTest::newRow("null")
- << (qreal)0.0f << (qreal)0.0f
- << (qreal)100.0f
- << (qreal)0.0f << (qreal)0.0f;
+ << 0.0f << 0.0f
+ << 100.0f
+ << 0.0f << 0.0f;
QTest::newRow("xonly")
- << (qreal)1.0f << (qreal)0.0f
- << (qreal)2.0f
- << (qreal)2.0f << (qreal)0.0f;
+ << 1.0f << 0.0f
+ << 2.0f
+ << 2.0f << 0.0f;
QTest::newRow("yonly")
- << (qreal)0.0f << (qreal)1.0f
- << (qreal)2.0f
- << (qreal)0.0f << (qreal)2.0f;
+ << 0.0f << 1.0f
+ << 2.0f
+ << 0.0f << 2.0f;
QTest::newRow("all")
- << (qreal)1.0f << (qreal)2.0f
- << (qreal)2.0f
- << (qreal)2.0f << (qreal)4.0f;
+ << 1.0f << 2.0f
+ << 2.0f
+ << 2.0f << 4.0f;
QTest::newRow("allzero")
- << (qreal)1.0f << (qreal)2.0f
- << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f;
+ << 1.0f << 2.0f
+ << 0.0f
+ << 0.0f << 0.0f;
}
void tst_QVectorND::multiplyFactor2()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, factor);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, factor);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
QVector2D v1(x1, y1);
QVector2D v2(x2, y2);
@@ -1415,53 +1406,53 @@ void tst_QVectorND::multiplyFactor2()
// Test vector multiplication by a factor for 3D vectors.
void tst_QVectorND::multiplyFactor3_data()
{
- QTest::addColumn<qreal>("x1");
- QTest::addColumn<qreal>("y1");
- QTest::addColumn<qreal>("z1");
- QTest::addColumn<qreal>("factor");
- QTest::addColumn<qreal>("x2");
- QTest::addColumn<qreal>("y2");
- QTest::addColumn<qreal>("z2");
+ QTest::addColumn<float>("x1");
+ QTest::addColumn<float>("y1");
+ QTest::addColumn<float>("z1");
+ QTest::addColumn<float>("factor");
+ QTest::addColumn<float>("x2");
+ QTest::addColumn<float>("y2");
+ QTest::addColumn<float>("z2");
QTest::newRow("null")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)100.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f;
+ << 0.0f << 0.0f << 0.0f
+ << 100.0f
+ << 0.0f << 0.0f << 0.0f;
QTest::newRow("xonly")
- << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)2.0f
- << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f;
+ << 1.0f << 0.0f << 0.0f
+ << 2.0f
+ << 2.0f << 0.0f << 0.0f;
QTest::newRow("yonly")
- << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f
- << (qreal)2.0f
- << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f;
+ << 0.0f << 1.0f << 0.0f
+ << 2.0f
+ << 0.0f << 2.0f << 0.0f;
QTest::newRow("zonly")
- << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f
- << (qreal)2.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f;
+ << 0.0f << 0.0f << 1.0f
+ << 2.0f
+ << 0.0f << 0.0f << 2.0f;
QTest::newRow("all")
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f
- << (qreal)2.0f
- << (qreal)2.0f << (qreal)4.0f << (qreal)-6.0f;
+ << 1.0f << 2.0f << -3.0f
+ << 2.0f
+ << 2.0f << 4.0f << -6.0f;
QTest::newRow("allzero")
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f
- << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f;
+ << 1.0f << 2.0f << -3.0f
+ << 0.0f
+ << 0.0f << 0.0f << 0.0f;
}
void tst_QVectorND::multiplyFactor3()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, factor);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, z2);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, factor);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, z2);
QVector3D v1(x1, y1, z1);
QVector3D v2(x2, y2, z2);
@@ -1481,62 +1472,62 @@ void tst_QVectorND::multiplyFactor3()
// Test vector multiplication by a factor for 4D vectors.
void tst_QVectorND::multiplyFactor4_data()
{
- QTest::addColumn<qreal>("x1");
- QTest::addColumn<qreal>("y1");
- QTest::addColumn<qreal>("z1");
- QTest::addColumn<qreal>("w1");
- QTest::addColumn<qreal>("factor");
- QTest::addColumn<qreal>("x2");
- QTest::addColumn<qreal>("y2");
- QTest::addColumn<qreal>("z2");
- QTest::addColumn<qreal>("w2");
+ QTest::addColumn<float>("x1");
+ QTest::addColumn<float>("y1");
+ QTest::addColumn<float>("z1");
+ QTest::addColumn<float>("w1");
+ QTest::addColumn<float>("factor");
+ QTest::addColumn<float>("x2");
+ QTest::addColumn<float>("y2");
+ QTest::addColumn<float>("z2");
+ QTest::addColumn<float>("w2");
QTest::newRow("null")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)100.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f;
+ << 0.0f << 0.0f << 0.0f << 0.0f
+ << 100.0f
+ << 0.0f << 0.0f << 0.0f << 0.0f;
QTest::newRow("xonly")
- << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)2.0f
- << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f;
+ << 1.0f << 0.0f << 0.0f << 0.0f
+ << 2.0f
+ << 2.0f << 0.0f << 0.0f << 0.0f;
QTest::newRow("yonly")
- << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)2.0f
- << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f << (qreal)0.0f;
+ << 0.0f << 1.0f << 0.0f << 0.0f
+ << 2.0f
+ << 0.0f << 2.0f << 0.0f << 0.0f;
QTest::newRow("zonly")
- << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f
- << (qreal)2.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f;
+ << 0.0f << 0.0f << 1.0f << 0.0f
+ << 2.0f
+ << 0.0f << 0.0f << 2.0f << 0.0f;
QTest::newRow("wonly")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f
- << (qreal)2.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f;
+ << 0.0f << 0.0f << 0.0f << 1.0f
+ << 2.0f
+ << 0.0f << 0.0f << 0.0f << 2.0f;
QTest::newRow("all")
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)4.0f
- << (qreal)2.0f
- << (qreal)2.0f << (qreal)4.0f << (qreal)-6.0f << (qreal)8.0f;
+ << 1.0f << 2.0f << -3.0f << 4.0f
+ << 2.0f
+ << 2.0f << 4.0f << -6.0f << 8.0f;
QTest::newRow("allzero")
- << (qreal)1.0f << (qreal)2.0f << (qreal)-3.0f << (qreal)4.0f
- << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f;
+ << 1.0f << 2.0f << -3.0f << 4.0f
+ << 0.0f
+ << 0.0f << 0.0f << 0.0f << 0.0f;
}
void tst_QVectorND::multiplyFactor4()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, w1);
- QFETCH(qreal, factor);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, z2);
- QFETCH(qreal, w2);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, w1);
+ QFETCH(float, factor);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, z2);
+ QFETCH(float, w2);
QVector4D v1(x1, y1, z1, w1);
QVector4D v2(x2, y2, z2, w2);
@@ -1562,16 +1553,16 @@ void tst_QVectorND::divide2_data()
}
void tst_QVectorND::divide2()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, factor);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, factor);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
QVector2D v1(x1, y1);
QVector2D v2(x2, y2);
- if (factor == (qreal)0.0f)
+ if (factor == 0.0f)
return;
QVERIFY((v2 / factor) == v1);
@@ -1592,18 +1583,18 @@ void tst_QVectorND::divide3_data()
}
void tst_QVectorND::divide3()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, factor);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, z2);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, factor);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, z2);
QVector3D v1(x1, y1, z1);
QVector3D v2(x2, y2, z2);
- if (factor == (qreal)0.0f)
+ if (factor == 0.0f)
return;
QVERIFY((v2 / factor) == v1);
@@ -1625,20 +1616,20 @@ void tst_QVectorND::divide4_data()
}
void tst_QVectorND::divide4()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, w1);
- QFETCH(qreal, factor);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, z2);
- QFETCH(qreal, w2);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, w1);
+ QFETCH(float, factor);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, z2);
+ QFETCH(float, w2);
QVector4D v1(x1, y1, z1, w1);
QVector4D v2(x2, y2, z2, w2);
- if (factor == (qreal)0.0f)
+ if (factor == 0.0f)
return;
QVERIFY((v2 / factor) == v1);
@@ -1661,8 +1652,8 @@ void tst_QVectorND::negate2_data()
}
void tst_QVectorND::negate2()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
QVector2D v1(x1, y1);
QVector2D v2(-x1, -y1);
@@ -1678,9 +1669,9 @@ void tst_QVectorND::negate3_data()
}
void tst_QVectorND::negate3()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
QVector3D v1(x1, y1, z1);
QVector3D v2(-x1, -y1, -z1);
@@ -1696,10 +1687,10 @@ void tst_QVectorND::negate4_data()
}
void tst_QVectorND::negate4()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, w1);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, w1);
QVector4D v1(x1, y1, z1, w1);
QVector4D v2(-x1, -y1, -z1, -w1);
@@ -1710,46 +1701,46 @@ void tst_QVectorND::negate4()
// Test the computation of vector cross-products.
void tst_QVectorND::crossProduct_data()
{
- QTest::addColumn<qreal>("x1");
- QTest::addColumn<qreal>("y1");
- QTest::addColumn<qreal>("z1");
- QTest::addColumn<qreal>("x2");
- QTest::addColumn<qreal>("y2");
- QTest::addColumn<qreal>("z2");
- QTest::addColumn<qreal>("x3");
- QTest::addColumn<qreal>("y3");
- QTest::addColumn<qreal>("z3");
- QTest::addColumn<qreal>("dot");
+ QTest::addColumn<float>("x1");
+ QTest::addColumn<float>("y1");
+ QTest::addColumn<float>("z1");
+ QTest::addColumn<float>("x2");
+ QTest::addColumn<float>("y2");
+ QTest::addColumn<float>("z2");
+ QTest::addColumn<float>("x3");
+ QTest::addColumn<float>("y3");
+ QTest::addColumn<float>("z3");
+ QTest::addColumn<float>("dot");
QTest::newRow("null")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f;
+ << 0.0f << 0.0f << 0.0f
+ << 0.0f << 0.0f << 0.0f
+ << 0.0f << 0.0f << 0.0f
+ << 0.0f;
QTest::newRow("unitvec")
- << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f
- << (qreal)0.0f;
+ << 1.0f << 0.0f << 0.0f
+ << 0.0f << 1.0f << 0.0f
+ << 0.0f << 0.0f << 1.0f
+ << 0.0f;
QTest::newRow("complex")
- << (qreal)1.0f << (qreal)2.0f << (qreal)3.0f
- << (qreal)4.0f << (qreal)5.0f << (qreal)6.0f
- << (qreal)-3.0f << (qreal)6.0f << (qreal)-3.0f
- << (qreal)32.0f;
+ << 1.0f << 2.0f << 3.0f
+ << 4.0f << 5.0f << 6.0f
+ << -3.0f << 6.0f << -3.0f
+ << 32.0f;
}
void tst_QVectorND::crossProduct()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, z2);
- QFETCH(qreal, x3);
- QFETCH(qreal, y3);
- QFETCH(qreal, z3);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, z2);
+ QFETCH(float, x3);
+ QFETCH(float, y3);
+ QFETCH(float, z3);
QVector3D v1(x1, y1, z1);
QVector3D v2(x2, y2, z2);
@@ -1759,9 +1750,9 @@ void tst_QVectorND::crossProduct()
QVERIFY(v4 == v3);
// Compute the cross-product long-hand and check again.
- qreal xres = y1 * z2 - z1 * y2;
- qreal yres = z1 * x2 - x1 * z2;
- qreal zres = x1 * y2 - y1 * x2;
+ float xres = y1 * z2 - z1 * y2;
+ float yres = z1 * x2 - x1 * z2;
+ float zres = x1 * y2 - y1 * x2;
QCOMPARE(v4.x(), xres);
QCOMPARE(v4.y(), yres);
@@ -1776,15 +1767,15 @@ void tst_QVectorND::normal_data()
}
void tst_QVectorND::normal()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, z2);
- QFETCH(qreal, x3);
- QFETCH(qreal, y3);
- QFETCH(qreal, z3);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, z2);
+ QFETCH(float, x3);
+ QFETCH(float, y3);
+ QFETCH(float, z3);
QVector3D v1(x1, y1, z1);
QVector3D v2(x2, y2, z2);
@@ -1800,65 +1791,65 @@ void tst_QVectorND::normal()
// Test distance to plane calculations.
void tst_QVectorND::distanceToPlane_data()
{
- QTest::addColumn<qreal>("x1"); // Point on plane
- QTest::addColumn<qreal>("y1");
- QTest::addColumn<qreal>("z1");
- QTest::addColumn<qreal>("x2"); // Normal to plane
- QTest::addColumn<qreal>("y2");
- QTest::addColumn<qreal>("z2");
- QTest::addColumn<qreal>("x3"); // Point to test for distance
- QTest::addColumn<qreal>("y3");
- QTest::addColumn<qreal>("z3");
- QTest::addColumn<qreal>("x4"); // Second point on plane
- QTest::addColumn<qreal>("y4");
- QTest::addColumn<qreal>("z4");
- QTest::addColumn<qreal>("x5"); // Third point on plane
- QTest::addColumn<qreal>("y5");
- QTest::addColumn<qreal>("z5");
- QTest::addColumn<qreal>("distance");
+ QTest::addColumn<float>("x1"); // Point on plane
+ QTest::addColumn<float>("y1");
+ QTest::addColumn<float>("z1");
+ QTest::addColumn<float>("x2"); // Normal to plane
+ QTest::addColumn<float>("y2");
+ QTest::addColumn<float>("z2");
+ QTest::addColumn<float>("x3"); // Point to test for distance
+ QTest::addColumn<float>("y3");
+ QTest::addColumn<float>("z3");
+ QTest::addColumn<float>("x4"); // Second point on plane
+ QTest::addColumn<float>("y4");
+ QTest::addColumn<float>("z4");
+ QTest::addColumn<float>("x5"); // Third point on plane
+ QTest::addColumn<float>("y5");
+ QTest::addColumn<float>("z5");
+ QTest::addColumn<float>("distance");
QTest::newRow("null")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f
- << (qreal)0.0f;
+ << 0.0f << 0.0f << 0.0f
+ << 0.0f << 0.0f << 1.0f
+ << 0.0f << 0.0f << 0.0f
+ << 1.0f << 0.0f << 0.0f
+ << 0.0f << 2.0f << 0.0f
+ << 0.0f;
QTest::newRow("above")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)2.0f
- << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f
- << (qreal)2.0f;
+ << 0.0f << 0.0f << 0.0f
+ << 0.0f << 0.0f << 1.0f
+ << 0.0f << 0.0f << 2.0f
+ << 1.0f << 0.0f << 0.0f
+ << 0.0f << 2.0f << 0.0f
+ << 2.0f;
QTest::newRow("below")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f
- << (qreal)-1.0f << (qreal)1.0f << (qreal)-2.0f
- << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f
- << (qreal)-2.0f;
+ << 0.0f << 0.0f << 0.0f
+ << 0.0f << 0.0f << 1.0f
+ << -1.0f << 1.0f << -2.0f
+ << 1.0f << 0.0f << 0.0f
+ << 0.0f << 2.0f << 0.0f
+ << -2.0f;
}
void tst_QVectorND::distanceToPlane()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, z2);
- QFETCH(qreal, x3);
- QFETCH(qreal, y3);
- QFETCH(qreal, z3);
- QFETCH(qreal, x4);
- QFETCH(qreal, y4);
- QFETCH(qreal, z4);
- QFETCH(qreal, x5);
- QFETCH(qreal, y5);
- QFETCH(qreal, z5);
- QFETCH(qreal, distance);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, z2);
+ QFETCH(float, x3);
+ QFETCH(float, y3);
+ QFETCH(float, z3);
+ QFETCH(float, x4);
+ QFETCH(float, y4);
+ QFETCH(float, z4);
+ QFETCH(float, x5);
+ QFETCH(float, y5);
+ QFETCH(float, z5);
+ QFETCH(float, distance);
QVector3D v1(x1, y1, z1);
QVector3D v2(x2, y2, z2);
@@ -1873,59 +1864,59 @@ void tst_QVectorND::distanceToPlane()
// Test distance to line calculations.
void tst_QVectorND::distanceToLine_data()
{
- QTest::addColumn<qreal>("x1"); // Point on line
- QTest::addColumn<qreal>("y1");
- QTest::addColumn<qreal>("z1");
- QTest::addColumn<qreal>("x2"); // Direction of the line
- QTest::addColumn<qreal>("y2");
- QTest::addColumn<qreal>("z2");
- QTest::addColumn<qreal>("x3"); // Point to test for distance
- QTest::addColumn<qreal>("y3");
- QTest::addColumn<qreal>("z3");
- QTest::addColumn<qreal>("distance");
+ QTest::addColumn<float>("x1"); // Point on line
+ QTest::addColumn<float>("y1");
+ QTest::addColumn<float>("z1");
+ QTest::addColumn<float>("x2"); // Direction of the line
+ QTest::addColumn<float>("y2");
+ QTest::addColumn<float>("z2");
+ QTest::addColumn<float>("x3"); // Point to test for distance
+ QTest::addColumn<float>("y3");
+ QTest::addColumn<float>("z3");
+ QTest::addColumn<float>("distance");
QTest::newRow("null")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f;
+ << 0.0f << 0.0f << 0.0f
+ << 0.0f << 0.0f << 1.0f
+ << 0.0f << 0.0f << 0.0f
+ << 0.0f;
QTest::newRow("on line")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)5.0f
- << (qreal)0.0f;
+ << 0.0f << 0.0f << 0.0f
+ << 0.0f << 0.0f << 1.0f
+ << 0.0f << 0.0f << 5.0f
+ << 0.0f;
QTest::newRow("off line")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f
- << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)1.0f;
+ << 0.0f << 0.0f << 0.0f
+ << 0.0f << 0.0f << 1.0f
+ << 1.0f << 0.0f << 0.0f
+ << 1.0f;
QTest::newRow("off line 2")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)1.0f
- << (qreal)0.0f << (qreal)-2.0f << (qreal)0.0f
- << (qreal)2.0f;
+ << 0.0f << 0.0f << 0.0f
+ << 0.0f << 0.0f << 1.0f
+ << 0.0f << -2.0f << 0.0f
+ << 2.0f;
QTest::newRow("points")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)5.0f << (qreal)0.0f
- << (qreal)5.0f;
+ << 0.0f << 0.0f << 0.0f
+ << 0.0f << 0.0f << 0.0f
+ << 0.0f << 5.0f << 0.0f
+ << 5.0f;
}
void tst_QVectorND::distanceToLine()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, z2);
- QFETCH(qreal, x3);
- QFETCH(qreal, y3);
- QFETCH(qreal, z3);
- QFETCH(qreal, distance);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, z2);
+ QFETCH(float, x3);
+ QFETCH(float, y3);
+ QFETCH(float, z3);
+ QFETCH(float, distance);
QVector3D v1(x1, y1, z1);
QVector3D v2(x2, y2, z2);
@@ -1937,34 +1928,34 @@ void tst_QVectorND::distanceToLine()
// Test the computation of dot products for 2D vectors.
void tst_QVectorND::dotProduct2_data()
{
- QTest::addColumn<qreal>("x1");
- QTest::addColumn<qreal>("y1");
- QTest::addColumn<qreal>("x2");
- QTest::addColumn<qreal>("y2");
- QTest::addColumn<qreal>("dot");
+ QTest::addColumn<float>("x1");
+ QTest::addColumn<float>("y1");
+ QTest::addColumn<float>("x2");
+ QTest::addColumn<float>("y2");
+ QTest::addColumn<float>("dot");
QTest::newRow("null")
- << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f;
+ << 0.0f << 0.0f
+ << 0.0f << 0.0f
+ << 0.0f;
QTest::newRow("unitvec")
- << (qreal)1.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)1.0f
- << (qreal)0.0f;
+ << 1.0f << 0.0f
+ << 0.0f << 1.0f
+ << 0.0f;
QTest::newRow("complex")
- << (qreal)1.0f << (qreal)2.0f
- << (qreal)4.0f << (qreal)5.0f
- << (qreal)14.0f;
+ << 1.0f << 2.0f
+ << 4.0f << 5.0f
+ << 14.0f;
}
void tst_QVectorND::dotProduct2()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, dot);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, dot);
QVector2D v1(x1, y1);
QVector2D v2(x2, y2);
@@ -1972,7 +1963,7 @@ void tst_QVectorND::dotProduct2()
QVERIFY(QVector2D::dotProduct(v1, v2) == dot);
// Compute the dot-product long-hand and check again.
- qreal d = x1 * x2 + y1 * y2;
+ float d = x1 * x2 + y1 * y2;
QCOMPARE(QVector2D::dotProduct(v1, v2), d);
}
@@ -1985,16 +1976,16 @@ void tst_QVectorND::dotProduct3_data()
}
void tst_QVectorND::dotProduct3()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, z2);
- QFETCH(qreal, x3);
- QFETCH(qreal, y3);
- QFETCH(qreal, z3);
- QFETCH(qreal, dot);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, z2);
+ QFETCH(float, x3);
+ QFETCH(float, y3);
+ QFETCH(float, z3);
+ QFETCH(float, dot);
Q_UNUSED(x3);
Q_UNUSED(y3);
@@ -2006,7 +1997,7 @@ void tst_QVectorND::dotProduct3()
QVERIFY(QVector3D::dotProduct(v1, v2) == dot);
// Compute the dot-product long-hand and check again.
- qreal d = x1 * x2 + y1 * y2 + z1 * z2;
+ float d = x1 * x2 + y1 * y2 + z1 * z2;
QCOMPARE(QVector3D::dotProduct(v1, v2), d);
}
@@ -2014,42 +2005,42 @@ void tst_QVectorND::dotProduct3()
// Test the computation of dot products for 4D vectors.
void tst_QVectorND::dotProduct4_data()
{
- QTest::addColumn<qreal>("x1");
- QTest::addColumn<qreal>("y1");
- QTest::addColumn<qreal>("z1");
- QTest::addColumn<qreal>("w1");
- QTest::addColumn<qreal>("x2");
- QTest::addColumn<qreal>("y2");
- QTest::addColumn<qreal>("z2");
- QTest::addColumn<qreal>("w2");
- QTest::addColumn<qreal>("dot");
+ QTest::addColumn<float>("x1");
+ QTest::addColumn<float>("y1");
+ QTest::addColumn<float>("z1");
+ QTest::addColumn<float>("w1");
+ QTest::addColumn<float>("x2");
+ QTest::addColumn<float>("y2");
+ QTest::addColumn<float>("z2");
+ QTest::addColumn<float>("w2");
+ QTest::addColumn<float>("dot");
QTest::newRow("null")
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f;
+ << 0.0f << 0.0f << 0.0f << 0.0f
+ << 0.0f << 0.0f << 0.0f << 0.0f
+ << 0.0f;
QTest::newRow("unitvec")
- << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f << (qreal)1.0f << (qreal)0.0f << (qreal)0.0f
- << (qreal)0.0f;
+ << 1.0f << 0.0f << 0.0f << 0.0f
+ << 0.0f << 1.0f << 0.0f << 0.0f
+ << 0.0f;
QTest::newRow("complex")
- << (qreal)1.0f << (qreal)2.0f << (qreal)3.0f << (qreal)4.0f
- << (qreal)4.0f << (qreal)5.0f << (qreal)6.0f << (qreal)7.0f
- << (qreal)60.0f;
+ << 1.0f << 2.0f << 3.0f << 4.0f
+ << 4.0f << 5.0f << 6.0f << 7.0f
+ << 60.0f;
}
void tst_QVectorND::dotProduct4()
{
- QFETCH(qreal, x1);
- QFETCH(qreal, y1);
- QFETCH(qreal, z1);
- QFETCH(qreal, w1);
- QFETCH(qreal, x2);
- QFETCH(qreal, y2);
- QFETCH(qreal, z2);
- QFETCH(qreal, w2);
- QFETCH(qreal, dot);
+ QFETCH(float, x1);
+ QFETCH(float, y1);
+ QFETCH(float, z1);
+ QFETCH(float, w1);
+ QFETCH(float, x2);
+ QFETCH(float, y2);
+ QFETCH(float, z2);
+ QFETCH(float, w2);
+ QFETCH(float, dot);
QVector4D v1(x1, y1, z1, w1);
QVector4D v2(x2, y2, z2, w2);
@@ -2057,7 +2048,7 @@ void tst_QVectorND::dotProduct4()
QVERIFY(QVector4D::dotProduct(v1, v2) == dot);
// Compute the dot-product long-hand and check again.
- qreal d = x1 * x2 + y1 * y2 + z1 * z2 + w1 * w2;
+ float d = x1 * x2 + y1 * y2 + z1 * z2 + w1 * w2;
QCOMPARE(QVector4D::dotProduct(v1, v2), d);
}
@@ -2096,19 +2087,19 @@ void tst_QVectorND::properties()
obj.setVector4D(QVector4D(6.0f, 7.0f, 8.0f, 9.0f));
QVector2D v2 = qvariant_cast<QVector2D>(obj.property("vector2D"));
- QCOMPARE(v2.x(), (qreal)1.0f);
- QCOMPARE(v2.y(), (qreal)2.0f);
+ QCOMPARE(v2.x(), 1.0f);
+ QCOMPARE(v2.y(), 2.0f);
QVector3D v3 = qvariant_cast<QVector3D>(obj.property("vector3D"));
- QCOMPARE(v3.x(), (qreal)3.0f);
- QCOMPARE(v3.y(), (qreal)4.0f);
- QCOMPARE(v3.z(), (qreal)5.0f);
+ QCOMPARE(v3.x(), 3.0f);
+ QCOMPARE(v3.y(), 4.0f);
+ QCOMPARE(v3.z(), 5.0f);
QVector4D v4 = qvariant_cast<QVector4D>(obj.property("vector4D"));
- QCOMPARE(v4.x(), (qreal)6.0f);
- QCOMPARE(v4.y(), (qreal)7.0f);
- QCOMPARE(v4.z(), (qreal)8.0f);
- QCOMPARE(v4.w(), (qreal)9.0f);
+ QCOMPARE(v4.x(), 6.0f);
+ QCOMPARE(v4.y(), 7.0f);
+ QCOMPARE(v4.z(), 8.0f);
+ QCOMPARE(v4.w(), 9.0f);
obj.setProperty("vector2D",
QVariant::fromValue(QVector2D(-1.0f, -2.0f)));
@@ -2118,19 +2109,19 @@ void tst_QVectorND::properties()
QVariant::fromValue(QVector4D(-6.0f, -7.0f, -8.0f, -9.0f)));
v2 = qvariant_cast<QVector2D>(obj.property("vector2D"));
- QCOMPARE(v2.x(), (qreal)-1.0f);
- QCOMPARE(v2.y(), (qreal)-2.0f);
+ QCOMPARE(v2.x(), -1.0f);
+ QCOMPARE(v2.y(), -2.0f);
v3 = qvariant_cast<QVector3D>(obj.property("vector3D"));
- QCOMPARE(v3.x(), (qreal)-3.0f);
- QCOMPARE(v3.y(), (qreal)-4.0f);
- QCOMPARE(v3.z(), (qreal)-5.0f);
+ QCOMPARE(v3.x(), -3.0f);
+ QCOMPARE(v3.y(), -4.0f);
+ QCOMPARE(v3.z(), -5.0f);
v4 = qvariant_cast<QVector4D>(obj.property("vector4D"));
- QCOMPARE(v4.x(), (qreal)-6.0f);
- QCOMPARE(v4.y(), (qreal)-7.0f);
- QCOMPARE(v4.z(), (qreal)-8.0f);
- QCOMPARE(v4.w(), (qreal)-9.0f);
+ QCOMPARE(v4.x(), -6.0f);
+ QCOMPARE(v4.y(), -7.0f);
+ QCOMPARE(v4.z(), -8.0f);
+ QCOMPARE(v4.w(), -9.0f);
}
void tst_QVectorND::metaTypes()