CppADCodeGen
2.4.3
A C++ Algorithmic Differentiation Package with Source Code Generation
|
Public Types | |
using | ActiveOut = CppAD::AD< ScalarOut > |
using | Super = EvaluatorAD< ScalarIn, ScalarOut, Evaluator< ScalarIn, ScalarOut, CppAD::AD< ScalarOut > > > |
using | NodeIn = OperationNode< ScalarIn > |
using | ArgIn = Argument< ScalarIn > |
using | Base = EvaluatorBase< ScalarIn, ScalarOut, CppAD::AD< ScalarOut >, Evaluator< ScalarIn, ScalarOut, CppAD::AD< ScalarOut > > > |
Public Member Functions | |
Evaluator (CodeHandler< ScalarIn > &handler) | |
void | setPrintOutPrintOperations (bool print) |
bool | isPrintOutPrintOperations () const |
virtual bool | addAtomicFunction (size_t id, atomic_base< ScalarOut > &atomic) |
virtual void | addAtomicFunctions (const std::map< size_t, atomic_base< ScalarOut > * > &atomics) |
size_t | getNumberOfEvaluatedAtomics () const |
Protected Member Functions | |
void | prepareNewEvaluation () |
void | evalAtomicOperation (NodeIn &node) |
void | evalAtomicOperation (const NodeIn &node) |
ActiveOut | evalPrint (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalOperation (OperationNode< ScalarIn > &node) |
CppAD::AD< ScalarOut > | evalAssign (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalAbs (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalAcos (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalAdd (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalAlias (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalArrayElement (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalAsin (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalAtan (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalCompareLt (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalCompareLe (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalCompareEq (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalCompareGe (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalCompareGt (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalCompareNe (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalCosh (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalCos (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalDiv (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalExp (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalIndependent (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalLog (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalMul (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalPow (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalSign (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalSinh (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalSin (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalSqrt (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalSub (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalTanh (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalTan (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalMinus (const NodeIn &node) |
CppAD::AD< ScalarOut > | evalUnsupportedOperation (const NodeIn &node) |
void | processActiveOut (const NodeIn &node, CppAD::AD< ScalarOut > &a) |
CppAD::AD< ScalarOut > | evalArg (const std::vector< Argument< ScalarIn > > &args, size_t pos) |
CppAD::AD< ScalarOut > | evalArg (const Argument< ScalarIn > &arg, size_t pos) |
Protected Attributes | |
std::set< NodeIn * > | evalsAtomic_ |
std::map< size_t, CppAD::atomic_base< ScalarOut > * > | atomicFunctions_ |
bool | printOutPriOperations_ |
Specialization of Evaluator for an output active type of AD<>
Definition at line 202 of file evaluator_ad.hpp.
|
inlinevirtualinherited |
Provides an atomic function.
id | The atomic function ID |
atomic | The atomic function |
Definition at line 83 of file evaluator_ad.hpp.
|
inlineprotectedinherited |
CGException | on an internal evaluation error |
Definition at line 131 of file evaluator_ad.hpp.
|
inlineprotectedinherited |
Clones a node with the new type. Override this method to add a custom node generation behaviour which does not follow the original operation graph.
node | the original node |
Definition at line 374 of file evaluator.hpp.
|
inlineprotectedinherited |
Definition at line 181 of file evaluator_ad.hpp.
|
inlineinherited |
Provides the number of atomic function evaluations. The same function can be considered more than once.
Definition at line 104 of file evaluator_ad.hpp.
|
inlineinherited |
Whether or not the nodes with an operation type 'Pri' are printed out during the evaluation.
Definition at line 71 of file evaluator_ad.hpp.
|
inlineprotectedinherited |
Do not place this in clear() so that it is possible to determine the number of atomic function evaluations after the evaluation has ended.
Definition at line 114 of file evaluator_ad.hpp.
|
inlineinherited |
Defines whether or not to print out the nodes with an operation type 'Pri' during the evaluation.
Definition at line 63 of file evaluator_ad.hpp.
|
protectedinherited |
Whether or not the nodes with an operation type 'Pri' are printed out during the evaluation.
Definition at line 49 of file evaluator_ad.hpp.