normalize method

double normalize()

Normalise in-place. Returns the original length; a (near-)zero vector is left unchanged.

Implementation

double normalize() {
  final len = length;
  if (len > 1e-9) {
    final inv = 1.0 / len;
    x *= inv;
    y *= inv;
    z *= inv;
  }
  return len;
}