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);
         }
     }

Reply via email to