|
ADOL-C: Automatic Differentiation in C/C++ 2.7.3
|
Per-sweep state used while evaluating a recorded tape. More...
#include <tapeevaluationcontext.h>

Public Types | |
| using | StatEntries = TapeInfos::StatEntries |
Public Member Functions | |
| ~TapeEvaluationContext () | |
| TapeEvaluationContext ()=delete | |
| TapeEvaluationContext (const TapeRecordingContext &tapeCtx, TapeInfos::StatArray stats, std::shared_lock< std::shared_mutex > &&lock, std::shared_lock< std::shared_mutex > &&dataAccessLock) | |
| TapeEvaluationContext (TapeRecordingContext &&other, std::unique_lock< std::shared_mutex > &&lock, std::shared_lock< std::shared_mutex > &&dataAccessLock) noexcept | |
| TapeEvaluationContext (const TapeEvaluationContext &)=delete | |
| TapeEvaluationContext & | operator= (const TapeEvaluationContext &)=delete |
| TapeEvaluationContext (TapeEvaluationContext &&other) noexcept | |
| TapeEvaluationContext & | operator= (TapeEvaluationContext &&other) noexcept=delete |
| void | closeSweepFiles () |
| void | releaseTo (TapeRecordingContext &recordCtx) |
| template<InfoType< TapeEvaluationContext, ErrorType > Info> | |
| void | openFile (const char *fileName) |
| template<InfoType< TapeEvaluationContext, ErrorType > Info> | |
| void | put_block (const char *fileName, size_t lengthBlock) |
| template<InfoType< TapeEvaluationContext, ErrorType > Info> | |
| void | loadBlockIntoBuffer (size_t blockSize) |
| template<InfoType< TapeEvaluationContext, ErrorType > Info> | |
| void | loadBlockIntoBufferForward (size_t bufferSize) |
| template<InfoType< TapeEvaluationContext, ErrorType > Info> | |
| void | loadBlockIntoBufferReverse (size_t blockSize) |
| template<InfoType< TapeEvaluationContext, ErrorType > Info> | |
| Info::value_type | loadNextReverse (size_t blockSize) |
| template<InfoType< TapeEvaluationContext, ErrorType > Info> | |
| Info::value_type | loadNextForward () |
| double * | get_val_v_f (size_t size) |
| double * | get_val_v_r (size_t size) |
| void | reset_val_r (size_t valueBufferSize) |
| void | discard_params_r (size_t valueBufferSize, size_t numParam) |
| void | finish_tay_file (const char *tay_fileName) |
| void | taylor_begin (int degreeSave, size_t taylorBufferSize, const char *tay_fileName) |
| size_t | taylor_close (const char *tay_fileName) |
| void | taylor_back (size_t taylorBufferSize, short tapeId, const char *tay_fileName) |
| void | write_taylor (double *taylorCoefficientPos, std::ptrdiff_t keep, const char *tay_fileName) |
| void | write_scaylor (double val, const char *tay_fileName) |
| void | write_taylors (double *taylorCoefficientPos, int keep, int degree, int numDir, const char *tay_fileName) |
| void | get_taylors (double *taylorCoefficients, std::ptrdiff_t degree, size_t taylorBufferSize) |
| void | get_taylors_p (double *taylorCoefficients, int degree, int numDir, size_t taylorBufferSize) |
Public Attributes | |
| ADOLC::detail::OpBuffer | opBuffer_ {} |
| ADOLC::detail::ValBuffer | valBuffer_ {} |
| ADOLC::detail::LocBuffer | locBuffer_ {} |
| ADOLC::detail::TayBuffer | tayBuffer_ {} |
| size_t | numInds {0} |
| size_t | numDeps {0} |
| int | keepTaylors {0} |
| size_t | num_eq_prod {0} |
| int | deg_save {0} |
| size_t | tay_numInds {0} |
| size_t | tay_numDeps {0} |
| size_t | numSwitches {0} |
| bool | nestedReverseEval {false} |
| size_t | nextBufferNumber {0} |
| char | lastTayBlockInCore {0} |
| double * | signature {nullptr} |
| double * | paramstore {nullptr} |
Static Public Attributes | |
| static constexpr StatEntries | OP_BUFFER_SIZE = TapeInfos::OP_BUFFER_SIZE |
| static constexpr StatEntries | NUM_OPERATIONS = TapeInfos::NUM_OPERATIONS |
| static constexpr StatEntries | OP_FILE_ACCESS = TapeInfos::OP_FILE_ACCESS |
| static constexpr StatEntries | LOC_BUFFER_SIZE = TapeInfos::LOC_BUFFER_SIZE |
| static constexpr StatEntries | NUM_LOCATIONS = TapeInfos::NUM_LOCATIONS |
| static constexpr StatEntries | LOC_FILE_ACCESS = TapeInfos::LOC_FILE_ACCESS |
| static constexpr StatEntries | VAL_BUFFER_SIZE = TapeInfos::VAL_BUFFER_SIZE |
| static constexpr StatEntries | NUM_VALUES = TapeInfos::NUM_VALUES |
| static constexpr StatEntries | VAL_FILE_ACCESS = TapeInfos::VAL_FILE_ACCESS |
| static constexpr StatEntries | TAY_BUFFER_SIZE = TapeInfos::TAY_BUFFER_SIZE |
| static constexpr StatEntries | NUM_TAYS = TapeInfos::NUM_TAYS |
Per-sweep state used while evaluating a recorded tape.
In exclusive mode the context temporarily owns the recording buffers and returns them when the sweep ends. In shared mode it initially views those buffers and allocates private storage lazily when a sweep must overwrite data.
|
inline |
|
delete |
|
inlineexplicit |
|
inlineexplicitnoexcept |
|
delete |
|
inlinenoexcept |
|
inline |
| void ADOLC::detail::TapeEvaluationContext::discard_params_r | ( | size_t | valueBufferSize, |
| size_t | numParam | ||
| ) |
|
inline |
| void ADOLC::detail::TapeEvaluationContext::get_taylors | ( | double * | taylorCoefficients, |
| std::ptrdiff_t | degree, | ||
| size_t | taylorBufferSize | ||
| ) |
| void ADOLC::detail::TapeEvaluationContext::get_taylors_p | ( | double * | taylorCoefficients, |
| int | degree, | ||
| int | numDir, | ||
| size_t | taylorBufferSize | ||
| ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
delete |
|
deletenoexcept |
|
inline |
|
inline |
|
inline |
| void ADOLC::detail::TapeEvaluationContext::taylor_back | ( | size_t | taylorBufferSize, |
| short | tapeId, | ||
| const char * | tay_fileName | ||
| ) |
|
inline |
|
inline |
|
inline |
| void ADOLC::detail::TapeEvaluationContext::write_taylor | ( | double * | taylorCoefficientPos, |
| std::ptrdiff_t | keep, | ||
| const char * | tay_fileName | ||
| ) |
|
inline |
| int ADOLC::detail::TapeEvaluationContext::deg_save {0} |
| int ADOLC::detail::TapeEvaluationContext::keepTaylors {0} |
| char ADOLC::detail::TapeEvaluationContext::lastTayBlockInCore {0} |
|
staticconstexpr |
|
staticconstexpr |
| ADOLC::detail::LocBuffer ADOLC::detail::TapeEvaluationContext::locBuffer_ {} |
| bool ADOLC::detail::TapeEvaluationContext::nestedReverseEval {false} |
| size_t ADOLC::detail::TapeEvaluationContext::nextBufferNumber {0} |
| size_t ADOLC::detail::TapeEvaluationContext::num_eq_prod {0} |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
| size_t ADOLC::detail::TapeEvaluationContext::numDeps {0} |
| size_t ADOLC::detail::TapeEvaluationContext::numInds {0} |
| size_t ADOLC::detail::TapeEvaluationContext::numSwitches {0} |
|
staticconstexpr |
|
staticconstexpr |
| ADOLC::detail::OpBuffer ADOLC::detail::TapeEvaluationContext::opBuffer_ {} |
| double* ADOLC::detail::TapeEvaluationContext::paramstore {nullptr} |
| double* ADOLC::detail::TapeEvaluationContext::signature {nullptr} |
|
staticconstexpr |
| size_t ADOLC::detail::TapeEvaluationContext::tay_numDeps {0} |
| size_t ADOLC::detail::TapeEvaluationContext::tay_numInds {0} |
| ADOLC::detail::TayBuffer ADOLC::detail::TapeEvaluationContext::tayBuffer_ {} |
|
staticconstexpr |
|
staticconstexpr |
| ADOLC::detail::ValBuffer ADOLC::detail::TapeEvaluationContext::valBuffer_ {} |