blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL > Struct Template Reference

CPP API: ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL > Struct Template Reference
ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL > Struct Template Reference

#include <ad.hpp>

Collaboration diagram for ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >:

Classes

class  CALLBACK_DATA_POINTER
 
class  CALLBACK_FCN_HANDLER
 
class  CALLBACK_FCN_HANDLER_BASE
 
struct  handler_base
 
struct  interpretation_settings
 
struct  position_t
 
struct  single_tape_data
 
class  tape_callback
 
struct  TAPE_ENTRY
 

Public Types

typedef ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL > AD_TAPE_CLASS
 
typedef ad::helper::callback_object_base< AD_TAPE_CLASScallback_object_t
 

Public Member Functions

AD_ADJOINT_REAL & _adjoint (const size_t tape_index)
 
AD_TAPE_REAL & _adjointEx (const size_t tape_index)
 
void _finish_current_insert_ptr (TAPE_ENTRY *const end)
 
TAPE_ENTRY_get_insert_ptr (const int num_entries2fill, AD_TAPE_INT &new_tape_index)
 
TAPE_ENTRY_get_insert_ptr_range (const int num_entries2fill, AD_TAPE_INT &new_tape_index)
 
size_t _get_tape_memory () const
 
template<class AD_ACTIVE >
void _register_variables_internal (AD_ACTIVE *actives, const typename AD_ACTIVE::VALUE_TYPE *values, int *outs, const int n)
 
 blob_tape ()
 
template<class ext_fcn_data_type >
ext_fcn_data_type * create_callback_object ()
 
template<class ext_fcn_data_type , typename FCN_PARAMETERS >
ext_fcn_data_type * create_callback_object (const FCN_PARAMETERS &parameters)
 
double get_allocated_tape_memory_size () const
 
double get_checkpoint_memory_size ()
 
position_t get_position () const
 
size_t get_tape_memory_size () const
 
template<class ext_fcn_data_type , typename FCN_CALLBACK >
void insert_callback (FCN_CALLBACK callback_handler, ext_fcn_data_type *D)
 
void interpret_adjoint ()
 
void interpret_adjoint_and_reset_to (const position_t &to)
 
void interpret_adjoint_and_zero_adjoints_from_to (const position_t &from, const position_t &to)
 
void interpret_adjoint_and_zero_adjoints_to (const position_t &to)
 
void interpret_adjoint_from (const position_t &from)
 
void interpret_adjoint_from_to (const position_t &from, const position_t &to)
 
void interpret_adjoint_to (const position_t &to)
 
bool is_active ()
 
template<class DATA_HANDLER_1 >
void register_output_variable (ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > &x)
 
template<class DATA_HANDLER_1 >
void register_output_variable (ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > *x, const size_t n)
 
template<class DATA_HANDLER_1 >
void register_output_variable (std::vector< ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > > &x)
 
template<class DATA_HANDLER_1 >
void register_variable (ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > &x)
 
template<class DATA_HANDLER_1 >
void register_variable (ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > &x, const typename ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 >::VALUE_TYPE &v)
 
template<class DATA_HANDLER_1 >
void register_variable (ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > *x, const int n, const typename ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 >::VALUE_TYPE *const v)
 
template<class DATA_HANDLER_1 >
void register_variable (ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > *x, const size_t n)
 
template<class DATA_HANDLER_1 >
void register_variable (std::vector< ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > > &x)
 
void reset ()
 
void reset_to (const position_t &to)
 
void switch_to_active ()
 
void switch_to_passive ()
 
void zero_adjoints ()
 
void zero_adjoints_from (const position_t &from)
 
void zero_adjoints_from_to (const position_t &from, const position_t &to)
 
void zero_adjoints_to (const position_t &to)
 

Static Public Member Functions

static blob_tapecreate (AD_TAPE_INT size, AD_TAPE_INT progvarcounter=0)
 
static blob_tapecreate (tape_options options=tape_options())
 
static void remove (blob_tape *&tape)
 

Public Attributes

std::vector< tape_callbacktape_callbacks
 

Private Member Functions

void _interpret_adjoint_internal (const position_t &from, const position_t &to, const interpretation_settings &settings)
 
void _interpret_adjoint_internal_plain (const position_t &from, const position_t &to, const interpretation_settings &settings)
 
