CppADCodeGen 2.4.3
A C++ Algorithmic Differentiation Package with Source Code Generation
Loading...
Searching...
No Matches
CppAD::cg::CodeHandler< Base >::LoopData Struct Reference
Collaboration diagram for CppAD::cg::CodeHandler< Base >::LoopData:
Collaboration graph

Public Member Functions

void prepare4NewSourceGen ()
 
void reset ()
 
const std::string * getLoopName (size_t id) const
 
void registerModel (LoopModel< Base > &loop)
 
LoopModel< Base > * getLoop (size_t loopId) const
 
size_t addDependentIndexPattern (IndexPattern &jacPattern)
 
void manageDependentIndexPattern (const IndexPattern *pattern)
 
size_t addIndependentIndexPattern (IndexPattern &pattern, size_t hint)
 
void addLoopEndNode (Node &node)
 

Public Attributes

std::map< size_t, LoopModel< Base > * > loopModels
 
std::vector< LoopEndOperationNode< Base > * > endNodes
 
std::set< const Node * > indexes
 
std::set< RandomIndexPattern * > indexRandomPatterns
 
std::vector< IndexPattern * > dependentIndexPatterns
 
std::vector< const IndexPattern * > dependentIndexPatternManaged
 
std::vector< IndexPattern * > independentIndexPatterns
 
std::vector< std::set< Node * > > outerVars
 
int depth
 
std::vector< size_t > startEvalOrder
 

Detailed Description

template<class Base>
struct CppAD::cg::CodeHandler< Base >::LoopData

Definition at line 840 of file code_handler.hpp.

Constructor & Destructor Documentation

◆ LoopData()

template<class Base >
CppAD::cg::CodeHandler< Base >::LoopData::LoopData ( )
inline

Definition at line 859 of file code_handler.hpp.

Member Function Documentation

◆ addDependentIndexPattern()

template<class Base >
size_t CppAD::cg::CodeHandler< Base >::LoopData::addDependentIndexPattern ( IndexPattern jacPattern)

Definition at line 100 of file code_handler_loops.hpp.

◆ addIndependentIndexPattern()

template<class Base >
size_t CppAD::cg::CodeHandler< Base >::LoopData::addIndependentIndexPattern ( IndexPattern pattern,
size_t  hint 
)

Definition at line 120 of file code_handler_loops.hpp.

◆ addLoopEndNode()

template<class Base >
void CppAD::cg::CodeHandler< Base >::LoopData::addLoopEndNode ( Node node)

Definition at line 134 of file code_handler_loops.hpp.

◆ getLoop()

template<class Base >
LoopModel< Base > * CppAD::cg::CodeHandler< Base >::LoopData::getLoop ( size_t  loopId) const
inline

Definition at line 90 of file code_handler_loops.hpp.

◆ getLoopName()

template<class Base >
const std::string * CppAD::cg::CodeHandler< Base >::LoopData::getLoopName ( size_t  id) const
inline

Provides the name used by a loop atomic function with a given ID.

Parameters
idthe atomic function ID.
Returns
a pointer to the atomic loop function name if it was registered, nullptr otherwise

Definition at line 75 of file code_handler_loops.hpp.

◆ manageDependentIndexPattern()

template<class Base >
void CppAD::cg::CodeHandler< Base >::LoopData::manageDependentIndexPattern ( const IndexPattern pattern)

Definition at line 111 of file code_handler_loops.hpp.

◆ prepare4NewSourceGen()

template<class Base >
void CppAD::cg::CodeHandler< Base >::LoopData::prepare4NewSourceGen
inline

Definition at line 48 of file code_handler_loops.hpp.

◆ registerModel()

template<class Base >
void CppAD::cg::CodeHandler< Base >::LoopData::registerModel ( LoopModel< Base > &  loop)
inline

Definition at line 85 of file code_handler_loops.hpp.

◆ reset()

template<class Base >
void CppAD::cg::CodeHandler< Base >::LoopData::reset
inline

Definition at line 60 of file code_handler_loops.hpp.

Member Data Documentation

◆ dependentIndexPatternManaged

template<class Base >
std::vector<const IndexPattern*> CppAD::cg::CodeHandler< Base >::LoopData::dependentIndexPatternManaged

Definition at line 850 of file code_handler.hpp.

◆ dependentIndexPatterns

template<class Base >
std::vector<IndexPattern*> CppAD::cg::CodeHandler< Base >::LoopData::dependentIndexPatterns

Definition at line 849 of file code_handler.hpp.

◆ depth

template<class Base >
int CppAD::cg::CodeHandler< Base >::LoopData::depth

Definition at line 855 of file code_handler.hpp.

◆ endNodes

template<class Base >
std::vector<LoopEndOperationNode<Base>*> CppAD::cg::CodeHandler< Base >::LoopData::endNodes

Definition at line 843 of file code_handler.hpp.

◆ independentIndexPatterns

template<class Base >
std::vector<IndexPattern*> CppAD::cg::CodeHandler< Base >::LoopData::independentIndexPatterns

Definition at line 851 of file code_handler.hpp.

◆ indexes

template<class Base >
std::set<const Node*> CppAD::cg::CodeHandler< Base >::LoopData::indexes

Definition at line 845 of file code_handler.hpp.

◆ indexRandomPatterns

template<class Base >
std::set<RandomIndexPattern*> CppAD::cg::CodeHandler< Base >::LoopData::indexRandomPatterns

Definition at line 847 of file code_handler.hpp.

◆ loopModels

template<class Base >
std::map<size_t, LoopModel<Base>*> CppAD::cg::CodeHandler< Base >::LoopData::loopModels

Definition at line 842 of file code_handler.hpp.

◆ outerVars

template<class Base >
std::vector<std::set<Node*> > CppAD::cg::CodeHandler< Base >::LoopData::outerVars

Definition at line 853 of file code_handler.hpp.

◆ startEvalOrder

template<class Base >
std::vector<size_t> CppAD::cg::CodeHandler< Base >::LoopData::startEvalOrder

Definition at line 857 of file code_handler.hpp.


The documentation for this struct was generated from the following files: