|
|
|
@ -451,14 +451,6 @@ void QuaternionTest::matrix() { |
|
|
|
CORRADE_COMPARE(Quaternion::fromMatrix(m4), q4); |
|
|
|
CORRADE_COMPARE(Quaternion::fromMatrix(m4), q4); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/* The crappy 4.9 20140827 (prerelease) in Android NDK segfaults when
|
|
|
|
|
|
|
|
optimizing the following function. Dialing down the optimization helps. No |
|
|
|
|
|
|
|
problem when calling Math::lerp() anywhere else, so I won't dig further. |
|
|
|
|
|
|
|
Fuck this. */ |
|
|
|
|
|
|
|
#if defined(CORRADE_TARGET_ANDROID) && __GNUC__*100 + __GNUC_MINOR__*10 + __GNUC_PATCHLEVEL__ == 490 |
|
|
|
|
|
|
|
#pragma GCC push_options |
|
|
|
|
|
|
|
#pragma GCC optimize("O0") |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
void QuaternionTest::lerp() { |
|
|
|
void QuaternionTest::lerp() { |
|
|
|
Quaternion a = Quaternion::rotation(Deg(15.0f), Vector3(1.0f/Constants<Float>::sqrt3())); |
|
|
|
Quaternion a = Quaternion::rotation(Deg(15.0f), Vector3(1.0f/Constants<Float>::sqrt3())); |
|
|
|
Quaternion b = Quaternion::rotation(Deg(23.0f), Vector3::xAxis()); |
|
|
|
Quaternion b = Quaternion::rotation(Deg(23.0f), Vector3::xAxis()); |
|
|
|
@ -476,9 +468,6 @@ void QuaternionTest::lerp() { |
|
|
|
Quaternion lerp = Math::lerp(a, b, 0.35f); |
|
|
|
Quaternion lerp = Math::lerp(a, b, 0.35f); |
|
|
|
CORRADE_COMPARE(lerp, Quaternion({0.119127f, 0.049134f, 0.049134f}, 0.990445f)); |
|
|
|
CORRADE_COMPARE(lerp, Quaternion({0.119127f, 0.049134f, 0.049134f}, 0.990445f)); |
|
|
|
} |
|
|
|
} |
|
|
|
#if defined(CORRADE_TARGET_ANDROID) && __GNUC__*100 + __GNUC_MINOR__*10 + __GNUC_PATCHLEVEL__ == 490 |
|
|
|
|
|
|
|
#pragma GCC pop_options |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void QuaternionTest::slerp() { |
|
|
|
void QuaternionTest::slerp() { |
|
|
|
Quaternion a = Quaternion::rotation(Deg(15.0f), Vector3(1.0f/Constants<Float>::sqrt3())); |
|
|
|
Quaternion a = Quaternion::rotation(Deg(15.0f), Vector3(1.0f/Constants<Float>::sqrt3())); |
|
|
|
|