From e06d1d07125fb9489ea45d05fb40a562e2c4ca46 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Mon, 4 Sep 2023 06:45:29 +0200 Subject: FloatUtil.abs(a): Mark as deprecated, use Math.abs(a) directly. We assume it is an intrinsic + branch-less implementation Expected implementation is - return Float.intBitsToFloat(Float.floatToRawIntBits(a) & 0x7fffffff); replacing old implementation - return (a <= 0.0F) ? 0.0F - a : a; .. also market as @IntrinsicCandidate Hence we shall leave it to the JRE core-lib implementation... --- src/jogl/classes/com/jogamp/opengl/math/FloatUtil.java | 7 +++++++ src/jogl/classes/com/jogamp/opengl/math/Quaternion.java | 14 +++++++------- 2 files changed, 14 insertions(+), 7 deletions(-) (limited to 'src/jogl/classes/com/jogamp/opengl/math') diff --git a/src/jogl/classes/com/jogamp/opengl/math/FloatUtil.java b/src/jogl/classes/com/jogamp/opengl/math/FloatUtil.java index 901ed7181..c25abe188 100644 --- a/src/jogl/classes/com/jogamp/opengl/math/FloatUtil.java +++ b/src/jogl/classes/com/jogamp/opengl/math/FloatUtil.java @@ -1550,6 +1550,13 @@ public final class FloatUtil { return Math.abs(a) < FloatUtil.EPSILON; } + /** + * Invokes {@link Math#abs(float)} + * @param a float to process + * @return absolute value of {@code a} + * @deprecated use {@link Math#abs(float)} directly + */ + @Deprecated public static float abs(final float a) { return java.lang.Math.abs(a); } public static float pow(final float a, final float b) { return (float) java.lang.Math.pow(a, b); } diff --git a/src/jogl/classes/com/jogamp/opengl/math/Quaternion.java b/src/jogl/classes/com/jogamp/opengl/math/Quaternion.java index be09d03af..0d04c69cc 100644 --- a/src/jogl/classes/com/jogamp/opengl/math/Quaternion.java +++ b/src/jogl/classes/com/jogamp/opengl/math/Quaternion.java @@ -1133,19 +1133,19 @@ public class Quaternion { @Deprecated public final boolean isRotationMatrix3f(final float[] m) { final float epsilon = 0.01f; // margin to allow for rounding errors - if (FloatUtil.abs(m[0] * m[3] + m[3] * m[4] + m[6] * m[7]) > epsilon) + if (Math.abs(m[0] * m[3] + m[3] * m[4] + m[6] * m[7]) > epsilon) return false; - if (FloatUtil.abs(m[0] * m[2] + m[3] * m[5] + m[6] * m[8]) > epsilon) + if (Math.abs(m[0] * m[2] + m[3] * m[5] + m[6] * m[8]) > epsilon) return false; - if (FloatUtil.abs(m[1] * m[2] + m[4] * m[5] + m[7] * m[8]) > epsilon) + if (Math.abs(m[1] * m[2] + m[4] * m[5] + m[7] * m[8]) > epsilon) return false; - if (FloatUtil.abs(m[0] * m[0] + m[3] * m[3] + m[6] * m[6] - 1) > epsilon) + if (Math.abs(m[0] * m[0] + m[3] * m[3] + m[6] * m[6] - 1) > epsilon) return false; - if (FloatUtil.abs(m[1] * m[1] + m[4] * m[4] + m[7] * m[7] - 1) > epsilon) + if (Math.abs(m[1] * m[1] + m[4] * m[4] + m[7] * m[7] - 1) > epsilon) return false; - if (FloatUtil.abs(m[2] * m[2] + m[5] * m[5] + m[8] * m[8] - 1) > epsilon) + if (Math.abs(m[2] * m[2] + m[5] * m[5] + m[8] * m[8] - 1) > epsilon) return false; - return (FloatUtil.abs(determinant3f(m) - 1) < epsilon); + return (Math.abs(determinant3f(m) - 1) < epsilon); } @Deprecated -- cgit v1.2.3