com.sun.squawk.util
Class MathUtils
java.lang.Object
   com.sun.squawk.util.MathUtils
com.sun.squawk.util.MathUtils
- public class MathUtils 
- extends Object
The class MathUtils contains some of the Java SE Math routines that are not present in the CLDC 1.1 version of Math: 
 asin(double), acos(double), atan(double) & atan2(double, double).
 The methods in this class are directly substitutable for the corresponding methods in Java SE java.lang.Math (circa JDK 1.2).
- See Also:
- java.lang.Math in Java SE, 
CLDC 1.1's  java.lang.Math
| Method Summary | 
| static double | acos(double a)Returns the arc cosine of an angle, in the range of 0 through pi.
 | 
| static double | asin(double a)Returns the arc sine of an angle, in the range of -pi/2 through pi/2.
 | 
| static double | atan(double a)Returns the arc tangent of an angle, in the range of -pi/2 through pi/2.
 | 
| static double | atan2(double y,
      double x)Converts rectangular coordinates (x, y) to polar (r, theta).
 | 
| static double | exp(double a)Returns Euler's number e raised to the power of a
 doublevalue. | 
| static double | expm1(double a)Returns ex -1.
 | 
| static double | IEEEremainder(double x,
              double p)Computes the remainder operation on two arguments as prescribed 
 by the IEEE 754 standard.
 | 
| static double | log(double a)Returns the natural logarithm (base e) of a
 doublevalue. | 
| static double | log1p(double a)Returns the natural logarithm of the sum of the argument and 1.
 | 
| static double | pow(double x,
    double y)Returns the value of the first argument raised to the power of the
 second argument.
 | 
| static double | rint(double a)Returns the
 doublevalue that is closest in value
 to the argument and is equal to a mathematical integer. | 
| static long | round(double a)Returns the closest
 longto the argument. | 
| static int | round(float a)Returns the closest
 intto the argument. | 
| static double | scalbn(double x,
       int n)Return
 d×
 2scaleFactorrounded as if performed
 by a single correctly rounded floating-point multiply to a
 member of the double value set. | 
 
 
scalbn
public static double scalbn(double x,
                            int n)
- Return d×
 2scaleFactorrounded as if performed
 by a single correctly rounded floating-point multiply to a
 member of the double value set.  See the Java
 Language Specification for a discussion of floating-point
 value sets.  If the exponent of the result is betweenDouble#MIN_EXPONENTandDouble#MAX_EXPONENT, the
 answer is calculated exactly.  If the exponent of the result
 would be larger thanDouble.MAX_EXPONENT, an
 infinity is returned.  Note that if the result is subnormal,
 precision may be lost; that is, whenscalb(x, n)is subnormal,scalb(scalb(x, n), -n)may not equal
 x.  When the result is non-NaN, the result has the same
 sign asd.Special cases:
  
 -  If the first argument is NaN, NaN is returned.
 
-  If the first argument is infinite, then an infinity of the
 same sign is returned.
 
-  If the first argument is zero, then a zero of the same
 sign is returned.
 
 
 
- 
- Parameters:
- x- number to be scaled by a power of two.
- n- power of 2 used to scale- d
- Returns:
- d× 2- scaleFactor
 
round
public static int round(float a)
- Returns the closest intto the argument. The 
 result is rounded to an integer by adding 1/2, taking the 
 floor of the result, and casting the result to typeint. 
 In other words, the result is equal to the value of the expression:(int)Math.floor(a + 0.5f) 
 Special cases:
  - If the argument is NaN, the result is 0.
 
- If the argument is negative infinity or any value less than or 
 equal to the value of Integer.MIN_VALUE, the result is 
 equal to the value ofInteger.MIN_VALUE.
- If the argument is positive infinity or any value greater than or 
 equal to the value of Integer.MAX_VALUE, the result is 
 equal to the value ofInteger.MAX_VALUE.
 
 