void _interpret_chunk (TAPE_ENTRY *start, TAPE_ENTRY *end, AD_TAPE_INT &progvaridx, const interpretation_settings &settings)
 
void _reset_tape_callbacks_to (const position_t &to)
 
void _reset_to_internal (const position_t &to)
 
void _zero_adjoints_internal (const position_t &from, const position_t &to)
 
 ~blob_tape ()
 

Private Attributes

AD_TAPE_INT _adjoint_size
 
AD_ADJOINT_REAL * _adjoints
 
bool _isactive
 
bool _isdead
 
AD_TAPE_INT _progvarcounter
 
TAPE_ENTRY_stack
 
AD_TAPE_INT _stack_size
 
TAPE_ENTRY_topOfStack
 
int _vecidx
 

Member Typedef Documentation

◆ AD_TAPE_CLASS

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
typedef ad::internal::blob_tape<AD_TAPE_REAL, AD_ADJOINT_REAL> ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::AD_TAPE_CLASS

◆ callback_object_t

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
typedef ad::helper::callback_object_base<AD_TAPE_CLASS> ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::callback_object_t

Constructor & Destructor Documentation

◆ ~blob_tape()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::~blob_tape ( )
inlineprivate

◆ blob_tape()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::blob_tape ( )
inline

Member Function Documentation

◆ _adjoint()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
AD_ADJOINT_REAL& ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::_adjoint ( const size_t  tape_index)
inline

◆ _adjointEx()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
AD_TAPE_REAL& ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::_adjointEx ( const size_t  tape_index)
inline

◆ _finish_current_insert_ptr()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::_finish_current_insert_ptr ( TAPE_ENTRY *const  end)
inline

◆ _get_insert_ptr()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
TAPE_ENTRY* ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::_get_insert_ptr ( const int  num_entries2fill,
AD_TAPE_INT new_tape_index 
)
inline

◆ _get_insert_ptr_range()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
TAPE_ENTRY* ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::_get_insert_ptr_range ( const int  num_entries2fill,
AD_TAPE_INT new_tape_index 
)
inline

◆ _get_tape_memory()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
size_t ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::_get_tape_memory ( ) const
inline

◆ _interpret_adjoint_internal()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::_interpret_adjoint_internal ( const position_t from,
const position_t to,
const interpretation_settings settings 
)
inlineprivate

◆ _interpret_adjoint_internal_plain()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::_interpret_adjoint_internal_plain ( const position_t from,
const position_t to,
const interpretation_settings settings 
)
inlineprivate

◆ _interpret_chunk()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::_interpret_chunk ( TAPE_ENTRY start,
TAPE_ENTRY end,
AD_TAPE_INT progvaridx,
const interpretation_settings settings 
)
inlineprivate

◆ _register_variables_internal()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
template<class AD_ACTIVE >
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::_register_variables_internal ( AD_ACTIVE *  actives,
const typename AD_ACTIVE::VALUE_TYPE *  values,
int *  outs,
const int  n 
)
inline

◆ _reset_tape_callbacks_to()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::_reset_tape_callbacks_to ( const position_t to)
inlineprivate

◆ _reset_to_internal()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::_reset_to_internal ( const position_t to)
inlineprivate

◆ _zero_adjoints_internal()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::_zero_adjoints_internal ( const position_t from,
const position_t to 
)
inlineprivate

◆ create() [1/2]

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
static blob_tape* ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::create ( AD_TAPE_INT  size,
AD_TAPE_INT  progvarcounter = 0 
)
inlinestatic

◆ create() [2/2]

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
static blob_tape* ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::create ( tape_options  options = tape_options())
inlinestatic

◆ create_callback_object() [1/2]

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
template<class ext_fcn_data_type >
ext_fcn_data_type* ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::create_callback_object ( )
inline

◆ create_callback_object() [2/2]

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
template<class ext_fcn_data_type , typename FCN_PARAMETERS >
ext_fcn_data_type* ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::create_callback_object ( const FCN_PARAMETERS &  parameters)
inline

◆ get_allocated_tape_memory_size()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
double ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::get_allocated_tape_memory_size ( ) const
inline

◆ get_checkpoint_memory_size()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
double ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::get_checkpoint_memory_size ( )
inline

