Math Module

From BaseX Documentation
Revision as of 17:03, 9 December 2010 by Michael (talk | contribs)
Jump to navigation Jump to search

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.