Prev Next

@(@\newcommand{\W}[1]{ \; #1 \; } \newcommand{\R}[1]{ {\rm #1} } \newcommand{\B}[1]{ {\bf #1} } \newcommand{\D}[2]{ \frac{\partial #1}{\partial #2} } \newcommand{\DD}[3]{ \frac{\partial^2 #1}{\partial #2 \partial #3} } \newcommand{\Dpow}[2]{ \frac{\partial^{#1}}{\partial {#2}^{#1}} } \newcommand{\dpow}[2]{ \frac{ {\rm d}^{#1}}{{\rm d}\, {#2}^{#1}} }@)@ This is cppad-20221105 documentation. Here is a link to its current documentation .
The Integer Power Function

Syntax
# include <cppad/utility/pow_int.hpp>
z = pow(xy)

See Also
pow

Purpose
Determines the value of the power function @[@ {\rm pow} (x, y) = x^y @]@ for integer exponents n using multiplication and possibly division to compute the value. The other CppAD pow function may use logarithms and exponentiation to compute derivatives of the same value (which will not work if x is less than or equal zero).

Include
The file cppad/utility/pow_int.hpp is included by cppad/cppad.hpp but it can also be included separately with out the rest of the CppAD routines. Including this file defines this version of the pow within the CppAD namespace.

x
The argument x has prototype
    const 
Typex

y
The argument y has prototype
    const int& 
y

z
The result z has prototype
    
Type z

Type
The type Type must support the following operations where a and b are Type objects and i is an int:
Operation    Description Result Type
Type a(i) construction of a Type object from an int Type
a * b binary multiplication of Type objects Type
a / b binary division of Type objects Type

Operation Sequence
The Type operation sequence used to calculate z is independent of x .

Example
The file pow_int.cpp is an example and test of this function.
Input File: include/cppad/utility/pow_int.hpp