org.apache.commons.math.util
Class MathUtils

java.lang.Object
  extended byorg.apache.commons.math.util.MathUtils

public final class MathUtils
extends Object

Some useful additions to the built-in functions in Math.

Version:
$Revision: 1.20 $ $Date: 2004/10/14 04:01:04 $

Method Summary
static long binomialCoefficient(int n, int k)
          Returns an exact representation of the Binomial Coefficient, "n choose k", the number of k-element subsets that can be selected from an n-element set.
static double binomialCoefficientDouble(int n, int k)
          Returns a double representation of the Binomial Coefficient, "n choose k", the number of k-element subsets that can be selected from an n-element set.
static double binomialCoefficientLog(int n, int k)
          Returns the natural log of the Binomial Coefficient, "n choose k", the number of k-element subsets that can be selected from an n-element set.
static double cosh(double x)
          Returns the hyperbolic cosine of x.
static boolean equals(double x, double y)
          Returns true iff both arguments are NaN or neither is NaN and they are equal
static long factorial(int n)
          Returns n!.
static double factorialDouble(int n)
          Returns n!.
static double factorialLog(int n)
          Returns the natural logarithm of n!.
static int hash(double value)
          Returns an integer hash code representing the given double value.
static byte indicator(byte x)
          For a byte value x, this method returns (byte)(+1) if x >= 0 and (byte)(-1) if x < 0.
static double indicator(double x)
          For a double precision value x, this method returns +1.0 if x >= 0 and -1.0 if x < 0.
static float indicator(float x)
          For a float value x, this method returns +1.0F if x >= 0 and -1.0F if x < 0.
static int indicator(int x)
          For an int value x, this method returns +1 if x >= 0 and -1 if x < 0.
static long indicator(long x)
          For a long value x, this method returns +1L if x >= 0 and -1L if x < 0.
static short indicator(short x)
          For a short value x, this method returns (short)(+1) if x >= 0 and (short)(-1) if x < 0.
static byte sign(byte x)
          Returns the sign for byte value x.
static double sign(double x)
          Returns the sign for double precision x.
static float sign(float x)
          Returns the sign for float value x.
static int sign(int x)
          Returns the sign for int value x.
static long sign(long x)
          Returns the sign for long value x.
static short sign(short x)
          Returns the sign for short value x.
static double sinh(double x)
          Returns the hyperbolic sine of x.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

sign

public static double sign(double x)
Returns the sign for double precision x.

For a double value x, this method returns +1.0 if x > 0, 0.0 if x = 0.0, and -1.0 if x < 0. Returns NaN if x is NaN.

Parameters:
x - the value, a double
Returns:
+1.0, 0.0, or -1.0, depending on the sign of x

sign

public static float sign(float x)
Returns the sign for float value x.

For a float value x, this method returns +1.0F if x > 0, 0.0F if x = 0.0F, and -1.0F if x < 0. Returns NaN if x is NaN.

Parameters:
x - the value, a float
Returns:
+1.0F, 0.0F, or -1.0F, depending on the sign of x

sign

public static byte sign(byte x)
Returns the sign for byte value x.

For a byte value x, this method returns (byte)(+1) if x > 0, (byte)(0) if x = 0, and (byte)(-1) if x < 0.

Parameters:
x - the value, a byte
Returns:
(byte)(+1), (byte)(0), or (byte)(-1), depending on the sign of x

sign

public static short sign(short x)
Returns the sign for short value x.

For a short value x, this method returns (short)(+1) if x > 0, (short)(0) if x = 0, and (short)(-1) if x < 0.

Parameters:
x - the value, a short
Returns:
(short)(+1), (short)(0), or (short)(-1), depending on the sign of x

sign

public static int sign(int x)
Returns the sign for int value x.

For an int value x, this method returns +1 if x > 0, 0 if x = 0, and -1 if x < 0.

Parameters:
x - the value, an int
Returns:
+1, 0, or -1, depending on the sign of x

sign

public static long sign(long x)
Returns the sign for long value x.

For a long value x, this method returns +1L if x > 0, 0L if x = 0, and -1L if x < 0.

Parameters:
x - the value, a long
Returns:
+1L, 0L, or -1L, depending on the sign of x

indicator

