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 |
define overloaded external float function sqrt value float x define overloaded external bcd function sqrt value bcd x
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).
; 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"
; 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.