CppADCodeGen
HEAD
A C++ Algorithmic Differentiation Package with Source Code Generation
|
Public Member Functions | |
CG () | |
CG (OperationNode< Base > &node) | |
CG (const CG< Base > &orig) | |
CG (CG< Base > &&orig) | |
CG & | operator= (const CG< Base > &rhs) |
CG & | operator= (CG< Base > &&rhs) |
CG (const Base &val) | |
CG & | operator= (const Base &rhs) |
CodeHandler< Base > * | getCodeHandler () const |
bool | isVariable () const |
bool | isParameter () const |
bool | isValueDefined () const |
const Base & | getValue () const |
void | setValue (const Base &val) |
bool | isIdenticalZero () const |
bool | isIdenticalOne () const |
OperationNode< Base > * | getOperationNode () const |
CG< Base > & | operator+= (const CG< Base > &right) |
CG< Base > & | operator-= (const CG< Base > &right) |
CG< Base > & | operator*= (const CG< Base > &right) |
CG< Base > & | operator/= (const CG< Base > &right) |
CG< Base > & | operator+= (const Base &right) |
CG< Base > & | operator-= (const Base &right) |
CG< Base > & | operator*= (const Base &right) |
CG< Base > & | operator/= (const Base &right) |
template<class T > | |
CG< Base > & | operator+= (const T &right) |
template<class T > | |
CG< Base > & | operator-= (const T &right) |
template<class T > | |
CG< Base > & | operator/= (const T &right) |
template<class T > | |
CG< Base > & | operator*= (const T &right) |
CG< Base > | operator+ () const |
CG< Base > | operator- () const |
Protected Member Functions | |
CG (const Argument< Base > &arg) | |
void | makeParameter (const Base &b) |
void | makeVariable (OperationNode< Base > &operation) |
void | makeVariable (OperationNode< Base > &operation, std::unique_ptr< Base > &value) |
Argument< Base > | argument () const |
Friends | |
class | CodeHandler< Base > |
class | CGAbstractAtomicFun< Base > |
class | Loop< Base > |
class | LoopModel< Base > |
CG< Base > | CppAD::cg::operator+ (const CG< Base > &left, const CG< Base > &right) |
CG< Base > | CppAD::cg::operator- (const CG< Base > &left, const CG< Base > &right) |
CG< Base > | CppAD::cg::operator* (const CG< Base > &left, const CG< Base > &right) |
CG< Base > | CppAD::cg::operator/ (const CG< Base > &left, const CG< Base > &right) |
bool | GreaterThanZero (const CG< Base > &x) |
bool | GreaterThanOrZero (const CG< Base > &x) |
bool | LessThanZero (const CG< Base > &x) |
bool | LessThanOrZero (const CG< Base > &x) |
bool | abs_geq (const CG< Base > &x, const CG< Base > &y) |
bool | EqualOpSeq (const CG< Base > &u, const CG< Base > &v) |
bool | NearEqual (const CG< Base > &x, const CG< Base > &y, const Base &r, const Base &a) |
bool | NearEqual (const Base &x, const CG< Base > &y, const Base &r, const Base &a) |
bool | NearEqual (const CG< Base > &x, const Base &y, const Base &r, const Base &a) |
CG< Base > | CondExp (CGOpCode op, const CG< Base > &left, const CG< Base > &right, const CG< Base > &trueCase, const CG< Base > &falseCase, bool(*compare)(const Base &, const Base &)) |
CG< Base > | sign (const CG< Base > &x) |
CG< Base > | pow (const CG< Base > &x, const CG< Base > &y) |
CG< Base > | abs (const CG< Base > &var) |
CG< Base > | fabs (const CG< Base > &var) |
CG< Base > | acos (const CG< Base > &var) |
CG< Base > | asin (const CG< Base > &var) |
CG< Base > | atan (const CG< Base > &var) |
CG< Base > | cos (const CG< Base > &var) |
CG< Base > | cosh (const CG< Base > &var) |
CG< Base > | exp (const CG< Base > &var) |
CG< Base > | log (const CG< Base > &var) |
CG< Base > | sin (const CG< Base > &var) |
CG< Base > | sinh (const CG< Base > &var) |
CG< Base > | sqrt (const CG< Base > &var) |
CG< Base > | tan (const CG< Base > &var) |
CG< Base > | tanh (const CG< Base > &var) |
The base data type used to create models. It can represent either the result of a symbolic operation or a constant parameter value.
|
inline |
Default constructor (creates a parameter with a zero value)
Creates a parameter with a zero value
Definition at line 25 of file default.hpp.
|
inline |
Creates a variable resulting from the evaluation this node
node | The operation node. |
Definition at line 31 of file default.hpp.
|
inline |
Copy constructor
Definition at line 55 of file default.hpp.
|
inline |
Move constructor
Definition at line 64 of file default.hpp.
|
inline |
Creates a parameter with the provided value
val | The parameter value |
Creates a parameter with the given value
Definition at line 46 of file default.hpp.
|
inlineprotected |
Creates a variable/parameter from an existing argument
arg | An argument that may be a parameter or a variable. (the node is assumed to already be managed by the handler) |
Definition at line 36 of file default.hpp.
|
inline |
Definition at line 22 of file variable.hpp.
Referenced by CppAD::cg::EquationPattern< Base >::detectNonIndexedIndependents(), and CppAD::pow().
|
inline |
Provides the current numerical value
CGException | if a value is not defined |
Definition at line 45 of file variable.hpp.
Referenced by CppAD::cg::EvaluatorBase< ScalarIn, double, adouble, Evaluator< ScalarIn, double, adouble > >::clear(), CppAD::CondExp(), CppAD::cg::EquationPattern< Base >::detectNonIndexedIndependents(), CppAD::GreaterThanZero(), CppAD::IdenticalOne(), CppAD::IdenticalPar(), CppAD::IdenticalZero(), CppAD::pow(), and CppAD::sign().
|
inline |
Determines if it a constant parameter which is not the result of a symbolic operation.
Definition at line 35 of file variable.hpp.
Referenced by CppAD::cg::EvaluatorBase< ScalarIn, double, adouble, Evaluator< ScalarIn, double, adouble > >::clear(), CppAD::CondExp(), CppAD::cg::EquationPattern< Base >::detectNonIndexedIndependents(), CppAD::GreaterThanZero(), CppAD::IdenticalOne(), CppAD::IdenticalPar(), CppAD::IdenticalZero(), CppAD::pow(), and CppAD::sign().
|
inline |
Determines if there is value defined. Parameters must have a value defined while variable can optionally define it.
Definition at line 40 of file variable.hpp.
Referenced by CppAD::CondExp().
|
inline |
Determines if it represents the result from a symbolic operation which is registered in operation graph of a CodeHandler.
Definition at line 30 of file variable.hpp.
Referenced by CppAD::cg::EquationPattern< Base >::detectNonIndexedIndependents().
|
inline |
Copy assignment operator
Definition at line 84 of file default.hpp.
|
inline |
Move assignment operator
Definition at line 103 of file default.hpp.
|
inline |
Assignment operator to a parameter value
rhs | The parameter value |
Creates a parameter with the given value
Definition at line 73 of file default.hpp.
|
inline |
Defines a value which can alter the resulting model if this object is a parameter used as an argument to symbolic operations. Variables can also optionally define a value however there will be no impact in the resulting model.
Definition at line 54 of file variable.hpp.
Referenced by CppAD::CondExp(), CppAD::cg::ModelCSourceGen< Base >::generateSparseForwardOneSourcesNoAtomics(), CppAD::cg::ModelCSourceGen< Base >::generateSparseForwardOneSourcesWithAtomics(), CppAD::cg::ModelCSourceGen< Base >::generateSparseReverseOneSourcesNoAtomics(), CppAD::cg::ModelCSourceGen< Base >::generateSparseReverseOneSourcesWithAtomics(), CppAD::cg::ModelCSourceGen< Base >::generateSparseReverseTwoSources(), CppAD::cg::ModelCSourceGen< Base >::generateSparseReverseTwoSourcesNoAtomics(), CppAD::cg::ModelCSourceGen< Base >::prepareSparseForwardOneWithLoops(), CppAD::cg::ModelCSourceGen< Base >::prepareSparseReverseOneWithLoops(), and CppAD::cg::ModelCSourceGen< Base >::prepareSparseReverseTwoWithLoops().
|
friend |
Creates a conditional expression. INTERNAL ONLY
Definition at line 80 of file cond_exp_op.hpp.
|
friend |
arithmetic binary operators
|
friend |
order determining functions
Definition at line 21 of file ordered.hpp.
math functions
Definition at line 21 of file math_other.hpp.
Math functions
Definition at line 74 of file math_other.hpp.