|  | 
|  | PrimalValueBaseTape () | 
|  | Constructor. 
 | 
|  | 
|  | 
| inlineGradient & | gradient (Identifier const &identifier, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Reference access to gradient. 
 | 
|  | 
| inlineGradient const & | gradient (Identifier const &identifier, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) const | 
|  | Constant reference access to gradient. 
 | 
|  | 
|  | 
| template<typename Real> | 
| inlinevoid | initIdentifier (Real &value, Identifier &identifier) | 
|  | 
| template<typename Real> | 
| inlinevoid | destroyIdentifier (Real &value, Identifier &identifier) | 
|  | Has to be called for each identifier, before it is deallocated. 
 | 
|  | 
|  | 
| template<typename Aggregated, typename Type, typename Lhs, typename Rhs> | 
| inlinevoid | store (AggregatedActiveType< Aggregated, Type, Lhs > &lhs, ExpressionInterface< Aggregated, Rhs > const &rhs) | 
|  | 
| template<typename Aggregated, typename Type, typename Lhs, typename Rhs> | 
| inlinevoid | store (AggregatedActiveType< Aggregated, Type, Lhs > &lhs, AggregatedActiveType< Aggregated, Type, Rhs > const &rhs) | 
|  | Has to be called by an AD variable every time it is assigned. 
 
 | 
|  | 
| template<typename Lhs, typename Rhs> | 
| inlinevoid | store (LhsExpressionInterface< Real, Gradient, Impl, Lhs > &lhs, ExpressionInterface< Real, Rhs > const &rhs) | 
|  | Has to be called by an AD variable every time it is assigned. 
 | 
|  | 
| template<typename Lhs, typename Rhs> | 
| inlinevoid | store (LhsExpressionInterface< Real, Gradient, Impl, Lhs > &lhs, LhsExpressionInterface< Real, Gradient, Impl, Rhs > const &rhs) | 
|  | Has to be called by an AD variable every time it is assigned. 
 
 | 
|  | 
| template<typename Lhs> | 
| inlinevoid | store (LhsExpressionInterface< Real, Gradient, Impl, Lhs > &lhs, Real const &rhs) | 
|  | Has to be called by an AD variable every time it is assigned. 
 
 | 
|  | 
|  | 
| template<typename Lhs> | 
| inlinevoid | registerInput (LhsExpressionInterface< Real, Gradient, Impl, Lhs > &value) | 
|  | 
| inlinevoid | clearAdjoints (AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Clear all adjoint values, that is, set them to zero. 
 | 
|  | 
| inlinevoid | reset (bool resetAdjoints=true, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Reset the tape to the initial state for a fresh recording. 
 | 
|  | 
|  | 
| template<typename AdjointVector> | 
| inlinevoid | evaluate (Position const &start, Position const &end, AdjointVector &&data) | 
|  | Perform a reverse evaluation for a part of the tape. It hast to hold start >= end. 
 | 
|  | 
| template<typename AdjointVector> | 
| inlinevoid | evaluateForward (Position const &start, Position const &end, AdjointVector &&data) | 
|  | Perform a forward evaluation of a part of the tape. It has to hold start <= end. 
 | 
|  | 
| inlineGradient * | getInternalAdjoints () | 
|  | Obtain a representation of the tape's internal adjoint vector that can be used as custom adjoints. 
 | 
|  | 
| void | evaluate (AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Perform a full reverse evaluation of the tape. 
 | 
|  | 
|  | 
| inlinevoid | swap (Impl &other) | 
|  | Swap all data with an other tape. 
 | 
|  | 
| void | deleteAdjointVector () | 
|  | Delete the adjoint vector. See Adjoint vector management. 
 | 
|  | 
| void | resizeAdjointVector () | 
|  | Explicitly trigger resizing of the adjoint vector. See Adjoint vector management. 
 | 
|  | 
| void | beginUseAdjointVector () | 
|  | Declare that the adjoint vector is being used. See Adjoint vector management. 
 | 
|  | 
| void | endUseAdjointVector () | 
|  | Declare that the adjoint vector is no longer used. See Adjoint vector management. 
 | 
|  | 
| size_t | getParameter (TapeParameters parameter) const | 
|  | See Parameters functions. 
 | 
|  | 
| void | setParameter (TapeParameters parameter, size_t value) | 
|  | See Parameters functions. 
 | 
|  | 
| VectorAccess< Gradient * > * | createVectorAccess () | 
|  | See Adjoint vector access. 
 | 
|  | 
| template<typename AdjointVector> | 
| VectorAccess< AdjointVector > * | createVectorAccessCustomAdjoints (AdjointVector &&data) | 
|  | 
| template<typename Adjoint> | 
| VectorAccess< Adjoint * > * | createVectorAccessCustomAdjoints (Adjoint *data) | 
|  | 
| void | deleteVectorAccess (VectorAccessInterface< Real, Identifier > *access) | 
|  | See Adjoint vector access. 
 | 
|  | 
|  | 
| template<typename Lhs> | 
| Real | registerExternalFunctionOutput (LhsExpressionInterface< Real, Gradient, Impl, Lhs > &value) | 
|  | 
|  | 
| void | evaluateForward (Position const &start, Position const &end, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Perform a forward evaluation of a part of the tape. It has to hold start <= end. 
 | 
|  | 
| void | evaluateForward (AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Perform a forward evaluation of a part of the tape. It has to hold start <= end. 
 | 
|  | 
|  | 
| void | pushJacobianManual (Real const &jacobian, Real const &value, Identifier const &index) | 
|  | 
| void | storeManual (Real const &lhsValue, Identifier &lhsIndex, Config::ArgumentSize const &size) | 
|  | 
|  | 
| void | createStatementManual (Config::ArgumentSize const &nOutputValues, Identifier const *const lhsIndices, Real const *const lhsValues, Config::ArgumentSize const &nActiveValues, Identifier const *const rhsIdentifiers, Config::ArgumentSize const &nPassiveValues, Real const *const rhsPrimals, Config::ArgumentSize const &nConstants, Real const *const rhsConstant, EvalHandle const &evalHandle) | 
|  | 
| template<typename Type> | 
| void | writeTape (codi::TapeWriterInterface< Type > *writer, Position const &start, Position const &end) | 
|  | For full or partial tapes using a pointer to the writer. 
 | 
|  | 
| void | writeTape (std::unique_ptr< TapeWriterInterface< Type > > writer) | 
|  | For full-tape writers using a smart pointer. 
 | 
|  | 
| void | writeTape (std::unique_ptr< TapeWriterInterface< Type > > writer, Position const &start, Position const &end) | 
|  | For partial-tape writers using a smart pointer. 
 | 
|  | 
| void | writeTape (codi::TapeWriterInterface< Type > &writeToFileRef) | 
|  | For full-tape writers using a manually generated writers. 
 | 
|  | 
| void | writeTape (codi::TapeWriterInterface< Type > &writeToFileRef, Position const &start, Position const &end) | 
|  | For partial-tape writers using a manually generated writers. 
 | 
|  | 
|  | 
| IndexManager & | getIndexManager () | 
|  | Returns a reference to the Index Manager. 
 | 
|  | 
|  | 
| inlinevoid | pushLowLevelFunction (Config::LowLevelFunctionToken token, size_t size, ByteDataView &data) | 
|  | Push a low level function to the tape. 
 | 
|  | 
|  | 
| inlinevoid | evaluate (Position const &start, Position const &end, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Perform a reverse evaluation for a part of the tape. It hast to hold start >= end. 
 | 
|  | 
| inlinevoid | resetTo (Position const &pos, bool resetAdjoints=true, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Reset the tape to the provided position. 
 | 
|  | 
|  | 
| void | evaluateKeepState (Position const &start, Position const &end, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Perform a tape evaluation but restore the state afterwards such that it is the same as when the evaluation started. It hast to hold start >= end. 
 | 
|  | 
| template<typename AdjointVector> | 
| void | evaluateKeepState (Position const &start, Position const &end, AdjointVector &&data) | 
|  | Perform a tape evaluation but restore the state afterwards such that it is the same as when the evaluation started. It hast to hold start >= end. 
 | 
|  | 
| void | evaluateForwardKeepState (Position const &start, Position const &end, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Perform a tape evaluation but restore the state afterwards such that it is the same as when the evaluation started. It hast to hold start <= end. 
 | 
|  | 
| template<typename AdjointVector> | 
| void | evaluateForwardKeepState (Position const &start, Position const &end, AdjointVector &&data) | 
|  | Perform a tape evaluation but restore the state afterwards such that it is the same as when the evaluation started. It hast to hold start <= end. 
 | 
|  | 
|  | 
| void | evaluatePrimal (Position const &start, Position const &end) | 
|  | Perform a full (forward) reevaluation of the primals in the tape. 
 | 
|  | 
| Real & | primal (Identifier const &identifier) | 
|  | Writable reference to primal value. 
 | 
|  | 
| Real const & | primal (Identifier const &identifier) const | 
|  | Read only reference to primal value. 
 | 
|  | 
| void | evaluatePrimal () | 
|  | Perform a full (forward) reevaluation of the primals in the tape. 
 | 
|  | 
|  | CommonTapeImplementation () | 
|  | Constructor. 
 | 
|  | 
|  | CommonTapeImplementation () | 
|  | Constructor. 
 | 
|  | 
|  | CommonTapeImplementation (CommonTapeImplementation &&)=delete | 
|  | Do not allow move construction. Relevant use cases should be covered by swap. 
 | 
|  | 
|  | CommonTapeImplementation (CommonTapeImplementation &&)=delete | 
|  | Do not allow move construction. Relevant use cases should be covered by swap. 
 | 
|  | 
|  | CommonTapeImplementation (CommonTapeImplementation const &)=delete | 
|  | Do not allow copy construction. 
 | 
|  | 
|  | CommonTapeImplementation (CommonTapeImplementation const &)=delete | 
|  | Do not allow copy construction. 
 | 
|  | 
| CommonTapeImplementation & | operator= (CommonTapeImplementation &&)=delete | 
|  | Do not allow move assignment. Relevant use cases should be covered by swap. 
 | 
|  | 
| CommonTapeImplementation & | operator= (CommonTapeImplementation &&)=delete | 
|  | Do not allow move assignment. Relevant use cases should be covered by swap. 
 | 
|  | 
| CommonTapeImplementation & | operator= (CommonTapeImplementation const &)=delete | 
|  | Do not allow copy assignment. 
 | 
|  | 
| CommonTapeImplementation & | operator= (CommonTapeImplementation const &)=delete | 
|  | Do not allow copy assignment. 
 | 
|  | 
| void | setGradient (Identifier const &identifier, Gradient const &gradient, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Set the gradient. 
 | 
|  | 
| Gradient const & | getGradient (Identifier const &identifier, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) const | 
|  | Set the gradient. 
 | 
|  | 
| void | setGradient (Identifier const &identifier, Gradient const &gradient, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Set the gradient. 
 | 
|  | 
| Gradient const & | getGradient (Identifier const &identifier, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) const | 
|  | Set the gradient. 
 | 
|  | 
| void | evaluate (AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Perform a full reverse evaluation of the tape. 
 | 
|  | 
| void | registerOutput (LhsExpressionInterface< Real, Gradient, Impl, Lhs > &value) | 
|  | 
| void | setActive () | 
|  | Start/continue recording of statements. 
 | 
|  | 
| void | setPassive () | 
|  | Stop/interrupt recording of statements. 
 | 
|  | 
| bool | isActive () const | 
|  | Check if the tape is recording. 
 | 
|  | 
| void | printStatistics (Stream &out=std::cout) const | 
|  | Default formatting of TapeValues. 
 | 
|  | 
| void | printTableHeader (Stream &out=std::cout) const | 
|  | Table header output of TapeValues. 
 | 
|  | 
| void | printTableRow (Stream &out=std::cout) const | 
|  | Table row output of TapeValues. 
 | 
|  | 
| TapeValues | getTapeValues () const | 
|  | Get current tape values. 
 | 
|  | 
| inlinevoid | reset (bool resetAdjoints=true, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Reset the tape to the initial state for a fresh recording. 
 | 
|  | 
| void | evaluate (AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Perform a full reverse evaluation of the tape. 
 | 
|  | 
| void | registerOutput (LhsExpressionInterface< Real, Gradient, Impl, Lhs > &value) | 
|  | 
| void | setActive () | 
|  | Start/continue recording of statements. 
 | 
|  | 
| void | setPassive () | 
|  | Stop/interrupt recording of statements. 
 | 
|  | 
| bool | isActive () const | 
|  | Check if the tape is recording. 
 | 
|  | 
| void | printStatistics (Stream &out=std::cout) const | 
|  | Default formatting of TapeValues. 
 | 
|  | 
| void | printTableHeader (Stream &out=std::cout) const | 
|  | Table header output of TapeValues. 
 | 
|  | 
| void | printTableRow (Stream &out=std::cout) const | 
|  | Table row output of TapeValues. 
 | 
|  | 
| TapeValues | getTapeValues () const | 
|  | Get current tape values. 
 | 
|  | 
| inlinevoid | reset (bool resetAdjoints=true, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Reset the tape to the initial state for a fresh recording. 
 | 
|  | 
| void | swap (Impl &other) | 
|  | Swap all data with an other tape. 
 | 
|  | 
| void | resetHard () | 
|  | Delete everything and return to the state after construction, as far as possible. 
 | 
|  | 
| void | swap (Impl &other) | 
|  | Swap all data with an other tape. 
 | 
|  | 
| void | resetHard () | 
|  | Delete everything and return to the state after construction, as far as possible. 
 | 
|  | 
| void | writeToFile (const std::string &filename) | 
|  | See File IO functions. 
 | 
|  | 
| void | readFromFile (const std::string &filename) | 
|  | See File IO functions. 
 | 
|  | 
| void | deleteData () | 
|  | See File IO functions. 
 | 
|  | 
| std::set< TapeParameters > const & | getAvailableParameters () const | 
|  | See Parameters functions. 
 | 
|  | 
| size_t | getParameter (TapeParameters parameter) const | 
|  | See Parameters functions. 
 | 
|  | 
| bool | hasParameter (TapeParameters parameter) const | 
|  | See Parameters functions. 
 | 
|  | 
| void | setParameter (TapeParameters parameter, size_t value) | 
|  | See Parameters functions. 
 | 
|  | 
| void | writeToFile (const std::string &filename) | 
|  | See File IO functions. 
 | 
|  | 
| void | readFromFile (const std::string &filename) | 
|  | See File IO functions. 
 | 
|  | 
| void | deleteData () | 
|  | See File IO functions. 
 | 
|  | 
| std::set< TapeParameters > const & | getAvailableParameters () const | 
|  | See Parameters functions. 
 | 
|  | 
| size_t | getParameter (TapeParameters parameter) const | 
|  | See Parameters functions. 
 | 
|  | 
| bool | hasParameter (TapeParameters parameter) const | 
|  | See Parameters functions. 
 | 
|  | 
| void | setParameter (TapeParameters parameter, size_t value) | 
|  | See Parameters functions. 
 | 
|  | 
| void | pushExternalFunction (ExternalFunction< Impl > const &extFunc) | 
|  | 
| void | pushExternalFunction (ExternalFunction< Impl > const &extFunc) | 
|  | 
| void | evaluateForward (AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Perform a forward evaluation of a part of the tape. It has to hold start <= end. 
 | 
|  | 
| void | evaluateForward (AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Perform a forward evaluation of a part of the tape. It has to hold start <= end. 
 | 
|  | 
| void | writeTape (std::unique_ptr< TapeWriterInterface< Type > > writer) | 
|  | For full-tape writers using a smart pointer. 
 | 
|  | 
| void | writeTape (std::unique_ptr< TapeWriterInterface< Type > > writer, Position const &start, Position const &end) | 
|  | For partial-tape writers using a smart pointer. 
 | 
|  | 
| void | writeTape (codi::TapeWriterInterface< Type > &writeToFileRef) | 
|  | For full-tape writers using a manually generated writers. 
 | 
|  | 
| void | writeTape (codi::TapeWriterInterface< Type > &writeToFileRef, Position const &start, Position const &end) | 
|  | For partial-tape writers using a manually generated writers. 
 | 
|  | 
| void | writeTape (std::unique_ptr< TapeWriterInterface< Type > > writer) | 
|  | For full-tape writers using a smart pointer. 
 | 
|  | 
| void | writeTape (std::unique_ptr< TapeWriterInterface< Type > > writer, Position const &start, Position const &end) | 
|  | For partial-tape writers using a smart pointer. 
 | 
|  | 
| void | writeTape (codi::TapeWriterInterface< Type > &writeToFileRef) | 
|  | For full-tape writers using a manually generated writers. 
 | 
|  | 
| void | writeTape (codi::TapeWriterInterface< Type > &writeToFileRef, Position const &start, Position const &end) | 
|  | For partial-tape writers using a manually generated writers. 
 | 
|  | 
| Identifier | getPassiveIndex () const | 
|  | Identifier for passive values. Usually 0. 
 | 
|  | 
| Identifier | getInvalidIndex () const | 
|  | Invalid identifier. 
 | 
|  | 
| bool | isIdentifierActive (Identifier const &index) const | 
|  | 
| void | deactivateValue (LhsExpressionInterface< Real, Gradient, Impl, Lhs > &value) | 
|  | 
| Identifier | getPassiveIndex () const | 
|  | Identifier for passive values. Usually 0. 
 | 
|  | 
| Identifier | getInvalidIndex () const | 
|  | Invalid identifier. 
 | 
|  | 
| bool | isIdentifierActive (Identifier const &index) const | 
|  | 
| void | deactivateValue (LhsExpressionInterface< Real, Gradient, Impl, Lhs > &value) | 
|  | 
| Position | getPosition () const | 
|  | Current position of the tape. 
 | 
|  | 
| Position | getZeroPosition () const | 
|  | Initial position of the tape. 
 | 
|  | 
| Position | getPosition () const | 
|  | Current position of the tape. 
 | 
|  | 
| Position | getZeroPosition () const | 
|  | Initial position of the tape. 
 | 
|  | 
| inlinevoid | resetTo (Position const &pos, bool resetAdjoints=true, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Reset the tape to the provided position. 
 | 
|  | 
| inlinevoid | resetTo (Position const &pos, bool resetAdjoints=true, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Reset the tape to the provided position. 
 | 
|  | 
| void | evaluatePrimal () | 
|  | Perform a full (forward) reevaluation of the primals in the tape. 
 | 
|  | 
| void | setPrimal (Identifier const &identifier, Real const &primal) | 
|  | Set primal value. 
 | 
|  | 
| Real const & | getPrimal (Identifier const &identifier) const | 
|  | Get primal value. 
 | 
|  | 
| void | evaluatePrimal () | 
|  | Perform a full (forward) reevaluation of the primals in the tape. 
 | 
|  | 
| void | setPrimal (Identifier const &identifier, Real const &primal) | 
|  | Set primal value. 
 | 
|  | 
| Real const & | getPrimal (Identifier const &identifier) const | 
|  | Get primal value. 
 | 
|  | 
| inlineTemporaryMemory & | getTemporaryMemory () | 
|  | Temporary memory that can be used for dynamic data both during the evaluation and the recording. 
 | 
|  | 
| inlineConfig::LowLevelFunctionToken | registerLowLevelFunction (LowLevelFunctionEntry< Impl, Real, Identifier > const &entry) | 
|  | Register a low level function on the tape. 
 | 
|  | 
| inlineTemporaryMemory & | getTemporaryMemory () | 
|  | Temporary memory that can be used for dynamic data both during the evaluation and the recording. 
 | 
|  | 
| inlineConfig::LowLevelFunctionToken | registerLowLevelFunction (LowLevelFunctionEntry< Impl, Real, Identifier > const &entry) | 
|  | Register a low level function on the tape. 
 | 
|  | 
| void | evaluate (Position const &start, Position const &end, AdjointVector &&data) | 
|  | Perform a reverse evaluation for a part of the tape. It hast to hold start >= end. 
 | 
|  | 
| void | evaluateForward (Position const &start, Position const &end, AdjointVector &&data) | 
|  | 
| void | clearCustomAdjoints (Position const &start, Position const &end, AdjointVector &&data) | 
|  | Clear all adjoint values, that is, set them to zero. 
 | 
|  | 
| InternalAdjoints | getInternalAdjoints () | 
|  | Obtain a representation of the tape's internal adjoint vector that can be used as custom adjoints. 
 | 
|  | 
| void | evaluateForward (Position const &start, Position const &end, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Perform a forward evaluation of a part of the tape. It has to hold start <= end. 
 | 
|  | 
| void | evaluateForward (AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Perform a forward evaluation of the full tape. 
 | 
|  | 
| void | evaluate (Position const &start, Position const &end, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Perform a reverse evaluation for a part of the tape. It hast to hold start >= end. 
 | 
|  | 
| void | clearAdjoints (Position const &start, Position const &end, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Clear all adjoints that would be set in a tape evaluation from start to end. It has to hold start >= end. 
 | 
|  | 
| Position | getPosition () const | 
|  | Current position of the tape. 
 | 
|  | 
| Position | getZeroPosition () const | 
|  | Initial position of the tape. 
 | 
|  | 
| void | resetTo (Position const &pos, bool resetAdjoints=true, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Reset the tape to the provided position. 
 | 
|  | 
| void | writeToFile (std::string const &filename) const | 
|  | See File IO functions. 
 | 
|  | 
| void | readFromFile (std::string const &filename) | 
|  | See File IO functions. 
 | 
|  | 
| void | deleteData () | 
|  | See File IO functions. 
 | 
|  | 
| std::set< TapeParameters > const & | getAvailableParameters () const | 
|  | See Parameters functions. 
 | 
|  | 
| size_t | getParameter (TapeParameters parameter) const | 
|  | See Parameters functions. 
 | 
|  | 
| bool | hasParameter (TapeParameters parameter) const | 
|  | See Parameters functions. 
 | 
|  | 
| void | setParameter (TapeParameters parameter, size_t value) | 
|  | See Parameters functions. 
 | 
|  | 
| VectorAccessInterface< Real, Identifier > * | createVectorAccess () | 
|  | See Adjoint vector access. 
 | 
|  | 
| VectorAccessInterface< Real, Identifier > * | createVectorAccessCustomAdjoints (AdjointVector &&data) | 
|  | 
| void | deleteVectorAccess (VectorAccessInterface< Real, Identifier > *access) | 
|  | See Adjoint vector access. 
 | 
|  | 
| void | resizeAdjointVector () | 
|  | Explicitly trigger resizing of the adjoint vector. See Adjoint vector management. 
 | 
|  | 
| void | deleteAdjointVector () | 
|  | Delete the adjoint vector. See Adjoint vector management. 
 | 
|  | 
| void | beginUseAdjointVector () | 
|  | Declare that the adjoint vector is being used. See Adjoint vector management. 
 | 
|  | 
| void | endUseAdjointVector () | 
|  | Declare that the adjoint vector is no longer used. See Adjoint vector management. 
 | 
|  | 
| void | swap (DataManagementTapeInterface &other) | 
|  | Swap all data with an other tape. 
 | 
|  | 
| void | resetHard () | 
|  | Delete everything and return to the state after construction, as far as possible. 
 | 
|  | 
| Real | registerExternalFunctionOutput (LhsExpressionInterface< Real, Gradient, Tape, Lhs > &value) | 
|  | 
| void | pushExternalFunction (ExternalFunction< ExternalFunctionTapeInterface > const &extFunc) | 
|  | 
| void | setGradient (Identifier const &identifier, Gradient const &gradient, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Set the gradient. 
 | 
|  | 
| Gradient const & | getGradient (Identifier const &identifier, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) const | 
|  | Set the gradient. 
 | 
|  | 
| Gradient & | gradient (Identifier const &identifier, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Reference access to gradient. 
 | 
|  | 
| Gradient const & | gradient (Identifier const &identifier, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) const | 
|  | Constant reference access to gradient. 
 | 
|  | 
| Identifier | getPassiveIndex () const | 
|  | Identifier for passive values. Usually 0. 
 | 
|  | 
| Identifier | getInvalidIndex () const | 
|  | Invalid identifier. 
 | 
|  | 
| bool | isIdentifierActive (Identifier const &index) const | 
|  | 
| IndexManagerInterface< Identifier > & | getIndexManager () | 
|  | Returns a reference to the Index Manager. 
 | 
|  | 
| void | deactivateValue (LhsExpressionInterface< Real, Gradient, Tape, Lhs > &value) | 
|  | 
| void | initIdentifier (Real &value, Identifier &identifier) | 
|  | 
| void | destroyIdentifier (Real &value, Identifier &identifier) | 
|  | Has to be called for each identifier, before it is deallocated. 
 | 
|  | 
| void | store (Lhs &lhs, Rhs const &rhs) | 
|  | Has to be called by an AD variable every time it is assigned. 
 | 
|  | 
| TemporaryMemory & | getTemporaryMemory () | 
|  | Temporary memory that can be used for dynamic data both during the evaluation and the recording. 
 | 
|  | 
| void | pushLowLevelFunction (Config::LowLevelFunctionToken token, size_t size, ByteDataView &data) | 
|  | Push a low level function to the tape. 
 | 
|  | 
| Config::LowLevelFunctionToken | registerLowLevelFunction (LowLevelFunctionEntry< LowLevelFunctionTapeInterface, Real, Identifier > const &entry) | 
|  | Register a low level function on the tape. 
 | 
|  | 
| void | pushJacobianManual (Real const &jacobian, Real const &value, Identifier const &index) | 
|  | 
| void | storeManual (Real const &lhsValue, Identifier &lhsIndex, Config::ArgumentSize const &size) | 
|  | 
| void | evaluateKeepState (Position const &start, Position const &end, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Perform a tape evaluation but restore the state afterwards such that it is the same as when the evaluation started. It hast to hold start >= end. 
 | 
|  | 
| void | evaluateKeepState (Position const &start, Position const &end, AdjointVector &&data) | 
|  | 
| void | evaluateForwardKeepState (Position const &start, Position const &end, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Perform a tape evaluation but restore the state afterwards such that it is the same as when the evaluation started. It hast to hold start <= end. 
 | 
|  | 
| void | evaluateForwardKeepState (Position const &start, Position const &end, AdjointVector &&data) | 
|  | 
| void | evaluatePrimal (Position const &start, Position const &end) | 
|  | Perform a partly (forward) reevaluation of the primals in the tape. It has to hold start <= end. 
 | 
|  | 
| void | evaluatePrimal () | 
|  | Perform a full (forward) reevaluation of the primals in the tape. 
 | 
|  | 
| void | setPrimal (Identifier const &identifier, Real const &gradient) | 
|  | Set primal value. 
 | 
|  | 
| Real const & | getPrimal (Identifier const &identifier) const | 
|  | Get primal value. 
 | 
|  | 
| Real & | primal (Identifier const &identifier) | 
|  | Writable reference to primal value. 
 | 
|  | 
| Real const & | primal (Identifier const &identifier) const | 
|  | Read only reference to primal value. 
 | 
|  | 
| void | revertPrimals (Position const &pos) | 
|  | Revert the primals to the state indicated by pos. 
 | 
|  | 
| void | writeTape (WriterInterfaceUniquePtr writer) | 
|  | For full-tape writers using a smart pointer. 
 | 
|  | 
| void | writeTape (WriterInterfaceUniquePtr writer, Position const &start, Position const &end) | 
|  | For partial-tape writers using a smart pointer. 
 | 
|  | 
| void | writeTape (WriterInterface &writeToFileRef) | 
|  | For full-tape writers using a manually generated writers. 
 | 
|  | 
| void | writeTape (WriterInterface &writeToFileRef, Position const &start, Position const &end) | 
|  | For partial-tape writers using a manually generated writers. 
 | 
|  | 
| void | writeTape (WriterInterface *writer, Position const &start, Position const &end) | 
|  | For full or partial tapes using a pointer to the writer. 
 | 
|  | 
| void | createStatementManual (Real const &lhsValue, Identifier &lhsIndex, Config::ArgumentSize const &size, Real const *jacobians, Identifier const *rhsIdentifiers) | 
|  | 
| void | createStatementManual (Identifier const &lhsIndex, Real const &lhsValue, Config::ArgumentSize const &nActiveValues, Identifier const *const rhsIdentifiers, Config::ArgumentSize const &nPassiveValues, Real const *const rhsPrimals, Config::ArgumentSize const &nConstants, Real const *const rhsConstant, EvalHandle const &evalHandle) | 
|  | 
| void | registerInput (LhsExpressionInterface< Real, Gradient, Tape, Lhs > &value) | 
|  | 
| void | registerOutput (LhsExpressionInterface< Real, Gradient, Tape, Lhs > &value) | 
|  | 
| void | setActive () | 
|  | Start/continue recording of statements. 
 | 
|  | 
| void | setPassive () | 
|  | Stop/interrupt recording of statements. 
 | 
|  | 
| bool | isActive () const | 
|  | Check if the tape is recording. 
 | 
|  | 
| void | evaluate (AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Perform a full reverse evaluation of the tape. 
 | 
|  | 
| void | clearAdjoints (AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Clear all adjoint values, that is, set them to zero. 
 | 
|  | 
| void | reset (bool resetAdjoints=true, AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) | 
|  | Reset the tape to the initial state for a fresh recording. 
 | 
|  | 
| void | printStatistics (Stream &out=std::cout) const | 
|  | Default formatting of TapeValues. 
 | 
|  | 
| void | printTableHeader (Stream &out=std::cout) const | 
|  | Table header output of TapeValues. 
 | 
|  | 
| void | printTableRow (Stream &out=std::cout) const | 
|  | Table row output of TapeValues. 
 | 
|  | 
| TapeValues | getTapeValues () const | 
|  | Get current tape values. 
 | 
|  | 
|  | 
| template<bool copyPrimal, typename AdjointVector> | 
| void | internalEvaluateForward (Position const &start, Position const &end, AdjointVector &&data) | 
|  | Internal method for the forward evaluation of the whole tape. 
 | 
|  | 
| template<bool copyPrimal, typename AdjointVector> | 
| inlinevoid | internalEvaluateReverse (Position const &start, Position const &end, AdjointVector &&data) | 
|  | Internal method for the reverse evaluation of the whole tape. 
 | 
|  | 
| inlineTapeValues | internalGetTapeValues () const | 
|  | 
| template<typename Lhs> | 
| inlineReal | internalRegisterInput (LhsExpressionInterface< Real, Gradient, Impl, Lhs > &value, bool unusedIndex) | 
|  | Add a new input to the tape and update the primal value vector. 
 | 
|  | 
| inlinevoid | pushLhsData (Identifier const &index, Real const &oldPrimalValue, StatementDataPointers &pointers) | 
|  | Add data for a lhs entry to the data streams. 
 | 
|  | 
| template<typename Lhs, typename Rhs> | 
| inlineConfig::LowLevelFunctionDataSize | reserveStmtData (size_t activeArguments, StatementDataPointers &pointers) | 
|  | Reserve all the data for a statement. 
 | 
|  | 
| inlineConfig::LowLevelFunctionDataSize | reserveStmtDataManual (size_t lhsSize, size_t rhsSize, size_t passiveSize, size_t constantSize, StatementDataPointers &pointers) | 
|  | Reserve all the data for a statement. 
 | 
|  | 
| template<typename AdjointVector> | 
| Gradient * | selectAdjointVector (VectorAccess< AdjointVector > *vectorAccess, AdjointVector data) | 
|  | Select the configured adjoint vector, see codi::Config::VariableAdjointInterfaceInPrimalTapes. 
 | 
|  | 
| template<typename Lhs, typename RhsType, typename Rhs> | 
| inlinebool | storeArgumentAndStmtData (ExpressionInterface< RhsType, Rhs > const &rhs, StatementDataPointers &pointers) | 
|  | 
| void | deleteLowLevelFunctionData (Position const &pos) | 
|  | Delete all external function data up to pos.
 | 
|  | 
| void | deleteLowLevelFunctionData (Position const &pos) | 
|  | Delete all external function data up to pos.
 | 
|  | 
| inlinevoid | incrementManualPushCounter () | 
|  | Increment the manual push counter. Check against the declared push goal. 
 | 
|  | 
| inlinevoid | incrementManualPushCounter () | 
|  | Increment the manual push counter. Check against the declared push goal. 
 | 
|  | 
| inlinevoid | initializeManualPushData (Real const &lhsValue, Identifier const &lhsIndex, size_t size) | 
|  | Initialize all manual push data, including the counter. Check that a previous manual store is completed. 
 | 
|  | 
| inlinevoid | initializeManualPushData (Real const &lhsValue, Identifier const &lhsIndex, size_t size) | 
|  | Initialize all manual push data, including the counter. Check that a previous manual store is completed. 
 | 
|  | 
| TapeValues | internalGetTapeValues () const | 
|  | Create tape values. 
 | 
|  | 
| TapeValues | internalGetTapeValues () const | 
|  | Create tape values. 
 | 
|  | 
| void | init (typename ImplTapeTypes::NestedData *nested) | 
|  | Initialize the base class. 
 | 
|  | 
| void | init (typename ImplTapeTypes::NestedData *nested) | 
|  | Initialize the base class. 
 | 
|  | 
| inlinevoid | internalStoreLowLevelFunction (Config::LowLevelFunctionToken token, size_t size, ByteDataView &dataView) | 
|  | Called by the implementing tapes to store a low level function. The size is reserved and allocated. The data view is populated with the pointer and can be used to write the data. 
 | 
|  | 
| inlinestatic void | callLowLevelFunction (Impl &impl, bool forward, size_t &curLLFByteDataPos, char *dataPtr, size_t &curLLFTInfoDataPos, Config::LowLevelFunctionToken *const tokenPtr, Config::LowLevelFunctionDataSize *const dataSizePtr, Args &&... args) | 
|  | Called by the implementing tapes during a tape evaluation when a low level function statement has been reached. 
 | 
|  | 
| inlinestatic void | skipLowLevelFunction (bool forward, size_t &curLLFByteDataPos, char *dataPtr, size_t &curLLFTInfoDataPos, Config::LowLevelFunctionToken *const tokenPtr, Config::LowLevelFunctionDataSize *const dataSizePtr) | 
|  | Skip the data for a low level function. 
 | 
|  | 
| inlinevoid | internalStoreLowLevelFunction (Config::LowLevelFunctionToken token, size_t size, ByteDataView &dataView) | 
|  | Called by the implementing tapes to store a low level function. The size is reserved and allocated. The data view is populated with the pointer and can be used to write the data. 
 | 
|  | 
| inlinestatic void | callLowLevelFunction (Impl &impl, bool forward, size_t &curLLFByteDataPos, char *dataPtr, size_t &curLLFTInfoDataPos, Config::LowLevelFunctionToken *const tokenPtr, Config::LowLevelFunctionDataSize *const dataSizePtr, Args &&... args) | 
|  | Called by the implementing tapes during a tape evaluation when a low level function statement has been reached. 
 | 
|  | 
| inlinestatic void | skipLowLevelFunction (bool forward, size_t &curLLFByteDataPos, char *dataPtr, size_t &curLLFTInfoDataPos, Config::LowLevelFunctionToken *const tokenPtr, Config::LowLevelFunctionDataSize *const dataSizePtr) | 
|  | Skip the data for a low level function. 
 | 
|  |