Sqr

Returns a square root of a number

Syntax
	KeyPgDeclareDeclare KeyPgFunctionFunction Sqr ( KeyPgByvalByVal number KeyPgAsAs KeyPgDoubleDouble ) KeyPgAsAs KeyPgDoubleDouble

Usage
	result = Sqr( number )

Parameters
	number
		the number (greater than or equal to zero)

Return Value
	Returns the square root of the argument number.

	If number equals zero, Sqr returns zero (0.0).

	If number is less than zero, Sqr returns a special value representing 
	"not defined", printing like "NaN" or "IND", exact text is platform 
	dependent.

Description
	This is the same as raising the argument number to the one-half power: y 
	= x KeyPgOpExponentiate^ (1/2) . The required number argument can be any valid numeric 
	expression greater than or equal zero.

	If a KeyPgLongintLongInt or KeyPgUlongintULongInt is passed to Sqr, it may be converted to KeyPgDoubleDouble 
	precision first.  For numbers over 2^52, this will cause a very small 
	loss of precision.  Without making any assumptions about the rounding 
	method, the maximum error due to this will be Sqr(2^64) - Sqr(2^64-2^12)
	, which is about 4.8e-7. However this may cause erroneous results if the 
	floor or ceiling of this value is taken, and the result of this may be 
	out by 1, particularly for square numbers and numbers that are close by.

	Sqr can be overloaded as operator to accept user-defined types.

Example
	'' Example of Sqr function: Pythagorean theorem 
	Dim As Single a, b

	Print "Pythagorean theorem, right-angled triangle"
	Print
	Input "Please enter one leg side length: ", a
	Input "Please enter the other leg side length: ", b
	Print 
	Print "The hypotenuse has a length of: " & Sqr( a * a + b * b )

The output would look like:

	Pythagorean theorem, Right-angled triangle

	Please enter one leg side length: 1.5
	Please enter the other leg side length: 2

	The hypotenuse has a length of: 2.5

Differences from QB
	* None

See also
	* KeyPgOpExponentiateOperator ^ (Exponentiate)
	* CatPgMathArithmetic Operators

