Quaternion FQuat::Inverse is actually the conjugate?

By trying to solve another problem, I’m trying to understand quaternions. But unreals function definition is just confusing in that regard.


FORCEINLINE FQuat FQuat::Inverse() const
{
checkSlow(IsNormalized());

return FQuat(-X, -Y, -Z, W);
}

According to Maths - Quaternion Functions - Martin Baker and multiple other sources, the function actually calculates the conjucate of a quaternion, not the inverse.

The inverse of a quaternion is it’s conjugate divided by it’s length. The length is 1 if it’s normalized, so in this case it’s simply the conjugate.

Ah, dam, sure thing. Neat optimization.