|
| inlinevoid | clearAdjoints (AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) |
| | Clear all adjoint values, that is, set them to zero.
|
| |
| 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.
|
| |
| template<typename AdjointVector> |
| void | clearCustomAdjoints (Position const &start, Position const &end, AdjointVector &&data) |
| | Clear all adjoint values, that is, set them to zero.
|
| |
|
| JacobianLinearTape () |
| | Constructor.
|
| |
| void | evaluate (AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) |
| | Perform a full reverse evaluation of the tape.
|
| |
| void | evaluateForward (AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) |
| | Perform a forward evaluation of a part of the tape. It has to hold start <= end.
|
| |
| void | evaluatePrimal () |
| | Perform a full (forward) reevaluation of the primals in the tape.
|
| |
|
| JacobianBaseTape () |
| | Constructor.
|
| |
| 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.
|
| |
| 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.
|
| |
| inlinevoid | initIdentifier (Real &value, Identifier &identifier) |
| |
| inlinevoid | destroyIdentifier (Real &value, Identifier &identifier) |
| | Has to be called for each identifier, before it is deallocated.
|
| |
| inlinevoid | store (AggregatedActiveType< Aggregated, Type, Lhs > &lhs, ExpressionInterface< Aggregated, Rhs > const &rhs) |
| | Has to be called by an AD variable every time it is assigned.
|
| |
| 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.
|
| |
| 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.
|
| |
| 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.
|
| |
| inlinevoid | store (LhsExpressionInterface< Real, Gradient, Impl, Lhs > &lhs, Real const &rhs) |
| | Has to be called by an AD variable every time it is assigned.
|
| |
| inlinevoid | registerInput (LhsExpressionInterface< Real, Gradient, Impl, Lhs > &value) |
| |
| inlinevoid | clearAdjoints (AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) |
| | Clear all adjoint values, that is, set them to zero.
|
| |
| 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 | evaluate (AdjointsManagement adjointsManagement=AdjointsManagement::Automatic) |
| | Perform a full reverse evaluation of the tape.
|
| |
| void | evaluateForward (Position const &start, Position const &end, AdjointVector &&data) |
| | Perform a reverse evaluation for a part of the tape. It hast to hold start >= end.
|
| |
| | inlinedecltype (adjoints.data()) getInternalAdjoints() |
| | Obtain a representation of the tape's internal adjoint vector that can be used as custom adjoints.
|
| |
| 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.
|
| |
| 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.
|
| |
| 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< decltype(adjoints.data())> * | createVectorAccess () |
| | See Adjoint vector access.
|
| |
| VectorAccess< AdjointVector > * | createVectorAccessCustomAdjoints (AdjointVector &&data) |
| |
| VectorAccess< Adjoint * > * | createVectorAccessCustomAdjoints (Adjoint *data) |
| |
| void | deleteVectorAccess (VectorAccessInterface< Real, Identifier > *access) |
| | See Adjoint vector access.
|
| |
| Real | registerExternalFunctionOutput (LhsExpressionInterface< Real, Gradient, Impl, Lhs > &value) |
| |
| void | pushJacobianManual (Real const &jacobian, Real const &value, Identifier const &index) |
| |
| void | storeManual (Real const &lhsValue, Identifier &lhsIndex, Config::ArgumentSize const &size) |
| |
| void | createStatementManual (Real const &lhsValue, Identifier &lhsIndex, Config::ArgumentSize const &size, Real const *jacobians, Identifier const *rhsIdentifiers) |
| |
| 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.
|
| |
| 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) |
| | 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.
|
| |
| 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) |
| | Not implemented, raises an exception.
|
| |
| void | evaluatePrimal () |
| | Perform a full (forward) reevaluation of the primals in the tape.
|
| |
|
Real & | primal (Identifier const &identifier) |
| | Not implemented, raises an exception.
|
| |
|
Real const & | primal (Identifier const &identifier) const |
| | Not implemented, raises an exception.
|
| |
|
| CommonTapeImplementation () |
| | Constructor.
|
| |
|
| 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 & | 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.
|
| |
| 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 | 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 | 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 | 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) |
| |
| 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.
|
| |
| 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.
|
| |
| 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<typename AdjointVector> |
| inlinestatic void | internalEvaluateForward_EvalStatements (JacobianLinearTape &tape, AdjointVector &&adjointVector, size_t &curLLFByteDataPos, size_t const &endLLFByteDataPos, char *dataPtr, size_t &curLLFInfoDataPos, size_t const &endLLFInfoDataPos, Config::LowLevelFunctionToken *const tokenPtr, Config::LowLevelFunctionDataSize *const dataSizePtr, size_t &curJacobianPos, size_t const &endJacobianPos, Real const *const rhsJacobians, Identifier const *const rhsIdentifiers, size_t &curStmtPos, size_t const &endStmtPos, Config::ArgumentSize const *const numberOfJacobians, size_t const &startAdjointPos, size_t const &endAdjointPos) |
| | Perform a forward evaluation of the tape. Arguments are from the recursive eval methods of the DataInterface.
|
| |
| template<typename AdjointVector> |
| inlinestatic void | internalEvaluateReverse_EvalStatements (JacobianLinearTape &tape, AdjointVector &&adjointVector, size_t &curLLFByteDataPos, size_t const &endLLFByteDataPos, char *dataPtr, size_t &curLLFInfoDataPos, size_t const &endLLFInfoDataPos, Config::LowLevelFunctionToken *const tokenPtr, Config::LowLevelFunctionDataSize *const dataSizePtr, size_t &curJacobianPos, size_t const &endJacobianPos, Real const *const rhsJacobians, Identifier const *const rhsIdentifiers, size_t &curStmtPos, size_t const &endStmtPos, Config::ArgumentSize const *const numberOfJacobians, size_t const &startAdjointPos, size_t const &endAdjointPos) |
| | Perform a reverse evaluation of the tape. Arguments are from the recursive eval methods of the DataInterface.
|
| |
|
template<typename Real> |
| inlinestatic void | internalWriteTape (codi::TapeWriterInterface< Real > *writer, size_t &curLLFByteDataPos, size_t const &endLLFByteDataPos, char *dataPtr, size_t &curLLFInfoDataPos, size_t const &endLLFInfoDataPos, Config::LowLevelFunctionToken *const tokenPtr, Config::LowLevelFunctionDataSize *const dataSizePtr, size_t &curJacobianPos, size_t const &endJacobianPos, typename Real::Real const *const rhsJacobians, typename Real::Identifier const *const rhsIdentifiers, size_t &curStmtPos, size_t const &endStmtPos, Config::ArgumentSize const *const numberOfJacobians, size_t const &startAdjointPos, size_t const &endAdjointPos) |
| | Passes the statement to the writer.
|
| |
| inlinevoid | pushStmtData (Identifier const &index, Config::ArgumentSize const &numberOfArguments) |
| | Add statement specific data to the data streams.
|
| |
|
inlinestatic void | incrementAdjoints (AdjointVector &adjointVector, AdjointVectorTraits::Gradient< AdjointVector > const &lhsAdjoint, Config::ArgumentSize const &numberOfArguments, size_t &curJacobianPos, Real const *const rhsJacobians, Identifier const *const rhsIdentifiers) |
| | Performs the AD reverse equation for a statement.
|
| |
|
inlinestatic void | incrementTangents (AdjointVector const &adjointVector, AdjointVectorTraits::Gradient< AdjointVector > &lhsAdjoint, Config::ArgumentSize const &numberOfArguments, size_t &curJacobianPos, Real const *const rhsJacobians, Identifier const *const rhsIdentifiers) |
| | Performs the AD forward equation for a statement.
|
| |
|
inlineTapeValues | internalGetTapeValues () const |
| | Adds data from all streams, the size of the adjoint vector and index manager data.
|
| |
|
inlinevoid | internalRegisterInput (LhsExpressionInterface< Real, Gradient, Impl, Lhs > &value, bool unusedIndex) |
| | Add a new input to the tape.
|
| |
|
inlinevoid | pushJacobians (ExpressionInterface< Real, Rhs > const &rhs) |
| | Push Jacobians and delayed Jacobians to the tape.
|
| |
|
void | pushStmtData (Identifier const &index, Config::ArgumentSize const &numberOfArguments) |
| | Add statement specific data to the data streams.
|
| |
|
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 | 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.
|
| |
|
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.
|
| |