Hi, Just a quick question: when a == 0.0f or NA, then a is returned. Why not just put a special isNA() in the beginning and 0.0f in the existing code? Wouldn't it save a tiny bit not loading a?
Cheers, Mikkel. Den 19/01/2011 20.26 skrev <s...@apache.org>: > Author: sebb > Date: Wed Jan 19 19:26:19 2011 > New Revision: 1060917 > > URL: http://svn.apache.org/viewvc?rev=1060917&view=rev > Log: > MATH-478 FastMath is not an exact replacement for StrictMath > Add signum(float) > > Modified: > commons/proper/math/branches/MATH_2_X/src/main/java/org/apache/commons/math/util/FastMath.java > > Modified: commons/proper/math/branches/MATH_2_X/src/main/java/org/apache/commons/math/util/FastMath.java > URL: http://svn.apache.org/viewvc/commons/proper/math/branches/MATH_2_X/src/main/java/org/apache/commons/math/util/FastMath.java?rev=1060917&r1=1060916&r2=1060917&view=diff > ============================================================================== > --- commons/proper/math/branches/MATH_2_X/src/main/java/org/apache/commons/math/util/FastMath.java (original) > +++ commons/proper/math/branches/MATH_2_X/src/main/java/org/apache/commons/math/util/FastMath.java Wed Jan 19 19:26:19 2011 > @@ -582,6 +582,15 @@ public class FastMath { > return (a < 0.0) ? -1.0 : ((a > 0.0) ? 1.0 : a); > } > > + /** Compute the signum of a number. > + * The signum is -1 for negative numbers, +1 for positive numbers and 0 otherwise > + * @param a number on which evaluation is done > + * @return -1, 0, +1 or NaN depending on sign of a > + */ > + public static float signum(final float a) { > + return (a < 0.0f) ? -1.0f : ((a > 0.0f) ? 1.0f : a); > + } > + > /** Compute next number towards positive infinity. > * @param a number to which neighbor should be computed > * @return neighbor of a towards positive infinity > >