- 
- Parameters:
- a- a floating-point value to be rounded to an integer.
- Returns:
- the value of the argument rounded to the nearest
          intvalue.
- See Also:
- Integer.MAX_VALUE,- Integer.MIN_VALUE
 
round
public static long round(double a)
- Returns the closest longto the argument. The result 
 is rounded to an integer by adding 1/2, taking the floor of the 
 result, and casting the result to typelong. In other 
 words, the result is equal to the value of the expression:(long)Math.floor(a + 0.5d) 
 Special cases:
  - If the argument is NaN, the result is 0.
 
- If the argument is negative infinity or any value less than or 
 equal to the value of Long.MIN_VALUE, the result is 
 equal to the value ofLong.MIN_VALUE.
- If the argument is positive infinity or any value greater than or 
 equal to the value of Long.MAX_VALUE, the result is 
 equal to the value ofLong.MAX_VALUE.
 
 
- 
- Parameters:
- a- a floating-point value to be rounded to a- long.
- Returns:
- the value of the argument rounded to the nearest
          longvalue.
- See Also:
- Long.MAX_VALUE,- Long.MIN_VALUE
 
exp
public static double exp(double a)
- Returns Euler's number e raised to the power of a
 doublevalue.  Special cases:- If the argument is NaN, the result is NaN.
 
- If the argument is positive infinity, then the result is 
 positive infinity.
 
- If the argument is negative infinity, then the result is 
 positive zero.
 A result must be within 1 ulp of the correctly rounded
 result.  Results must be semi-monotonic.
 
 
- 
- Parameters:
- a- the exponent to raise e to.
- Returns:
- the value ea, 
          where e is the base of the natural logarithms.
 
log
public static double log(double a)
- Returns the natural logarithm (base e) of a doublevalue.  Special cases:- If the argument is NaN or less than zero, then the result 
 is NaN.
 
- If the argument is positive infinity, then the result is 
 positive infinity.
 
- If the argument is positive zero or negative zero, then the 
 result is negative infinity.
 A result must be within 1 ulp of the correctly rounded
 result.  Results must be semi-monotonic.
 
 
- 
- Parameters:
- a- a value
- Returns:
- the value ln a, the natural logarithm ofa.
 
pow
public static double pow(double x,
                         double y)
- Returns the value of the first argument raised to the power of the
 second argument. Special cases:
 - If the second argument is positive or negative zero, then the 
 result is 1.0. 
 
- If the second argument is 1.0, then the result is the same as the 
 first argument.
 
- If the second argument is NaN, then the result is NaN. 
 
- If the first argument is NaN and the second argument is nonzero, 
 then the result is NaN. 
 
- If
 
 - the absolute value of the first argument is greater than 1
 and the second argument is positive infinity, or
 
- the absolute value of the first argument is less than 1 and
 the second argument is negative infinity,
 
 then the result is positive infinity.
- If 
 
 - the absolute value of the first argument is greater than 1 and 
 the second argument is negative infinity, or 
 
- the absolute value of the 
 first argument is less than 1 and the second argument is positive 
 infinity,
 
 then the result is positive zero.
- If the absolute value of the first argument equals 1 and the 
 second argument is infinite, then the result is NaN. 
 
- If 
 
 - the first argument is positive zero and the second argument
 is greater than zero, or
 
- the first argument is positive infinity and the second
 argument is less than zero,
 
 then the result is positive zero.
- If 
 
 - the first argument is positive zero and the second argument
 is less than zero, or
 
- the first argument is positive infinity and the second
 argument is greater than zero,
 
 then the result is positive infinity.
- If 
 
 - the first argument is negative zero and the second argument
 is greater than zero but not a finite odd integer, or
 
- the first argument is negative infinity and the second
 argument is less than zero but not a finite odd integer,
 
 then the result is positive zero.
- If 
 
 - the first argument is negative zero and the second argument
 is a positive finite odd integer, or
 
