CppADCodeGen  HEAD
A C++ Algorithmic Differentiation Package with Source Code Generation
CppAD::cg::SectionedIndexPattern Class Reference
Inheritance diagram for CppAD::cg::SectionedIndexPattern:
Inheritance graph
Collaboration diagram for CppAD::cg::SectionedIndexPattern:
Collaboration graph

Public Member Functions

 SectionedIndexPattern (const std::map< size_t, IndexPattern *> &sections)
 
const std::map< size_t, IndexPattern * > & getLinearSections () const
 
IndexPatternType getType () const override
 
void getSubIndexes (std::set< IndexPattern *> &indexes) const override
 

Static Public Member Functions

template<class VectorSizeT >
static std::map< size_t, IndexPattern * > detectLinearSections (const VectorSizeT &indexes, size_t maxCount=0)
 
static std::map< size_t, IndexPattern * > detectLinearSections (const std::map< size_t, size_t > &x2y, size_t maxCount=0)
 
template<class VectorSizeT >
static IndexPatterndetect (const VectorSizeT &x2y)
 
static IndexPatterndetect (const std::map< size_t, size_t > &x2y)
 
static bool isConstant (const IndexPattern &ip)
 

Protected Attributes

std::map< size_t, IndexPattern * > sections_
 

Detailed Description

Several linear patterns

Definition at line 25 of file sectioned_index_pattern.hpp.

Member Function Documentation

◆ detect() [1/2]

template<class VectorSizeT >
IndexPattern * CppAD::cg::IndexPattern::detect ( const VectorSizeT &  x2y)
inlinestaticinherited

Detects the index pattern for the provided points (y = f(x))

Parameters
indexXthe index of the independents (x)
x2ymaps the independents to the dependents (indexes[x] = y )
Returns
the generated index pattern (must be deleted by user)

Definition at line 22 of file index_pattern_impl.hpp.

Referenced by CppAD::cg::Plane2DIndexPattern::detectPlane2D(), CppAD::cg::LoopModel< Base >::getIndexedTapeIndexes(), CppAD::cg::ModelCSourceGen< Base >::prepareSparseForwardOneWithLoops(), CppAD::cg::ModelCSourceGen< Base >::prepareSparseJacobianRowWithLoops(), and CppAD::cg::ModelCSourceGen< Base >::prepareSparseReverseOneWithLoops().

◆ detect() [2/2]

IndexPattern * CppAD::cg::IndexPattern::detect ( const std::map< size_t, size_t > &  x2y)
inlinestaticinherited

Detects the index pattern for the provided points (y = f(x))

Parameters
indexXthe index of the independents (x)
x2ymaps the independents to the dependents (x,y)
Returns
the generated index pattern (must be deleted by user)

Definition at line 38 of file index_pattern_impl.hpp.

Member Data Documentation

◆ sections_

std::map<size_t, IndexPattern*> CppAD::cg::SectionedIndexPattern::sections_
protected

maps the start of the linear section (first x) to the linear pattern

Definition at line 30 of file sectioned_index_pattern.hpp.


The documentation for this class was generated from the following file: