CppAD: A C++ Algorithmic Differentiation Package  20130918
CppAD::atomic_base< Base > Class Template Reference
Inheritance diagram for CppAD::atomic_base< Base >:
CppAD::checkpoint< Base > CppAD::old_atomic< Base > CppAD::user_atomic< Base >

List of all members.

Public Types

enum  option_enum { bool_sparsity_enum, set_sparsity_enum }

Public Member Functions

const std::string & afun_name (void) const
 Name corresponding to a base_atomic object.
 atomic_base (void)
 Base class for atomic_user functions.
 atomic_base (const std::string &name)
 Constructor.
virtual bool for_sparse_jac (size_t q, const vector< std::set< size_t > > &r, vector< std::set< size_t > > &s)
 Link from forward Jacobian sparsity sweep to atomic_base.
virtual bool for_sparse_jac (size_t q, const vector< bool > &r, vector< bool > &s)
virtual bool forward (size_t p, size_t q, const vector< bool > &vx, vector< bool > &vy, const vector< Base > &tx, vector< Base > &ty)
 Link from atomic_base to forward mode.
template<class ADVector >
void operator() (const ADVector &ax, ADVector &ay, size_t id=0)
 Implement the user call to afun(ax, ay) and old_atomic call to afun(ax, ay, id).
void option (enum option_enum option_value)
virtual bool rev_sparse_hes (const vector< bool > &vx, const vector< bool > &s, vector< bool > &t, size_t q, const vector< std::set< size_t > > &r, const vector< std::set< size_t > > &u, vector< std::set< size_t > > &v)
 Link from reverse Hessian sparsity sweep to base_atomic.
virtual bool rev_sparse_hes (const vector< bool > &vx, const vector< bool > &s, vector< bool > &t, size_t q, const vector< bool > &r, const vector< bool > &u, vector< bool > &v)
virtual bool rev_sparse_jac (size_t q, const vector< std::set< size_t > > &rt, vector< std::set< size_t > > &st)
 Link from reverse Jacobian sparsity sweep to atomic_base.
virtual bool rev_sparse_jac (size_t q, const vector< bool > &rt, vector< bool > &st)
virtual bool reverse (size_t q, const vector< Base > &tx, const vector< Base > &ty, vector< Base > &px, const vector< Base > &py)
 Link from reverse mode sweep to users routine.
virtual void set_id (size_t id)
 Set value of id (used by deprecated old_atomic class)
option_enum sparsity (void) const
 current sparsity setting
virtual ~atomic_base (void)
 destructor informs CppAD that this atomic function with this index has dropped out of scope by setting its pointer to null

Static Public Member Functions

static const std::string & class_name (size_t index)
 atomic_base function name corresponding to a certain index
static atomic_baseclass_object (size_t index)
 atomic_base function object corresponding to a certain index
static void clear (void)
 Free all thread_alloc static memory held by atomic_base (avoids reallocations).

Static Private Member Functions

static std::vector< std::string > & class_name (void)
 List of names for each object in this class.
static std::vector
< atomic_base * > & 
class_object (void)
 List of all the object in this class.

Private Attributes

vector< Base > afun_tx_ [CPPAD_MAX_NUM_THREADS]
vector< Base > afun_ty_ [CPPAD_MAX_NUM_THREADS]
vector< bool > afun_vx_ [CPPAD_MAX_NUM_THREADS]
 temporary work space used afun, declared here to avoid memory allocation/deallocation for each call to afun
vector< bool > afun_vy_ [CPPAD_MAX_NUM_THREADS]
const size_t index_
 index of this object in class_object
option_enum sparsity_
 sparsity pattern this object is currently using (set by constructor and option member functions)

Detailed Description

template<class Base>
class CppAD::atomic_base< Base >

Definition at line 28 of file atomic_base.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines