Math Module
Jump to navigation
Jump to search
Contents
Math Module
The math module defines extension functions to perform mathematical operations, such as pi
, asin
and acos
. All functions are preceded by the math:
prefix. Some of the functions have also been specified in the
Functions and Operators Specification of the upcoming XQuery 1.1 Recommendation.
math:pi
Signatures  math:pi() as xs:double

Summary  Returns the value of the mathematical constant π. 
Rules  This function returns the xs:double value 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 value of the mathematical constant e. 
Rules  This function returns the xs:double value 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 the argument. 
Rules  If $arg is the empty sequence, the function returns the empty sequence.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 argument, expressed in radians. 
Rules  If $arg is the empty sequence, the function returns the empty sequence.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 the argument, expressed in radians. 
Rules  If $arg is the empty sequence, the function returns the empty sequence.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 the argument, expressed in radians. 
Rules  If $arg is the empty sequence, the function returns the empty sequence.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 the argument. 
Rules  If $arg is the empty sequence, the function returns the empty sequence.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 the argument. 
Rules  If $arg is the empty sequence, the function returns the empty sequence.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 the argument. 
Rules  If $arg is the empty sequence, the function returns the empty sequence.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 the first argument divided by the second argument, the result being in the range π/2 to +π/2 radians. 
Rules  If $arg1 is the empty sequence, the function returns the empty sequence.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 the first argument raised to the power of the second argument. 
Rules  If $arg1 is the empty sequence, the function returns the empty sequence.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 the argument. 
Rules  If $arg is the empty sequence, the function returns the empty sequence.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 the argument. 
Rules  If $arg is the empty sequence, the function returns the empty sequence.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 the argument. 
Rules  If $arg is the empty sequence, the function returns the empty sequence.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 value. 
Rules  This function 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 the argument. 
Rules  If $arg is the empty sequence, the function returns the empty sequence.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 the argument. 
Rules  If $arg is the empty sequence, the function returns the empty sequence.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 the argument. 
Rules  If $arg is the empty sequence, the function returns the empty sequence.Otherwise the result is the hyperbolic tangent of $arg .

Examples  The expression math:tanh(100) returns 1 .