- the first argument is negative infinity and the second
 argument is a negative finite odd integer,
 
 then the result is negative zero.
- If
 
 - the first argument is negative zero and the second argument
 is less than zero but not a finite odd integer, or
 
- the first argument is negative infinity and the second
 argument is greater than zero but not a finite odd integer,
 
 then the result is positive infinity.
- If 
 
 - the first argument is negative zero and the second argument
 is a negative finite odd integer, or
 
- the first argument is negative infinity and the second
 argument is a positive finite odd integer,
 
 then the result is negative infinity.
- If the first argument is finite and less than zero
 
 -  if the second argument is a finite even integer, the
 result is equal to the result of raising the absolute value of
 the first argument to the power of the second argument
 
- if the second argument is a finite odd integer, the result
 is equal to the negative of the result of raising the absolute
 value of the first argument to the power of the second
 argument
 
- if the second argument is finite and not an integer, then
 the result is NaN.
 
 
- If both arguments are integers, then the result is exactly equal 
 to the mathematical result of raising the first argument to the power 
 of the second argument if that result can in fact be represented 
 exactly as a doublevalue.
 (In the foregoing descriptions, a floating-point value is
 considered to be an integer if and only if it is finite and a
 fixed point of the method ceilor,
 equivalently, a fixed point of the methodfloor. A value is a fixed point of a one-argument
 method if and only if the result of applying the method to the
 value is equal to the value.)
 A result must be within 1 ulp of the correctly rounded
 result.  Results must be semi-monotonic.
 
 
- 
- Parameters:
- x- the base.
- y- the exponent.
- Returns:
- the value ab.
 
asin
public static double asin(double a)
- Returns the arc sine of an angle, in the range of -pi/2 through pi/2. 
 Special cases:
 
  - If the argument is NaN or its absolute value is greater than 1, then the result is NaN.
  
- If the argument is zero, then the result is a zero with the same sign as the argument.
 
 
 
- 
- Parameters:
- a- the value whose arc sine is to be returned.
- Returns:
- the arc sine of the argument.
 
acos
public static double acos(double a)
- Returns the arc cosine of an angle, in the range of 0 through pi. 
 Special cases:
 
  - If the argument is NaN or its absolute value is greater than 1, then the result is NaN.
 
 
 
- 
- Parameters:
- a- the value whose arc cosine is to be returned.
- Returns:
- the arc cosine of the argument.
 
atan
public static double atan(double a)
- Returns the arc tangent of an angle, in the range of -pi/2 through pi/2. 
 Special cases:
 
  - If the argument is NaN, then the result is NaN.
  
- If the argument is zero, then the result is a zero with the same sign as the argument.
 
 
 
- 
- Parameters:
- a- the value whose arc tangent is to be returned.
- Returns:
- the arc tangent of the argument.
 
atan2
public static double atan2(double y,
                           double x)
- Converts rectangular coordinates (x, y) to polar (r, theta).
 This method computes the phase theta by computing an arc tangent
 of y/x in the range of -pi to pi. Special cases:
 
  - If either argument is NaN, then the result is NaN.
  
- If the first argument is positive zero and the second argument is positive, 
      or the first argument is positive and finite and the second argument is positive infinity,
      then the result is positive zero.
  
- If the first argument is negative zero and the second argument is positive,
      or the first argument is negative and finite and the second argument is positive infinity,
      then the result is negative zero.
  
- If the first argument is positive zero and the second argument is negative,
      or the first argument is positive and finite and the second argument is negative infinity,
      then the result is the double value closest to pi.
  
- If the first argument is negative zero and the second argument is negative,
      or the first argument is negative and finite and the second argument is negative infinity,
      then the result is the double value closest to -pi.
  
- If the first argument is positive and the second argument is positive zero or negative zero,
      or the first argument is positive infinity and the second argument is finite,
      then the result is the double value closest to pi/2.
  
