org.apache.xalan.lib

## Class ExsltMath

- java.lang.Object
- - org.apache.xalan.lib.ExsltBase
  - - org.apache.xalan.lib.ExsltMath

    public class ExsltMath
    extends ExsltBase

This class contains EXSLT math extension functions. It is accessed by specifying a namespace URI as follows:

        xmlns:math="http://exslt.org/math"

The documentation for each function has been copied from the relevant EXSLT Implementer page.

See Also:
  EXSLT
Usage:

### Constructor Summary

Constructors
Constructor and Description
`ExsltMath()`

### Method Summary

Methods
`static double` `abs(double num)` The math:abs function returns the absolute value of a number.
`static double` `acos(double num)` The math:acos function returns the arccosine value of a number.
`static double` `asin(double num)` The math:asin function returns the arcsine value of a number.
`static double` `atan(double num)` The math:atan function returns the arctangent value of a number.
`static double` `atan2(double num1, double num2)` The math:atan2 function returns the angle ( in radians ) from the X axis to a point (y,x).
`static double` `constant(java.lang.String name, double precision)` The math:constant function returns the specified constant to a set precision.
`static double` `cos(double num)` The math:cos function returns cosine of the passed argument.
`static double` `exp(double num)` The math:exp function returns e (the base of natural logarithms) raised to a power.
`static NodeList` `highest(NodeList nl)` The math:highest function returns the nodes in the node set whose value is the maximum value for the node set.
`static double` `log(double num)` The math:log function returns the natural logarithm of a number.
`static NodeList` `lowest(NodeList nl)` The math:lowest function returns the nodes in the node set whose value is the minimum value for the node set.
`static double` `max(NodeList nl)` The math:max function returns the maximum value of the nodes passed as the argument.
`static double` `min(NodeList nl)` The math:min function returns the minimum value of the nodes passed as the argument.
`static double` `power(double num1, double num2)` The math:power function returns the value of a base expression taken to a specified power.
`static double` `random()` The math:random function returns a random number from 0 to 1.
`static double` `sin(double num)` The math:sin function returns the sine of the number.
`static double` `sqrt(double num)` The math:sqrt function returns the square root of a number.
`static double` `tan(double num)` The math:tan function returns the tangent of the number passed as an argument.

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ExsltMath

    public ExsltMath()

### Method Detail

#### max

    public static double max(NodeList nl)

The math:max function returns the maximum value of the nodes passed as the argument. The maximum value is defined as follows. The node set passed as an argument is sorted in descending order as it would be by xsl:sort with a data type of number. The maximum is the result of converting the string value of the first node in this sorted list to a number using the number function.

If the node set is empty, or if the result of converting the string values of any of the nodes to a number is NaN, then NaN is returned.

Parameters:
  `nl` - The NodeList for the node-set to be evaluated.
Returns:
  the maximum value found, NaN if any node cannot be converted to a number.
See Also:
  EXSLT

#### min

    public static double min(NodeList nl)

The math:min function returns the minimum value of the nodes passed as the argument. The minimum value is defined as follows. The node set passed as an argument is sorted in ascending order as it would be by xsl:sort with a data type of number. The minimum is the result of converting the string value of the first node in this sorted list to a number using the number function.

If the node set is empty, or if the result of converting the string values of any of the nodes to a number is NaN, then NaN is returned.

Parameters:
  `nl` - The NodeList for the node-set to be evaluated.
Returns:
  the minimum value found, NaN if any node cannot be converted to a number.
See Also:
  EXSLT

#### highest

    public static NodeList highest(NodeList nl)

The math:highest function returns the nodes in the node set whose value is the maximum value for the node set. The maximum value for the node set is the same as the value as calculated by math:max. A node has this maximum value if the result of converting its string value to a number as if by the number function is equal to the maximum value, where the equality comparison is defined as a numerical comparison using the = operator.

If any of the nodes in the node set has a non-numeric value, the math:max function will return NaN. The definition numeric comparisons entails that NaN != NaN. Therefore if any of the nodes in the node set has a non-numeric value, math:highest will return an empty node set.

Parameters:
  `nl` - The NodeList for the node-set to be evaluated.
Returns:
  node-set with nodes containing the maximum value found, an empty node-set if any node cannot be converted to a number.

#### lowest

    public static NodeList lowest(NodeList nl)

The math:lowest function returns the nodes in the node set whose value is the minimum value for the node set. The minimum value for the node set is the same as the value as calculated by math:min. A node has this minimum value if the result of converting its string value to a number as if by the number function is equal to the minimum value, where the equality comparison is defined as a numerical comparison using the = operator.

If any of the nodes in the node set has a non-numeric value, the math:min function will return NaN. The definition numeric comparisons entails that NaN != NaN. Therefore if any of the nodes in the node set has a non-numeric value, math:lowest will return an empty node set.

Parameters:
  `nl` - The NodeList for the node-set to be evaluated.
Returns:
  node-set with nodes containing the minimum value found, an empty node-set if any node cannot be converted to a number.

#### abs

    public static double abs(double num)

The math:abs function returns the absolute value of a number.

Parameters:
  `num` - A number
Returns:
  The absolute value of the number

#### acos

    public static double acos(double num)

The math:acos function returns the arccosine value of a number.

Parameters:
  `num` - A number
Returns:
  The arccosine value of the number

#### asin

    public static double asin(double num)

The math:asin function returns the arcsine value of a number.

Parameters:
  `num` - A number
Returns:
  The arcsine value of the number

#### atan

    public static double atan(double num)

The math:atan function returns the arctangent value of a number.

Parameters:
  `num` - A number
Returns:
  The arctangent value of the number

#### atan2

    public static double atan2(double num1,
               double num2)

The math:atan2 function returns the angle ( in radians ) from the X axis to a point (y,x).

Parameters:
  `num1` - The X axis value
  `num2` - The Y axis value
Returns:
  The angle (in radians) from the X axis to a point (y,x)

#### cos

    public static double cos(double num)

The math:cos function returns cosine of the passed argument.

Parameters:
  `num` - A number
Returns:
  The cosine value of the number

#### exp

    public static double exp(double num)

The math:exp function returns e (the base of natural logarithms) raised to a power.

Parameters:
  `num` - A number
Returns:
  The value of e raised to the given power

#### log

    public static double log(double num)

The math:log function returns the natural logarithm of a number.

Parameters:
  `num` - A number
Returns:
  The natural logarithm of the number

#### power

    public static double power(double num1,
               double num2)

The math:power function returns the value of a base expression taken to a specified power.

Parameters:
  `num1` - The base
  `num2` - The power
Returns:
  The value of the base expression taken to the specified power

#### random

    public static double random()

The math:random function returns a random number from 0 to 1.

Returns:
  A random double from 0 to 1

#### sin

    public static double sin(double num)

The math:sin function returns the sine of the number.

Parameters:
  `num` - A number
Returns:
  The sine value of the number

#### sqrt

    public static double sqrt(double num)

The math:sqrt function returns the square root of a number.

Parameters:
  `num` - A number
Returns:
  The square root of the number

#### tan

    public static double tan(double num)

The math:tan function returns the tangent of the number passed as an argument.

Parameters:
  `num` - A number
Returns:
  The tangent value of the number

#### constant

    public static double constant(java.lang.String name,
                  double precision)

The math:constant function returns the specified constant to a set precision. The possible constants are:

      PI
      E
      SQRRT2
      LN2
      LN10
      LOG2E
      SQRT1_2

Parameters:
  `name` - The name of the constant
  `precision` - The precision
Returns:
  The value of the specified constant to the given precision