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


Declaration
define overloaded external float function 
    sqrt value float x

define overloaded external bcd function 
    sqrt value bcd x


Purpose

Use sqrt to calculate the square root of either

For floating point, if x < 0, the function returns NaN. For BCD, if x < 0, the function throws an exception.

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