normalize method

double normalize()

Normalise in place. Returns the original length; a zero quaternion becomes the identity.

Implementation

double normalize() {
  final len = length;
  if (len < 1e-12) {
    setIdentity();
    return len;
  }
  final inv = 1.0 / len;
  x *= inv;
  y *= inv;
  z *= inv;
  w *= inv;
  return len;
}