Skip to content

Commit 3eef828

Browse files
authored
Merge pull request #51 from dossalab/fix_quat_mul_in_place
Fix quaternion multiplication in place
2 parents 3954f97 + 26211bb commit 3eef828

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

linmath.h

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -453,12 +453,15 @@ LINMATH_H_FUNC void quat_identity(quat q)
453453
}
454454
LINMATH_H_FUNC void quat_mul(quat r, quat const p, quat const q)
455455
{
456-
vec3 w;
457-
vec3_mul_cross(r, p, q);
456+
vec3 w, tmp;
457+
458+
vec3_mul_cross(tmp, p, q);
458459
vec3_scale(w, p, q[3]);
459-
vec3_add(r, r, w);
460+
vec3_add(tmp, tmp, w);
460461
vec3_scale(w, q, p[3]);
461-
vec3_add(r, r, w);
462+
vec3_add(tmp, tmp, w);
463+
464+
vec3_dup(r, tmp);
462465
r[3] = p[3]*q[3] - vec3_mul_inner(p, q);
463466
}
464467
LINMATH_H_FUNC void quat_conj(quat r, quat const q)

0 commit comments

Comments
 (0)