38#include "../misc/macros.hpp"
39#include "expressionInterface.hpp"
40#include "logic/nodeInterface.hpp"
41#include "logic/traversalLogic.hpp"
49 template<
typename T_StoreData>
77 template<
typename T_Real,
template<
typename>
class T_ConversionOperator = ConstantDataConversion>
108 template<
size_t argNumber>
121 template<
typename Logic,
typename... Args>
127 template<
typename Logic,
typename... Args>
129 return Logic::NeutralElement;
#define CODI_INLINE
See codi::Config::ForcedInlines.
Definition: config.h:457
#define CODI_DD(Type, Default)
Abbreviation for CODI_DECLARE_DEFAULT.
Definition: macros.hpp:94
#define CODI_UNUSED_ARG(arg)
Used in a constexpr context, where using CODI_UNUSED spoils the constexpr.
Definition: macros.hpp:49
#define CODI_T(...)
Abbreviation for CODI_TEMPLATE.
Definition: macros.hpp:111
CoDiPack - Code Differentiation Package.
Definition: codi.hpp:90
void CODI_UNUSED(Args const &...)
Disable unused warnings for an arbitrary number of arguments.
Definition: macros.hpp:46
Definition: constantExpression.hpp:50
static StoreData const & toDataStore(StoreData const &v)
Convert the data from the constant expression to the store.
Definition: constantExpression.hpp:62
static ArgumentData const & fromDataStore(StoreData const &v)
Convert the data from the store to the argument of the constant expression.
Definition: constantExpression.hpp:57
T_StoreData StoreData
See ConstantDataConversion.
Definition: constantExpression.hpp:53
StoreData ArgumentData
Defined by specializations.
Definition: constantExpression.hpp:54
Represents constant values in the expression tree.
Definition: constantExpression.hpp:78
void forEachLink(TraversalLogic< Logic > &logic, Args &&... args) const
Definition: constantExpression.hpp:122
Real getJacobian() const
Definition: constantExpression.hpp:109
static bool constexpr EndPoint
If this expression is handled as a leaf in the tree.
Definition: constantExpression.hpp:118
T_ConversionOperator< T > ConversionOperator
See ConstantExpression.
Definition: constantExpression.hpp:85
static Logic::ResultType constexpr forEachLinkConstExpr(Args &&...)
Definition: constantExpression.hpp:128
Real const & getValue() const
Compute the primal value that is usually evaluated by the statement/expression.
Definition: constantExpression.hpp:103
T_Real Real
See ConstantExpression.
Definition: constantExpression.hpp:81
void ActiveResult
Type into which the expression can be converted. Usually also the type from which it is constructed.
Definition: constantExpression.hpp:100
ConstantExpression(Real const &v)
Constructor.
Definition: constantExpression.hpp:93
Base class for all CoDiPack expressions.
Definition: expressionInterface.hpp:59
Traversal of CoDiPack expressions.
Definition: traversalLogic.hpp:56