public static double indicator(double x)
For a double precision value x, this method returns +1.0 if x >= 0 and -1.0 if x < 0. Returns NaN if x is NaN.

Parameters:
x - the value, a double
Returns:
+1.0 or -1.0, depending on the sign of x

indicator

public static float indicator(float x)
For a float value x, this method returns +1.0F if x >= 0 and -1.0F if x < 0. Returns NaN if x is NaN.

Parameters:
x - the value, a float
Returns:
+1.0F or -1.0F, depending on the sign of x

indicator

public static byte indicator(byte x)
For a byte value x, this method returns (byte)(+1) if x >= 0 and (byte)(-1) if x < 0.

Parameters:
x - the value, a byte
Returns:
(byte)(+1) or (byte)(-1), depending on the sign of x

indicator

public static short indicator(short x)
For a short value x, this method returns (short)(+1) if x >= 0 and (short)(-1) if x < 0.

Parameters:
x - the value, a short
Returns:
(short)(+1) or (short)(-1), depending on the sign of x

indicator

public static int indicator(int x)
For an int value x, this method returns +1 if x >= 0 and -1 if x < 0.

Parameters:
x - the value, an int
Returns:
+1 or -1, depending on the sign of x

indicator

public static long indicator(long x)
For a long value x, this method returns +1L if x >= 0 and -1L if x < 0.

Parameters:
x - the value, a long
Returns:
+1L or -1L, depending on the sign of x

binomialCoefficient

public static long binomialCoefficient(int n,
                                       int k)
Returns an exact representation of the Binomial Coefficient, "n choose k", the number of k-element subsets that can be selected from an n-element set.

Preconditions:

Parameters:
n - the size of the set
k - the size of the subsets to be counted
Returns:
n choose k
Throws:
IllegalArgumentException - if preconditions are not met.
ArithmeticException - if the result is too large to be represented by a long integer.

binomialCoefficientDouble

public static double binomialCoefficientDouble(int n,
                                               int k)
Returns a double representation of the Binomial Coefficient, "n choose k", the number of k-element subsets that can be selected from an n-element set.

Preconditions:

Parameters:
n - the size of the set
k - the size of the subsets to be counted
Returns:
n choose k
Throws:
IllegalArgumentException - if preconditions are not met.

binomialCoefficientLog

public static double binomialCoefficientLog(int n,
                                            int k)
Returns the natural log of the Binomial Coefficient, "n choose k", the number of k-element subsets that can be selected from an n-element set.

Preconditions:

Parameters:
n - the size of the set
k - the size of the subsets to be counted
Returns:
n choose k
Throws:
IllegalArgumentException - if preconditions are not met.

factorial

public static long factorial(int n)
Returns n!. Shorthand for n Factorial, the product of the numbers 1,...,n.

Preconditions:

Parameters:
n - argument
Returns:
n!
Throws:
ArithmeticException - if the result is too large to be represented by a long integer.
IllegalArgumentException - if n < 0

factorialDouble

public static double factorialDouble(int n)
Returns n!. Shorthand for n Factorial, the product of the numbers 1,...,n as a double.

Preconditions:

Parameters:
n - argument
Returns:
n!
Throws:
IllegalArgumentException - if n < 0

factorialLog

public static double factorialLog(int n)
Returns the natural logarithm of n!.

Preconditions:

Parameters:
n - argument
Returns:
n!
Throws:
IllegalArgumentException - if preconditions are not met.

cosh

public static double cosh(double x)
Returns the hyperbolic cosine of x.

Parameters:
x - double value for which to find the hyperbolic cosine
Returns:
hyperbolic cosine of x

sinh

public static double sinh(double x)
Returns the hyperbolic sine of x.

Parameters:
x - double value for which to find the hyperbolic sine
Returns:
hyperbolic sine of x

hash

public static int hash(double value)
Returns an integer hash code representing the given double value.

Parameters:
value - the value to be hashed
Returns:
the hash code

equals

public static boolean equals(double x,
                             double y)
Returns true iff both arguments are NaN or neither is NaN and they are equal

Parameters:
x - first value
y - second value
Returns:
true if the values are equal or both are NaN


Copyright © 2003-2004 The Apache Software Foundation. All Rights Reserved.