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.