This is an automated email from the ASF dual-hosted git repository. erans pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-geometry.git
The following commit(s) were added to refs/heads/master by this push: new e94830b Avoid redundant computations. e94830b is described below commit e94830b1c50ef9c8fa4d1ac7bbb73cab189c8065 Author: Gilles Sadowski <gil...@harfang.homelinux.org> AuthorDate: Wed Apr 10 02:15:51 2019 +0200 Avoid redundant computations. --- .../org/apache/commons/geometry/euclidean/threed/Vector3D.java | 8 ++++---- .../apache/commons/geometry/euclidean/threed/Vector3DTest.java | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Vector3D.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Vector3D.java index 232675c..ca416c3 100644 --- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Vector3D.java +++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Vector3D.java @@ -176,12 +176,12 @@ public class Vector3D extends MultiDimensionalEuclideanVector<Vector3D> { /** {@inheritDoc} */ @Override public Vector3D withNorm(double magnitude) { - final double invNorm = 1.0 / getCheckedNorm(); + final double m = magnitude / getCheckedNorm(); return new Vector3D( - magnitude * x * invNorm, - magnitude * y * invNorm, - magnitude * z * invNorm + m * x, + m * y, + m * z ); } diff --git a/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/threed/Vector3DTest.java b/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/threed/Vector3DTest.java index 95f6077..0bb73ab 100644 --- a/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/threed/Vector3DTest.java +++ b/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/threed/Vector3DTest.java @@ -199,8 +199,8 @@ public class Vector3DTest { checkVector(Vector3D.of(x, y, z).withNorm(-0.5), -0.5 * normX, -0.5 * normY, -0.5 * normZ); checkVector(Vector3D.of(x, y, z).withNorm(-3), -3 * normX, -3 * normY, -3 * normZ); - for (double mag = -10.0; mag <= 10.0; ++mag) - { + for (int i = 0; i <= 10; i++) { + final double mag = i * 0.12345 - 5; Assert.assertEquals(Math.abs(mag), Vector3D.of(x, y, z).withNorm(mag).norm(), EPS); } }