CppAD: A C++ Algorithmic Differentiation Package  20171217
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
#define CPPAD_USER_ATOMIC (   afun,
  Tvector,
  Base,
  forward,
  reverse,
  for_jac_sparse,
  rev_jac_sparse,
  rev_hes_sparse 
)
Value:
inline void afun ( \
size_t id , \
const Tvector< CppAD::AD<Base> >& ax , \
Tvector< CppAD::AD<Base> >& ay \
) \
#afun , \
forward , \
reverse , \
for_jac_sparse , \
rev_jac_sparse , \
rev_hes_sparse \
); \
fun(id, ax, ay); \
}
Definition: ad.hpp:34
#define CPPAD_ASSERT_FIRST_CALL_NOT_PARALLEL
Check that the first call to a routine is not during parallel execution mode.
Class that actually implements the afun(id, ax, ay) calls.
Definition: old_atomic.hpp:826

Defines the function afun(id, ax, ay) where id is ax and ay are vectors with AD<Base> elements.

Tvector
the Simple Vector template class for this function.
Base
the base type for the atomic operation.
afun
name of the CppAD defined function that corresponding to this operation. Note that afun, preceeded by a pound sign, is a version of afun with quotes arround it.
forward
name of the user defined function that computes corresponding results during forward mode.
reverse
name of the user defined function that computes corresponding results during reverse mode.
for_jac_sparse
name of the user defined routine that computes corresponding results during forward mode jacobian sparsity sweeps.
rev_jac_sparse
name of the user defined routine that computes corresponding results during reverse mode jacobian sparsity sweeps.
rev_hes_sparse
name of the user defined routine that computes corresponding results during reverse mode Hessian sparsity sweeps.
memory allocation
Note that old_atomic is used as a static object, so its objects do note get deallocated until the program terminates.

Definition at line 788 of file old_atomic.hpp.