CppADCodeGen 2.4.3
A C++ Algorithmic Differentiation Package with Source Code Generation
Loading...
Searching...
No Matches
CppAD::cg::ArrayIdCompresser< Base > Class Template Reference

#include <array_id_compresser.hpp>

Collaboration diagram for CppAD::cg::ArrayIdCompresser< Base >:
Collaboration graph

Public Member Functions

 ArrayIdCompresser (CodeHandlerVector< Base, size_t > &varId, size_t maxArraySize)
 
size_t getIdCount () const
 
void addFreeArraySpace (const OperationNode< Base > &released)
 
size_t reserveArraySpace (const OperationNode< Base > &newArray)
 

Static Public Member Functions

static bool isSameArrayElement (const Argument< Base > *oldArg, const Argument< Base > &arg)
 

Detailed Description

template<class Base>
class CppAD::cg::ArrayIdCompresser< Base >

Arrays in generated source can reuse space from a global array. Positions for each array can be determined using this class. Array locations are stored in node IDs as: id = location + 1.

Definition at line 27 of file array_id_compresser.hpp.

Constructor & Destructor Documentation

◆ ArrayIdCompresser()

template<class Base >
CppAD::cg::ArrayIdCompresser< Base >::ArrayIdCompresser ( CodeHandlerVector< Base, size_t > &  varId,
size_t  maxArraySize 
)
inline

Creates an ArrayIdCompresser

Parameters
maxArraySizeThe likely number of elements in the temporary array

Definition at line 55 of file array_id_compresser.hpp.

◆ ~ArrayIdCompresser()

template<class Base >
virtual CppAD::cg::ArrayIdCompresser< Base >::~ArrayIdCompresser ( )
inlinevirtual

Definition at line 233 of file array_id_compresser.hpp.

Member Function Documentation

◆ addFreeArraySpace()

template<class Base >
void CppAD::cg::ArrayIdCompresser< Base >::addFreeArraySpace ( const OperationNode< Base > &  released)
inline

Definition at line 66 of file array_id_compresser.hpp.

◆ getIdCount()

template<class Base >
size_t CppAD::cg::ArrayIdCompresser< Base >::getIdCount ( ) const
inline

Definition at line 62 of file array_id_compresser.hpp.

◆ isSameArrayElement()

template<class Base >
static bool CppAD::cg::ArrayIdCompresser< Base >::isSameArrayElement ( const Argument< Base > *  oldArg,
const Argument< Base > &  arg 
)
inlinestatic

Definition at line 219 of file array_id_compresser.hpp.

◆ reserveArraySpace()

template<class Base >
size_t CppAD::cg::ArrayIdCompresser< Base >::reserveArraySpace ( const OperationNode< Base > &  newArray)
inline

Find the best location for the new array

Use available space

no space available, need more

Definition at line 98 of file array_id_compresser.hpp.

Referenced by CppAD::cg::CodeHandler< Base >::reduceTemporaryVariables().


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