CppAD: A C++ Algorithmic Differentiation Package  20171217
template<class Base >
 void CppAD::local::forward_powvv_op ( size_t p, size_t q, size_t i_z, const addr_t * arg, const Base * parameter, size_t cap_order, Base * taylor )
inline

Compute forward mode Taylor coefficients for result of op = PowvvOp.

In the documentation below, this operations is for the case where both x and y are variables and the argument parameter is not used.

Template Parameters
 Base base type for the operator; i.e., this operation was recorded using AD< Base > and computations by this routine are done using type Base.
Parameters
 p lowest order of the Taylor coefficient that we are computing. q highest order of the Taylor coefficient that we are computing. i_z variable index corresponding to the last (primary) result for this operation; i.e. the row index in taylor corresponding to z. Note that there are three results for this operation, below they are referred to as z_0, z_1, z_2 and correspond to ``` z_0 = log(x) z_1 = z0 * y z_2 = exp(z1) ``` It follows that the final result is equal to z; i.e., z = z_2 = pow(x, y). arg arg[0] index corresponding to the left operand for this operator; i.e. the index corresponding to x. arg[1] index corresponding to the right operand for this operator; i.e. the index corresponding to y. parameter If x is a parameter, parameter [ arg[0] ] is the value corresponding to x. If y is a parameter, parameter [ arg[1] ] is the value corresponding to y. cap_order maximum number of orders that will fit in the `taylor` array. taylor Input: If x is a variable, `taylor [ arg[0] * cap_order + k ]` for k = 0 , ... , q, is the k-th order Taylor coefficient corresponding to x. Input: If y is a variable, `taylor [ arg[1] * cap_order + k ]` for k = 0 , ... , q is the k-th order Taylor coefficient corresponding to y. Input: `taylor [ (i_z-2+j) * cap_order + k ]`, for j = 0, 1, 2 , for k = 0 , ... , p-1, is the k-th order Taylor coefficient corresponding to z_j. Output: `taylor [ (i_z-2+j) * cap_order + k ]`, is the k-th order Taylor coefficient corresponding to z_j.
Checked Assertions
• NumArg(op) == 2
• NumRes(op) == 3
• If x is a variable, arg[0] < i_z - 2
• If y is a variable, arg[1] < i_z - 2
• q < cap_order
• p <= q

Definition at line 33 of file pow_op.hpp.

Referenced by forward1sweep().