2 # ifndef CPPAD_LOCAL_SUB_OP_HPP 
    3 # define CPPAD_LOCAL_SUB_OP_HPP 
   16 namespace CppAD { 
namespace local { 
 
   43      const Base*   parameter   ,
 
   54      Base* x = taylor + arg[0] * cap_order;
 
   55      Base* y = taylor + arg[1] * cap_order;
 
   56      Base* z = taylor + i_z    * cap_order;
 
   58      for(
size_t d = p; d <= q; d++)
 
   81      const Base*   parameter   ,
 
   92      size_t num_taylor_per_var = (cap_order-1) * r + 1;
 
   93      size_t m                  = (q-1) * r + 1;
 
   94      Base* x = taylor + arg[0] * num_taylor_per_var + m;
 
   95      Base* y = taylor + arg[1] * num_taylor_per_var + m;
 
   96      Base* z = taylor + i_z    * num_taylor_per_var + m;
 
   98      for(
size_t ell = 0; ell < r; ell++)
 
   99           z[ell] = x[ell] - y[ell];
 
  116 template <
class Base>
 
  120      const Base*   parameter   ,
 
  129      Base* x = taylor + arg[0] * cap_order;
 
  130      Base* y = taylor + arg[1] * cap_order;
 
  131      Base* z = taylor + i_z    * cap_order;
 
  150 template <
class Base>
 
  155      const Base*   parameter   ,
 
  168      Base* px = partial + arg[0] * nc_partial;
 
  169      Base* py = partial + arg[1] * nc_partial;
 
  170      Base* pz = partial + i_z    * nc_partial;
 
  195 template <
class Base>
 
  201      const Base*   parameter   ,
 
  212      Base* y = taylor + arg[1] * cap_order;
 
  213      Base* z = taylor + i_z    * cap_order;
 
  216      Base x = parameter[ arg[0] ];
 
  221      for(
size_t d = p; d <= q; d++)
 
  237 template <
class Base>
 
  243      const Base*   parameter   ,
 
  254      size_t num_taylor_per_var = (cap_order-1) * r + 1;
 
  255      size_t m                  = (q-1) * r + 1;
 
  256      Base* y = taylor + arg[1] * num_taylor_per_var + m;
 
  257      Base* z = taylor + i_z    * num_taylor_per_var + m;
 
  260      for(
size_t ell = 0; ell < r; ell++)
 
  276 template <
class Base>
 
  280      const Base*   parameter   ,
 
  289      Base x = parameter[ arg[0] ];
 
  292      Base* y = taylor + arg[1] * cap_order;
 
  293      Base* z = taylor + i_z    * cap_order;
 
  311 template <
class Base>
 
  316      const Base*   parameter   ,
 
  329      Base* py = partial + arg[1] * nc_partial;
 
  330      Base* pz = partial + i_z    * nc_partial;
 
  354 template <
class Base>
 
  360      const Base*   parameter   ,
 
  371      Base* x = taylor + arg[0] * cap_order;
 
  372      Base* z = taylor + i_z    * cap_order;
 
  375      Base y = parameter[ arg[1] ];
 
  380      for(
size_t d = p; d <= q; d++)
 
  396 template <
class Base>
 
  402      const Base*   parameter   ,
 
  413      size_t num_taylor_per_var = (cap_order-1) * r + 1;
 
  414      Base* x = taylor + arg[0] * num_taylor_per_var;
 
  415      Base* z = taylor + i_z    * num_taylor_per_var;
 
  418      size_t m = (q-1) * r + 1;
 
  419      for(
size_t ell = 0; ell < r; ell++)
 
  436 template <
class Base>
 
  440      const Base*   parameter   ,
 
  449      Base y = parameter[ arg[1] ];
 
  452      Base* x = taylor + arg[0] * cap_order;
 
  453      Base* z = taylor + i_z    * cap_order;
 
  471 template <
class Base>
 
  476      const Base*   parameter   ,
 
  489      Base* px = partial + arg[0] * nc_partial;
 
  490      Base* pz = partial + i_z    * nc_partial;
 
void forward_subvp_op(size_t p, size_t q, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor)
Compute forward mode Taylor coefficients for result of op = SubvvOp. 
void reverse_subvv_op(size_t d, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial)
Compute reverse mode partial derivatives for result of op = SubvvOp. 
void forward_subvv_op(size_t p, size_t q, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor)
Compute forward mode Taylor coefficients for result of op = SubvvOp. 
CPPAD_TAPE_ADDR_TYPE addr_t
void forward_subvp_op_0(size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor)
Compute zero order forward mode Taylor coefficients for result of op = SubvvOp. 
void forward_subpv_op_dir(size_t q, size_t r, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor)
Multiple directions forward mode Taylor coefficients for op = SubpvOp. 
size_t NumArg(OpCode op)
Number of arguments for a specified operator. 
void forward_subvv_op_dir(size_t q, size_t r, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor)
Multiple directions forward mode Taylor coefficients for op = SubvvOp. 
size_t NumRes(OpCode op)
Number of variables resulting from the specified operation. 
void forward_subvv_op_0(size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor)
Compute zero order forward mode Taylor coefficients for result of op = SubvvOp. 
void forward_subpv_op(size_t p, size_t q, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor)
Compute forward mode Taylor coefficients for result of op = SubpvOp. 
void reverse_subpv_op(size_t d, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial)
Compute reverse mode partial derivative for result of op = SubpvOp. 
#define CPPAD_ASSERT_UNKNOWN(exp)
Check that exp is true, if not terminate execution. 
void forward_subvp_op_dir(size_t q, size_t r, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor)
Multiple directions forward mode Taylor coefficients for op = SubvvOp. 
void reverse_subvp_op(size_t d, size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, const Base *taylor, size_t nc_partial, Base *partial)
Compute reverse mode partial derivative for result of op = SubvpOp. 
void forward_subpv_op_0(size_t i_z, const addr_t *arg, const Base *parameter, size_t cap_order, Base *taylor)
Compute zero order forward mode Taylor coefficient for result of op = SubpvOp.