Base class for panzer::Expr::Eval, does everything that is independent of the Kokkos::View template parameter.
More...
#include <Panzer_ExprEval.hpp>
|
void | at_shift (Teuchos::any &result, int token, std::string &text) override |
| Called at every parsed token in the math language. More...
|
|
void | at_reduce (Teuchos::any &result, int prod, std::vector< Teuchos::any > &rhs) override |
| Called at every reduced production in the math language. More...
|
|
void | ternary_op (Teuchos::any &result, Teuchos::any &cond, Teuchos::any &left, Teuchos::any &right) |
| Executes the ternary operator, e.g. (a > b) ? a : b. More...
|
|
void | binary_op (BinaryOpCode code, Teuchos::any &result, Teuchos::any &left, Teuchos::any &right) |
| Executes a binary operator. More...
|
|
void | neg_op (Teuchos::any &result, Teuchos::any &right) |
| Executes the only native unary operator in the math language, numeric negation via a minus sign. More...
|
|
|
virtual void | make_constant (Teuchos::any &result, double const &value)=0 |
|
virtual void | inspect_arg (Teuchos::any const &arg, bool &is_many, bool &is_bool)=0 |
|
virtual void | single_single_ternary_op (Teuchos::any &result, Teuchos::any &cond, Teuchos::any &left, Teuchos::any &right)=0 |
|
virtual void | single_many_ternary_op (Teuchos::any &result, Teuchos::any &cond, Teuchos::any &left, Teuchos::any &right)=0 |
|
virtual void | many_single_ternary_op (Teuchos::any &result, Teuchos::any &cond, Teuchos::any &left, Teuchos::any &right)=0 |
|
virtual void | many_many_ternary_op (Teuchos::any &result, Teuchos::any &cond, Teuchos::any &left, Teuchos::any &right)=0 |
|
virtual void | single_single_binary_op (BinaryOpCode code, Teuchos::any &result, Teuchos::any &left, Teuchos::any &right)=0 |
|
virtual void | single_many_binary_op (BinaryOpCode code, Teuchos::any &result, Teuchos::any &left, Teuchos::any &right)=0 |
|
virtual void | many_single_binary_op (BinaryOpCode code, Teuchos::any &result, Teuchos::any &left, Teuchos::any &right)=0 |
|
virtual void | many_many_binary_op (BinaryOpCode code, Teuchos::any &result, Teuchos::any &left, Teuchos::any &right)=0 |
|
virtual void | many_neg_op (Teuchos::any &result, Teuchos::any &right)=0 |
|
virtual void | single_neg_op (Teuchos::any &result, Teuchos::any &right)=0 |
|
Base class for panzer::Expr::Eval, does everything that is independent of the Kokkos::View template parameter.
Definition at line 58 of file Panzer_ExprEval.hpp.
The type of user-defined functions which are callable in the math language.
The first argument will be the name that was used to call the function, the second argument is the return value, and the third argument is a vector containing the actual arguments given in the math language. Free functions, functors, and lambdas can all be used to construct a std::function.
Definition at line 72 of file Panzer_ExprEval.hpp.
panzer::Expr::EvalBase::EvalBase |
( |
| ) |
|
template<typename T >
T const& panzer::Expr::EvalBase::get |
( |
std::string const & |
name | ) |
const |
|
inline |
void panzer::Expr::EvalBase::at_shift |
( |
Teuchos::any & |
result, |
|
|
int |
token, |
|
|
std::string & |
text |
|
) |
| |
|
overrideprotectedvirtual |
Executes a binary operator.
- Parameters
-
code | Which binary operator to execute |
result | Holds the resulting value |
left | Holds the left operand |
right | Holds the right operand |
This function figures out which operands are singular versus plural and then dispatches to the appropriate virtual functions (e.g. many_single_binary_op), which are implemented in Expr::Eval.
Definition at line 214 of file Panzer_ExprEval.cpp.
Executes the only native unary operator in the math language, numeric negation via a minus sign.
Definition at line 235 of file Panzer_ExprEval.cpp.
virtual void panzer::Expr::EvalBase::make_constant |
( |
Teuchos::any & |
result, |
|
|
double const & |
value |
|
) |
| |
|
protectedpure virtual |
virtual void panzer::Expr::EvalBase::inspect_arg |
( |
Teuchos::any const & |
arg, |
|
|
bool & |
is_many, |
|
|
bool & |
is_bool |
|
) |
| |
|
protectedpure virtual |
std::map<std::string, Teuchos::any> panzer::Expr::EvalBase::symbol_map |
|
protected |
Stores all current symbols including variables and functions.
Definition at line 91 of file Panzer_ExprEval.hpp.
The documentation for this class was generated from the following files: