CppAD: A C++ Algorithmic Differentiation Package  20171217
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
template<class Vector_set >
void CppAD::local::forward_sparse_jacobian_binary_op ( size_t  i_z,
const addr_t *  arg,
Vector_set &  sparsity 
)
inline

Forward mode Jacobian sparsity pattern for all binary operators.

The C++ source code corresponding to a binary operation has the form

     z = fun(x, y)

where fun is a C++ binary function and both x and y are variables, or it has the form

     z = x op y

where op is a C++ binary unary operator and both x and y are variables.

Template Parameters
Vector_setis the type used for vectors of sets. It can be either sparse_pack or sparse_list.
Parameters
i_zvariable index corresponding to the result for this operation; i.e., z.
argarg[0] variable index corresponding to the left operand for this operator; i.e., x.

arg[1] variable index corresponding to the right operand for this operator; i.e., y.
sparsityInput: The set with index arg[0] in sparsity is the sparsity bit pattern for x. This identifies which of the independent variables the variable x depends on.

Input: The set with index arg[1] in sparsity is the sparsity bit pattern for y. This identifies which of the independent variables the variable y depends on.

Output: The set with index i_z in sparsity is the sparsity bit pattern for z. This identifies which of the independent variables the variable z depends on.
Checked Assertions:
  • arg[0] < i_z
  • arg[1] < i_z

Definition at line 80 of file sparse_binary_op.hpp.

Referenced by for_jac_sweep().