# $ZPOWER

## Synopsis

$ZPOWER(num,exponent)

### Parameters

Argument | Description |
---|---|

num | The number to be raised to a power. |

exponent | The exponent. |

## Description

$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 Caché 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 Caché number or an IEEE double-precision binary floating-point 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 Caché 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 Caché number or an IEEE double-precision binary floating-point 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 Caché 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 Caché supports. For further details, refer to “Extremely Large Numbers” in the “Data Types and Values” chapter of Using Caché 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 Caché 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 }