Math Module
Jump to navigation
Jump to search
The math XQuery Module defines functions to perform mathematical operations, such as pi
, asin
and acos
. Most functions are specified in the Functions and Operators Specification of the upcoming XQuery 3.0 Recommendation, and some additional ones have been added in this module.
Conventions[edit]
All functions in this module are assigned to the http://www.w3.org/2005/xpathfunctions/math
namespace, which is statically bound to the math
prefix.
W3 Functions[edit]
math:pi[edit]
Signature  math:pi() as xs:double 
Summary  Returns the xs:double value of the mathematical constant π whose lexical representation is 3.141592653589793.

Examples 

math:sqrt[edit]
Signature  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[edit]
Signature  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[edit]
Signature  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[edit]
Signature  math:tan( $arg 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[edit]
Signature  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[edit]
Signature  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[edit]
Signature  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[edit]
Signature  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[edit]
Signature  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 

math:exp[edit]
Signature  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 

math:log[edit]
Signature  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 

math:log10[edit]
Signature  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 

Additional Functions[edit]
math:e[edit]
Signature  math:e() as xs:double 
Summary  Returns the xs:double value of the mathematical constant e whose lexical representation is 2.718281828459045.

Examples 

math:sinh[edit]
Signature  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 

math:cosh[edit]
Signature  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 

math:tanh[edit]
Signature  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 

math:crc32[edit]
Signature  math:crc32( $string as xs:string? ) as xs:hexBinary? 
Summary  Calculates the CRC32 check sum of the given $string .If an empty sequence is supplied, the empty sequence is returned. 
Examples 

Changelog[edit]
 Version 9.1
 Updated:
math:crc32
can be called with empty sequence.
 Version 7.5
 Moved:
math:random
andmath:uuid
have been moved to the Random Module.
 Version 7.3
 Added:
math:crc32
andmath:uuid
have been adopted from the obsolete Utility Module.