public float LengthSquared()
{
return X * X + Y * Y + Z * Z + W * W;
}
public static void Validate(this Quaternion q) { if (IsInvalid(q.LengthSquared())) { throw new NotFiniteNumberException("Invalid value."); } }