math:sqrt
Returns the non-negative square root of the argument.
Signature
math:sqrt($arg as xs:double?) as xs:double?
Properties
This function is deterministic, context-independent, and focus-independent.
Rules
If $arg
is the empty sequence, the function returns the empty sequence.
Otherwise the result is the mathematical non-negative square root of $arg
as defined in the [IEEE 754-2008] specification of the
squareRoot
function applied to 64-bit binary floating point values.
Notes
The treatment of the invalidOperation
exception is defined in Arithmetic operators on numeric values. The effect is that if the argument is less than zero, the result
is NaN
.
If $arg
is positive or negative zero, positive infinity, or
NaN
, then the result is $arg
. (Negative zero is the only
case where the result can have negative sign)
Examples
The expression math:sqrt(())
returns ()
.
The expression math:sqrt(0.0e0)
returns 0.0e0
.
The expression math:sqrt(-0.0e0)
returns -0.0e0
.
The expression math:sqrt(1.0e6)
returns 1.0e3
.
The expression math:sqrt(2.0e0)
returns 1.4142135623730951e0
.
The expression math:sqrt(-2.0e0)
returns xs:double('NaN')
.
The expression math:sqrt(xs:double('NaN'))
returns xs:double('NaN')
.
The expression math:sqrt(xs:double('INF'))
returns xs:double('INF')
.
The expression math:sqrt(xs:double('-INF'))
returns xs:double('NaN')
.