ObjectScript Reference
$ZPOWER


Returns the value of a number raised to a specified power.
Synopsis
$ZPOWER returns the value of the num parameter raised to the nth power.
This function performs the same operation as the Exponentiation operator (**). For details on valid parameter values and the value returned for specific combinations of parameter values, see
Exponentiation Operator in the “Operators and Expressions” chapter of
Using ObjectScript.
Parameters
num
The number to be raised to a power. It can be integer or floating point, negative, positive, or zero. It can be a standard InterSystems IRIS number or an IEEE doubleprecision binary floatingpoint number (a
$DOUBLE number). It can be specified as a value, a variable, or an expression.
If you specify
num as a quoted string, the string is parsed as a number, as described in “
Strings as Numbers” in the “Data Types and Values” chapter of
Using ObjectScript. The null string ("") and nonnumeric strings evaluate to zero.
exponent
The exponent is a number that can be integer or floating point, negative, positive, or zero. It can be a standard InterSystems IRIS number or an IEEE doubleprecision binary floatingpoint number (a
$DOUBLE number). It can be specified as a numeric or string value, a variable, or an expression.
If you specify
exponent as a quoted string, the string is parsed as a number, as described in “
Strings as Numbers” in the “Data Types and Values” chapter of
Using ObjectScript. The null string ("") and nonnumeric strings evaluate to zero.
The following combinations of num and exponent result in an error:

If num is negative, exponent must be an integer. Otherwise an <ILLEGAL VALUE> error is generated.

If num is 0, exponent must be a positive number or zero. Otherwise an <ILLEGAL VALUE> or <DIVIDE> error is generated.

Large
exponent values, such as
$ZPOWER(9,153) may result in an overflow, generating a <MAXNUMBER> error, or may result in an underflow, returning 0. Which result occurs depends on whether
num is greater than 1 (or 1), and whether
exponent is positive or negative. A <MAXNUMBER> error occurs when an operation exceeds the largest number that InterSystems IRIS supports. For further details, refer to “
Extremely Large Numbers” in the “Data Types and Values” chapter of
Using ObjectScript.
For further details on valid parameter values and the value returned for specific combinations of parameter values, see
Exponentiation Operator in the “Operators and Expressions” chapter of
Using ObjectScript.
Examples
The following example raises 2 to the first ten powers:
SET x=0
WHILE x < 10 {
SET rtn=$ZPOWER(2,x)
WRITE !,"The ",x," power of 2=",rtn
SET x=x+1 }
Content Date/Time: 20190823 06:48:00