sqrt

operator

 Library: Floating point number support (OMFLOAT) Import : omfloat.xmd Library: Binary coded decimal numbers (OMBCD) Import : ombcd.xmd Returns: The square root of either a floating point number or BCD number. For floating point, if x < 0, returns NaN.For BCD, if x < 0, throws an exception.

Declaration
```define overloaded external float function
sqrt value float x

sqrt value bcd x
```

Purpose

Use sqrt to calculate the square root of either

• a floating point number
• a BCD number

You must import either omfloat.xmd or ombcd.xmd in your program. Decide whether you want BCD mathematics (excellent for financial calculations) or floating point mathematics (excellent for extremely large numbers).

Floating Point Example:

```  ; Displays the square root of 144 as a floating point number.
import "omfloat.xmd" unprefixed
process
local float x initial {"144"}
local float result

set result to sqrt x
output "result = " || "d" % result || "%n"
```

BCD Example:

```  ; Displays the square root of 144 as a BCD number.
import "ombcd.xmd" unprefixed
process
local bcd x initial {"144"}
local bcd result
local bcd rounded-result

set result to sqrt x
set rounded-result to round result bankers-nearest 0.01
output "The square root of " || "d" % x || " = " || "d" % rounded-result || "%n"
; Output: "The square root of 144 = 12"
```

If you take the square root of an integer, you need to coerce the integer to a floating point or BCD number so that the appropriate function is called. The result will depend on which square root function is called.

In an OmniMark program, always surround operators with spaces.

Related Topics
Other Library Functions