CppADCodeGen  HEAD
A C++ Algorithmic Differentiation Package with Source Code Generation
CppAD::cg::ArrayIdCompresser< Base > Class Template Reference
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.

Member Function Documentation

◆ 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< ScalarOut >::reduceTemporaryVariables().


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