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

Public Member Functions

 EvalAWGN (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 2158 of file Interpreter/Interpreter.cpp.

Constructor & Destructor Documentation

◆ EvalAWGN()

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

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

2161 : EvaluationStep(rn, i, l, r, s, c, p, v)
2162 {
2163 }
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::EvalAWGN::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 2164 of file Interpreter/Interpreter.cpp.

2165 {
2166 // assuming the argument to AWGN does not depend on spatial
2167 // variables =>
2168 std::normal_distribution<> _normal(0, state[storeIdx * n]);
2169 for (int i = 0; i < n; i++)
2170 {
2171 state[storeIdx * n + i] = _normal(rng);
2172 }
2173 }
ci storeIdx
indices in the above arrays uniquely defining actual command arguments

References Nektar::LibUtilities::Interpreter::ExpressionEvaluator::EvaluationStep::rng, Nektar::LibUtilities::Interpreter::ExpressionEvaluator::EvaluationStep::state, and Nektar::LibUtilities::Interpreter::ExpressionEvaluator::EvaluationStep::storeIdx.

◆ run_once()

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