CppAD: A C++ Algorithmic Differentiation Package
20171217
|
|
inline |
Zero order forward mode execution of op = CSkipOp.
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. |
i_z | variable index corresponding to the result of the previous operation. This is used for error checking. To be specific, the left and right operands for the CExpOp operation must have indexes less than or equal this value. |
arg | [in] arg[0] is static cast to size_t from the enum type enum CompareOp { CompareLt, CompareLe, CompareEq, CompareGe, CompareGt, CompareNe }for this operation. Note that arg[0] cannot be equal to CompareNe. arg[1] & 1 If this is zero, left is an AD<Base> parameter. Otherwise it is an AD<Base> variable. arg[1] & 2 If this is zero, right is an AD<Base> parameter. Otherwise it is an AD<Base> variable. arg[2] is the index corresponding to left in comparision. arg[3] is the index corresponding to right in comparision. arg[4] is the number of operations to skip if the comparision result is true. arg[5] is the number of operations to skip if the comparision result is false. arg[5+i] for i = 1 , ... , arg[4] are the operations to skip if the comparision result is true and both left and right are identically Base parameters. arg[5+arg[4]+i] for i = 1 , ... , arg[5] are the operations to skip if the comparision result is false and both left and right are identically Base parameters. |
num_par | [in] is the total number of values in the vector parameter. |
parameter | [in] If left is an AD<Base> parameter, parameter [ arg[2] ] is its value. If right is an AD<Base> parameter, parameter [ arg[3] ] is its value. |
cap_order | [in] number of columns in the matrix containing the Taylor coefficients. |
taylor | [in] If left is an AD<Base> variable, taylor [ arg[2] * cap_order + 0 ] is the zeroth order Taylor coefficient corresponding to left. If right is an AD<Base> variable, taylor [ arg[3] * cap_order + 0 ] is the zeroth order Taylor coefficient corresponding to right. |
cskip_op | [in,out] is vector specifying which operations are at this point are know to be unecessary and can be skipped. This is both an input and an output. |
Definition at line 119 of file cskip_op.hpp.
Referenced by forward0sweep(), and forward1sweep().