mirror of
https://github.com/recp/cglm.git
synced 2026-02-17 03:39:05 +00:00
quaternion multiplication
* convert quaternion multiplication to xyzw * previous implementation may be wrong, wikipedia version implemented * implement SSE version
This commit is contained in:
@@ -92,10 +92,18 @@ test_assert_vec3_eq(vec3 v1, vec3 v2) {
|
||||
}
|
||||
|
||||
void
|
||||
test_assert_quat_eq(versor v1, versor v2) {
|
||||
assert_true(fabsf(v1[0] - v2[0]) <= 0.0009); /* rounding errors */
|
||||
assert_true(fabsf(v1[1] - v2[1]) <= 0.0009);
|
||||
assert_true(fabsf(v1[2] - v2[2]) <= 0.0009);
|
||||
assert_true(fabsf(v1[3] - v2[3]) <= 0.0009);
|
||||
test_assert_quat_eq_abs(versor v1, versor v2) {
|
||||
assert_true(fabsf(fabsf(v1[0]) - fabsf(v2[0])) <= 0.0009); /* rounding errors */
|
||||
assert_true(fabsf(fabsf(v1[1]) - fabsf(v2[1])) <= 0.0009);
|
||||
assert_true(fabsf(fabsf(v1[2]) - fabsf(v2[2])) <= 0.0009);
|
||||
assert_true(fabsf(fabsf(v1[3]) - fabsf(v2[3])) <= 0.0009);
|
||||
}
|
||||
|
||||
void
|
||||
test_assert_quat_eq(versor v1, versor v2) {
|
||||
assert_true(fabsf(v1[0] - v2[0]) <= 0.0000009); /* rounding errors */
|
||||
assert_true(fabsf(v1[1] - v2[1]) <= 0.0000009);
|
||||
assert_true(fabsf(v1[2] - v2[2]) <= 0.0000009);
|
||||
assert_true(fabsf(v1[3] - v2[3]) <= 0.0000009);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user