Difference between revisions of "Math Module"

From BaseX Documentation
Jump to navigation Jump to search
(Created page with "<p>The math module defines extension functions to perform mathematical operations, such as <code>pi</code>, <code>asin</code> and <code>acos</code>. All functions are preceded by...")
 
Line 1: Line 1:
<p>The math module defines extension functions to perform mathematical operations, such as <code>pi</code>, <code>asin</code> and <code>acos</code>. All functions are preceded by the <code>math:</code> prefix. Some of the functions have also been specified in the <a href="http://www.w3.org/TR/xpath-functions-11/">Functions and Operators Specification</a> of the upcoming XQuery 1.1 Recommendation.</p>  
+
<p>The math module defines extension functions to perform mathematical operations, such as <code>pi</code>, <code>asin</code> and <code>acos</code>. All functions are preceded by the <code>math:</code> prefix. Some of the functions have also been specified in the
 +
[http://www.w3.org/TR/xpath-functions-11/ Functions and Operators Specification] of the upcoming XQuery 1.1 Recommendation.</p>  
 
   
 
   
 
<h2>math:pi</h2>  
 
<h2>math:pi</h2>  

Revision as of 15:31, 3 December 2010

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.