◆ get_position()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
position_t ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::get_position ( ) const
inline

◆ get_tape_memory_size()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
size_t ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::get_tape_memory_size ( ) const
inline

◆ insert_callback()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
template<class ext_fcn_data_type , typename FCN_CALLBACK >
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::insert_callback ( FCN_CALLBACK  callback_handler,
ext_fcn_data_type *  D 
)
inline

◆ interpret_adjoint()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::interpret_adjoint ( )
inline

◆ interpret_adjoint_and_reset_to()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::interpret_adjoint_and_reset_to ( const position_t to)
inline

◆ interpret_adjoint_and_zero_adjoints_from_to()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::interpret_adjoint_and_zero_adjoints_from_to ( const position_t from,
const position_t to 
)
inline

◆ interpret_adjoint_and_zero_adjoints_to()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::interpret_adjoint_and_zero_adjoints_to ( const position_t to)
inline

◆ interpret_adjoint_from()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::interpret_adjoint_from ( const position_t from)
inline

◆ interpret_adjoint_from_to()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::interpret_adjoint_from_to ( const position_t from,
const position_t to 
)
inline

◆ interpret_adjoint_to()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::interpret_adjoint_to ( const position_t to)
inline

◆ is_active()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
bool ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::is_active ( )
inline

◆ register_output_variable() [1/3]

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
template<class DATA_HANDLER_1 >
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::register_output_variable ( ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > &  x)
inline

◆ register_output_variable() [2/3]

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
template<class DATA_HANDLER_1 >
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::register_output_variable ( ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > *  x,
const size_t  n 
)
inline

◆ register_output_variable() [3/3]

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
template<class DATA_HANDLER_1 >
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::register_output_variable ( std::vector< ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > > &  x)
inline

◆ register_variable() [1/5]

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
template<class DATA_HANDLER_1 >
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::register_variable ( ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > &  x)
inline

◆ register_variable() [2/5]

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
template<class DATA_HANDLER_1 >
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::register_variable ( ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > &  x,
const typename ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 >::VALUE_TYPE &  v 
)
inline

◆ register_variable() [3/5]

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
template<class DATA_HANDLER_1 >
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::register_variable ( ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > *  x,
const int  n,
const typename ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 >::VALUE_TYPE *const  v 
)
inline

◆ register_variable() [4/5]

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
template<class DATA_HANDLER_1 >
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::register_variable ( ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > *  x,
const size_t  n 
)
inline

◆ register_variable() [5/5]

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
template<class DATA_HANDLER_1 >
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::register_variable ( std::vector< ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > > &  x)
inline

◆ remove()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
static void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::remove ( blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL > *&  tape)
inlinestatic

◆ reset()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::reset ( )
inline

◆ reset_to()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::reset_to ( const position_t to)
inline

◆ switch_to_active()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::switch_to_active ( )
inline

◆ switch_to_passive()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::switch_to_passive ( )
inline

◆ zero_adjoints()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::zero_adjoints ( )
inline

◆ zero_adjoints_from()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::zero_adjoints_from ( const position_t from)
inline

◆ zero_adjoints_from_to()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::zero_adjoints_from_to ( const position_t from,
const position_t to 
)
inline

◆ zero_adjoints_to()

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
void ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::zero_adjoints_to ( const position_t to)
inline

Member Data Documentation

◆ _adjoint_size

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
AD_TAPE_INT ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::_adjoint_size
private

◆ _adjoints

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
AD_ADJOINT_REAL* ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::_adjoints
private

◆ _isactive

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
bool ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::_isactive
private

◆ _isdead

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
bool ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::_isdead
private

◆ _progvarcounter

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
AD_TAPE_INT ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::_progvarcounter
private

◆ _stack

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
TAPE_ENTRY* ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::_stack
private

◆ _stack_size

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
AD_TAPE_INT ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::_stack_size
private

◆ _topOfStack

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
TAPE_ENTRY* ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::_topOfStack
private

◆ _vecidx

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
int ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::_vecidx
private

◆ tape_callbacks

template<class AD_TAPE_REAL , class AD_ADJOINT_REAL = AD_TAPE_REAL>
std::vector<tape_callback> ad::internal::blob_tape< AD_TAPE_REAL, AD_ADJOINT_REAL >::tape_callbacks