Represents an operator with one argument in the expression tree. More...
#include <unaryExpression.hpp>
Public Types | |
using | ActiveResult = typename Arg::ActiveResult |
See ExpressionInterface. | |
using | Arg = T_Arg |
See UnaryExpression. | |
using | Operation = T_Operation<Real> |
See UnaryExpression. | |
using | Real = T_Real |
See UnaryExpression. | |
Public Types inherited from codi::ExpressionInterface< T_Real, UnaryExpression< T_Real, T_Arg, T_Operation > > | |
using | ActiveResult |
Type into which the expression can be converted. Usually also the type from which it is constructed. | |
using | Impl |
See ExpressionInterface. | |
using | Real |
See ExpressionInterface. | |
using | StoreAs |
Defines how this expression is stored in an expression tree. | |
Public Types inherited from codi::NodeInterface< T_Impl > | |
using | Impl = T_Impl |
See NodeInterface. | |
Public Member Functions | |
template<typename RealArg > | |
UnaryExpression (ExpressionInterface< RealArg, Arg > const &arg) | |
Constructor. | |
Public Member Functions inherited from codi::ExpressionInterface< T_Real, UnaryExpression< T_Real, T_Arg, T_Operation > > | |
Impl const & | cast () const |
Cast to the implementation. | |
ExpressionInterface ()=default | |
Constructor. | |
ExpressionInterface (ExpressionInterface const &)=default | |
Constructor. | |
Real const | getValue () const |
Compute the primal value that is usually evaluated by the statement/expression. | |
Real | getJacobian () const |
Public Member Functions inherited from codi::NodeInterface< T_Impl > | |
Impl const & | cast () const |
Cast to the implementation. | |
template<typename Logic , typename... Args> | |
void | forEachLink (TraversalLogic< Logic > &logic, Args &&... args) const |
Public Attributes | |
Arg::StoreAs | arg |
Argument of the expression. | |
Real | result |
Precomputed result. | |
Implementation of ExpressionInterface | |
using | StoreAs = UnaryExpression |
Defines how this expression is stored in an expression tree. | |
Real const & | getValue () const |
Compute the primal value that is usually evaluated by the statement/expression. | |
template<size_t argNumber> | |
Real | getJacobian () const |
Implementation of NodeInterface | |
static bool constexpr | EndPoint = false |
If this expression is handled as a leaf in the tree. | |
template<typename Logic , typename... Args> | |
void | forEachLink (TraversalLogic< Logic > &logic, Args &&... args) const |
template<typename CompileTimeLogic , typename... Args> | |
static CompileTimeLogic::ResultType constexpr | forEachLinkConstExpr (Args &&... args) |
Additional Inherited Members | |
Static Public Member Functions inherited from codi::NodeInterface< T_Impl > | |
template<typename Logic , typename... Args> | |
static Logic::ResultType constexpr | forEachLinkConstExpr (Args &&... args) |
Static Public Attributes inherited from codi::NodeInterface< T_Impl > | |
static bool constexpr | EndPoint = false |
If this expression is handled as a leaf in the tree. | |
Represents an operator with one argument in the expression tree.
See Expression design documentation for details about the expression system in CoDiPack.
T_Real | Original primal value of the statement/expression. |
T_Arg | The ExpressionInterface type of the argument. |
T_Operation | The logic for computing the primal value and Jacobian. Must implement UnaryOperation. |
using codi::UnaryExpression< T_Real, T_Arg, T_Operation >::StoreAs = UnaryExpression |
Defines how this expression is stored in an expression tree.
|
inline |
Call the link method of the given logic for all arguments (links) of this node (not to be confused with args). Pass args to each call.
|
inlinestaticconstexpr |
Call the link method of the given logic for all arguments (links) of this node (not to be confused with args). Pass args to each call.
|
inline |
|
inline |
Compute the primal value that is usually evaluated by the statement/expression.
|
staticconstexpr |
If this expression is handled as a leaf in the tree.