Math Module
The math module defines XQuery Functions to perform mathematical operations, such as pi, asin and acos. All functions are preceded by the math: prefix, which is linked to the http://www.w3.org/2005/xpath-functions/math namespace. Some of the functions have also been specified in the Functions and Operators Specification of the upcoming XQuery 3.0 Recommendation.
math:pi
| Signatures | math:pi() as xs:double |
| Summary | Returns the xs:double value of the mathematical constant π whose lexical representation is 3.141592653589793. |
| Examples | The expression 2*math:pi() returns 6.283185307179586e0.The expression 60 * (math:pi() div 180) converts an angle of 60 degrees to radians. |
math:e
| Signatures | math:e() as xs:double |
| Summary | Returns the xs:double value of the mathematical constant e whose lexical representation is 2.718281828459045. |
| Examples | The expression 5*math:e() returns 13.591409142295225. |
math:sqrt
| Signatures | math:sqrt($arg as xs:double?) as xs:double? |
| Summary | Returns the square root of $arg.If $arg is the empty sequence, the empty sequence is returned.Otherwise the result is the xs:double value of the mathematical square root of $arg. |
math:sin
| Signatures | math:sin($arg as xs:double?) as xs:double? |
| Summary | Returns the sine of the $arg, expressed in radians.If $arg is the empty sequence, the empty sequence is returned.Otherwise the result is the sine of $arg, treated as an angle in radians. |
math:cos
| Signatures | math:cos($arg as xs:double?) as xs:double? |
| Summary | Returns the cosine of $arg, expressed in radians.If $arg is the empty sequence, the empty sequence is returned.Otherwise the result is the cosine of $arg, treated as an angle in radians. |
math:tan
| Signatures | math:tan($ as xs:double?) as xs:double? |
| Summary | Returns the tangent of $arg, expressed in radians.If $arg is the empty sequence, the empty sequence is returned.Otherwise the result is the tangent of $arg, treated as an angle in radians. |
math:asin
| Signatures | math:asin($arg as xs:double?) as xs:double? |
| Summary | Returns the arc sine of $arg.If $arg is the empty sequence, the empty sequence is returned.Otherwise the result is the arc sine of $arg, returned as an angle in radians in the range -π/2 to +π/2. |
math:acos
| Signatures | math:acos($arg as xs:double?) as xs:double? |
| Summary | Returns the arc cosine of $arg.If $arg is the empty sequence, the empty sequence is returned.Otherwise the result is the arc cosine of $arg, returned as an angle in radians in the range 0 to +π. |
math:atan
| Signatures | math:atan($arg as xs:double?) as xs:double? |
| Summary | Returns the arc tangent of $arg.If $arg is the empty sequence, the empty sequence is returned.Otherwise the result is the arc tangent of $arg, returned as an angle in radians in the range -π/2 to +π/2. |
math:atan2
| Signatures | math:atan2($arg1 as xs:double?, $arg2 as xs:double) as xs:double? |
| Summary | Returns the arc tangent of $arg1 divided by $arg2, the result being in the range -π/2 to +π/2 radians.If $arg1 is the empty sequence, the empty sequence is returned.Otherwise the result is the arc tangent of $arg1 divided by $arg2, returned as an angle in radians in the range -π to +π. |
math:pow
| Signatures | math:pow($arg1 as xs:double?, $arg2 as xs:double?) as xs:double? |
| Summary | Returns $arg1 raised to the power of $arg2.If $arg1 is the empty sequence, the empty sequence is returned.Otherwise the result is the $arg1 raised to the power of $arg2. |
| Examples | The expression math:pow(2, 3) returns 8. |
math:exp
| Signatures | math:exp($arg as xs:double?) as xs:double? |
| Summary | Returns e raised to the power of $arg.If $arg is the empty sequence, the empty sequence is returned.Otherwise the result is the value of e raised to the power of $arg. |
| Examples | The expression math:exp(1) returns e. |
math:log
| Signatures | math:log($arg as xs:double?) as xs:double? |
| Summary | Returns the natural logarithm of $arg.If $arg is the empty sequence, the empty sequence is returned.Otherwise the result is the natural logarithm (base e) of $arg. |
| Examples | The expression math:log(math:e()) returns 1. |
math:log10
| Signatures | math:log10($arg as xs:double?) as xs:double? |
| Summary | Returns the base 10 logarithm of $arg.If $arg is the empty sequence, the empty sequence is returned.Otherwise the result is the base 10 logarithm of $arg. |
| Examples | The expression math:log(100) returns 2. |
math:random
| Signatures | math:random() as xs:double? |
| Summary | Returns a random xs:double value between 0.0 and 1.0. |
math:sinh
| Signatures | math:sinh($arg as xs:double?) as xs:double? |
| Summary | Returns the hyperbolic sine of $arg.If $arg is the empty sequence, the empty sequence is returned.Otherwise the result is the hyperbolic sine of $arg. |
| Examples | The expression math:sinh(0) returns 0. |
math:cosh
| Signatures | math:cosh($arg as xs:double?) as xs:double? |
| Summary | Returns the hyperbolic cosine of $arg.If $arg is the empty sequence, the empty sequence is returned.Otherwise the result is the hyperbolic cosine of $arg. |
| Examples | The expression math:cosh(0) returns 1. |
math:tanh
| Signatures | math:tanh($arg as xs:double?) as xs:double? |
| Summary | Returns the hyperbolic tangent of $arg.If $arg is the empty sequence, the empty sequence is returned.Otherwise the result is the hyperbolic tangent of $arg. |
| Examples | The expression math:tanh(100) returns 1. |