Nektar++
Public Member Functions | List of all members
Nektar::LibUtilities::Interpreter::ExpressionEvaluator::EvalRad Struct Reference
Inheritance diagram for Nektar::LibUtilities::Interpreter::ExpressionEvaluator::EvalRad:
[legend]

Public Member Functions

 EvalRad (rgt rn, vr s, cvr c, cvr p, cvr v, ci i, ci l, ci r)
 
void run_many (ci n) override
 declaring this guy pure virtual shortens virtual table. It saves some execution time. More...
 
void run_once () override
 
- Public Member Functions inherited from Nektar::LibUtilities::Interpreter::ExpressionEvaluator::EvaluationStep
 EvaluationStep (rgt rn, ci i, ci l, ci r, vr s, cvr c, cvr p, cvr v)
 
virtual ~EvaluationStep ()
 
virtual void run_many (ci n)=0
 declaring this guy pure virtual shortens virtual table. It saves some execution time. More...
 
virtual void run_once ()=0
 

Additional Inherited Members

- Public Attributes inherited from Nektar::LibUtilities::Interpreter::ExpressionEvaluator::EvaluationStep
rgt rng
 reference to random number generator More...
 
vr state
 references to arrays holding the common state More...
 
cvr consts
 
cvr params
 
cvr vars
 
ci storeIdx
 indices in the above arrays uniquely defining actual command arguments More...
 
ci argIdx1
 
ci argIdx2
 

Detailed Description

Definition at line 2049 of file Interpreter/Interpreter.cpp.

Constructor & Destructor Documentation

◆ EvalRad()

Nektar::LibUtilities::Interpreter::ExpressionEvaluator::EvalRad::EvalRad ( rgt  rn,
vr  s,
cvr  c,
cvr  p,
cvr  v,
ci  i,
ci  l,
ci  r 
)
inline

Definition at line 2051 of file Interpreter/Interpreter.cpp.

2052 : EvaluationStep(rn, i, l, r, s, c, p, v)
2053 {
2054 }
EvaluationStep(rgt rn, ci i, ci l, ci r, vr s, cvr c, cvr p, cvr v)

Member Function Documentation

◆ run_many()

void Nektar::LibUtilities::Interpreter::ExpressionEvaluator::EvalRad::run_many ( ci  n)
inlineoverridevirtual

declaring this guy pure virtual shortens virtual table. It saves some execution time.

Implements Nektar::LibUtilities::Interpreter::ExpressionEvaluator::EvaluationStep.

Definition at line 2055 of file Interpreter/Interpreter.cpp.

2056 {
2057 for (int i = 0; i < n; i++)
2058 {
2059 state[storeIdx * n + i] =
2060 rad(state[argIdx1 * n + i], state[argIdx2 * n + i]);
2061 }
2062 }
static NekDouble rad(NekDouble x, NekDouble y)
ci storeIdx
indices in the above arrays uniquely defining actual command arguments

References Nektar::LibUtilities::Interpreter::ExpressionEvaluator::EvaluationStep::argIdx1, Nektar::LibUtilities::Interpreter::ExpressionEvaluator::EvaluationStep::argIdx2, Nektar::LibUtilities::rad(), Nektar::LibUtilities::Interpreter::ExpressionEvaluator::EvaluationStep::state, and Nektar::LibUtilities::Interpreter::ExpressionEvaluator::EvaluationStep::storeIdx.

◆ run_once()

void Nektar::LibUtilities::Interpreter::ExpressionEvaluator::EvalRad::run_once ( )
inlineoverridevirtual