@Test public void testNormalize_ReallySmall() throws Exception { Vec2 small = new Vec2(1e-154, 0).normalize(); Vec2 tooSmall = new Vec2(1e-155, 0).normalize(); assertEquals("small: normal = 1.0", 1.0, small.x, 0); assertNotEquals("too small: normal <> 1.0", 1.0, tooSmall.x, 0); }
public Vec2 normalize() { double magnitude = this.magnitude(); if (magnitude != 0) { this.x /= magnitude; this.y /= magnitude; } return this; }
Vec2 { public Vec2 normalize() { double magnitude = this.magnitude(); if (magnitude != 0) { this.x /= magnitude; this.y /= magnitude; } return this; } }
Vec2 { public Vec2 normalize() { double magnitude = this.magnitude(); if (magnitude != 0) { this.x /= magnitude; this.y /= magnitude; } return this; } Vec2();  Vec2(double x, double y);  Vec2(Vec2 vector); }
Vec2 { public Vec2 normalize() { double magnitude = this.magnitude(); if (magnitude != 0) { this.x /= magnitude; this.y /= magnitude; } return this; } Vec2();  Vec2(double x, double y);  Vec2(Vec2 vector); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); float[] toArray(float[] result, int offset); double magnitude(); double magnitudeSquared(); double distanceTo(Vec2 vector); double distanceToSquared(Vec2 vector); Vec2 set(double x, double y); Vec2 set(Vec2 vector); Vec2 swap(Vec2 vector); Vec2 add(Vec2 vector); Vec2 subtract(Vec2 vector); Vec2 multiply(double scalar); Vec2 multiplyByMatrix(Matrix3 matrix); Vec2 divide(double divisor); Vec2 negate(); Vec2 normalize(); double dot(Vec2 vector); Vec2 mix(Vec2 vector, double weight); }
Vec2 { public Vec2 normalize() { double magnitude = this.magnitude(); if (magnitude != 0) { this.x /= magnitude; this.y /= magnitude; } return this; } Vec2();  Vec2(double x, double y);  Vec2(Vec2 vector); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); float[] toArray(float[] result, int offset); double magnitude(); double magnitudeSquared(); double distanceTo(Vec2 vector); double distanceToSquared(Vec2 vector); Vec2 set(double x, double y); Vec2 set(Vec2 vector); Vec2 swap(Vec2 vector); Vec2 add(Vec2 vector); Vec2 subtract(Vec2 vector); Vec2 multiply(double scalar); Vec2 multiplyByMatrix(Matrix3 matrix); Vec2 divide(double divisor); Vec2 negate(); Vec2 normalize(); double dot(Vec2 vector); Vec2 mix(Vec2 vector, double weight); public double x; public double y; }