- If the first argument is negative and the second argument is positive zero or negative zero,
      or the first argument is negative infinity and the second argument is finite,
      then the result is the double value closest to -pi/2.
  
- If both arguments are positive infinity, then the result is the double value closest to pi/4.
  
- If the first argument is positive infinity and the second argument is negative infinity,
      then the result is the double value closest to 3*pi/4.
  
- If the first argument is negative infinity and the second argument is positive infinity,
      then the result is the double value closest to -pi/4.
  
- If both arguments are negative infinity, then the result is the double value closest to -3*pi/4.
 
 
 
- 
- Parameters:
- y- the ordinate coordinate
- x- the abscissa coordinate
- Returns:
- the theta component of the point (r, theta) in polar coordinates
         that corresponds to the point (x, y) in Cartesian coordinates.
 
rint
public static double rint(double a)
- Returns the doublevalue that is closest in value
 to the argument and is equal to a mathematical integer. If twodoublevalues that are mathematical integers are
 equally close, the result is the integer value that is
 even. Special cases:- If the argument value is already equal to a mathematical 
 integer, then the result is the same as the argument. 
 
- If the argument is NaN or an infinity or positive zero or negative 
 zero, then the result is the same as the argument.
 
 
- 
- Parameters:
- a- a- doublevalue.
- Returns:
- the closest floating-point value to athat is
          equal to a mathematical integer.
 
log1p
public static double log1p(double a)
- Returns the natural logarithm of the sum of the argument and 1.
 Note that for small values x, the result oflog1p(x)is much closer to the true result of ln(1
 +x) than the floating-point evaulation oflog(1.0+x).Special cases:
  
 - If the argument is NaN or less than -1, then the result is
 NaN.
 
- If the argument is positive infinity, then the result is
 positive infinity.
 
- If the argument is negative one, then the result is
 negative infinity.
 
- If the argument is zero, then the result is a zero with the
 same sign as the argument.
 
 A result must be within 1 ulp of the correctly rounded
 result.  Results must be semi-monotonic.
 
 
- 
- Parameters:
- a- a value
- Returns:
- the value ln(x+ 1), the natural
 log ofx+ 1
 
expm1
public static double expm1(double a)
- Returns ex -1.  Note that for values of
 x near 0, the exact sum of
 expm1(x)+ 1 is much closer to the true
 result of ex thanexp(x).Special cases:
  
 - If the argument is NaN, the result is NaN.
 
- If the argument is positive infinity, then the result is
 positive infinity.
 
- If the argument is negative infinity, then the result is
 -1.0.
 
- If the argument is zero, then the result is a zero with the
 same sign as the argument.
 
 A result must be within 1 ulp of the correctly rounded
 result.  Results must be semi-monotonic.  The result of
 expm1for any finite input must be greater than or
 equal to-1.0.  Note that once the exact result of
 ex- 1 is within 1/2
 ulp of the limit value -1,-1.0should be
 returned.
 
 
- 
- Parameters:
- a- the exponent to raise e to in the computation of
              e- x-1.
- Returns:
- the value ex- 1.
 
IEEEremainder
public static double IEEEremainder(double x,
                                   double p)
- Computes the remainder operation on two arguments as prescribed 
 by the IEEE 754 standard.
 The remainder value is mathematically equal to 
 f1 - f2× n,
 where n is the mathematical integer closest to the exact 
 mathematical value of the quotientf1/f2, and if two 
 mathematical integers are equally close tof1/f2, 
 then n is the integer that is even. If the remainder is 
 zero, its sign is the same as the sign of the first argument. 
 Special cases:- If either argument is NaN, or the first argument is infinite, 
 or the second argument is positive zero or negative zero, then the 
 result is NaN.
 
- If the first argument is finite and the second argument is 
 infinite, then the result is the same as the first argument.
 
 
- 
- Parameters:
- x- the dividend.
- p- the divisor.
- Returns:
- the remainder when f1is divided byf2.
 
"For updated information see the Java FRC site"