KIDS  ver-0.0.1
KIDS : Kernel Integrated Dynamics Simulator
Loading...
Searching...
No Matches
PROJECT_NS::RuleEvaluator Struct Reference

Represents a rule for evaluating an expression. More...

#include <RuleEvaluator.h>

Collaboration diagram for PROJECT_NS::RuleEvaluator:
Collaboration graph

Public Member Functions

 RuleEvaluator (const std::string &rule, std::shared_ptr< DataSet > &DS, const std::string &mode, const std::string &save, std::size_t totalFrameNumber)
 Constructs an RuleEvaluator object.
 
void calculateResult (int sampleIndex=0)
 Calculates the expression at a particular time slice.
 
void collectResult ()
 
void writeTo (std::ofstream &ofs, void *data, int sampleIndex)
 Writes the results to a file stream.
 

Public Attributes

std::size_t totalTermNumber
 Number of terms.
 
std::size_t totalFrameNumber
 Number of samples.
 
std::size_t numCollects
 Number of Collects.
 
std::string rule
 The expression rule.
 
std::string mode
 The mode of evaluation.
 
std::string save
 File name to save results.
 
std::shared_ptr< VariableDescriptorresult
 Result of the expression.
 
std::shared_ptr< VariableDescriptorcollect
 collect of Result
 
std::shared_ptr< VariableDescriptorreduced
 collect of Result
 
std::vector< VariableDescriptorvariables
 Variables in the expression.
 
std::vector< std::vector< std::size_t > > inputShapes
 Shapes of input data.
 
std::vector< void * > inputData
 Input data.
 
std::vector< kids_dtypeinputDataTypes
 Data types of input data.
 
std::string expressionString
 String representation of the expression.
 
std::shared_ptr< EinsumHelpereinsumHelper
 Shared pointer to EinsumHelper.
 
std::string einsumString
 String representation of expression type.
 
kids_dtype expressionType
 Type of the expression.
 
size_t expressionId
 ID of the expression.
 
int expressionCheck
 ID of the expression.
 

Detailed Description

Represents a rule for evaluating an expression.

Definition at line 41 of file RuleEvaluator.h.

Constructor & Destructor Documentation

◆ RuleEvaluator()

PROJECT_NS::RuleEvaluator::RuleEvaluator ( const std::string & rule,
std::shared_ptr< DataSet > & DS,
const std::string & mode,
const std::string & save,
std::size_t totalFrameNumber )

Constructs an RuleEvaluator object.

Parameters
ruleThe expression rule.
DSShared pointer to the dataset.
modeThe mode of evaluation (default is "average").
saveThe filename to save results (default is "res.dat").
nsamplesNumber of samples (default is 1).

Definition at line 73 of file RuleEvaluator.cpp.

References collect, utils::concat(), einsumHelper, einsumString, expressionCheck, expressionId, expressionString, expressionType, inputData, inputDataTypes, inputShapes, PROJECT_NS::kids_complex_type, PROJECT_NS::kids_int_type, PROJECT_NS::kids_real_type, PROJECT_NS::kids_void_type, LOC, mode, reduced, PROJECT_NS::Expression< T >::registerExpression(), result, rule, save, totalFrameNumber, totalTermNumber, and variables.

Here is the call graph for this function:

Member Function Documentation

◆ calculateResult()

void PROJECT_NS::RuleEvaluator::calculateResult ( int sampleIndex = 0)

Calculates the expression at a particular time slice.

Parameters
sampleIndexIndex of the sample (i.e. frame index, default is 0).

Definition at line 202 of file RuleEvaluator.cpp.

References PROJECT_NS::einsum_fun(), einsumHelper, expressionCheck, expressionId, expressionType, PROJECT_NS::Expression< T >::getExpressions(), inputData, inputDataTypes, PROJECT_NS::kids_complex_type, PROJECT_NS::kids_real_type, result, totalFrameNumber, totalTermNumber, and variables.

Here is the call graph for this function:

◆ collectResult()

void PROJECT_NS::RuleEvaluator::collectResult ( )

◆ writeTo()

void PROJECT_NS::RuleEvaluator::writeTo ( std::ofstream & ofs,
void * data,
int sampleIndex )

Writes the results to a file stream.

Parameters
ofsThe output file stream.
sampleIndexIndex of the sample.

Definition at line 300 of file RuleEvaluator.cpp.

References FMT, PROJECT_NS::kids_complex_type, PROJECT_NS::kids_real_type, result, and totalTermNumber.

Member Data Documentation

◆ collect

std::shared_ptr<VariableDescriptor> PROJECT_NS::RuleEvaluator::collect

collect of Result

Definition at line 79 of file RuleEvaluator.h.

Referenced by collectResult(), and RuleEvaluator().

◆ einsumHelper

std::shared_ptr<EinsumHelper> PROJECT_NS::RuleEvaluator::einsumHelper

Shared pointer to EinsumHelper.

Definition at line 86 of file RuleEvaluator.h.

Referenced by calculateResult(), and RuleEvaluator().

◆ einsumString

std::string PROJECT_NS::RuleEvaluator::einsumString

String representation of expression type.

Definition at line 87 of file RuleEvaluator.h.

Referenced by RuleEvaluator().

◆ expressionCheck

int PROJECT_NS::RuleEvaluator::expressionCheck

ID of the expression.

Definition at line 90 of file RuleEvaluator.h.

Referenced by calculateResult(), and RuleEvaluator().

◆ expressionId

size_t PROJECT_NS::RuleEvaluator::expressionId

ID of the expression.

Definition at line 89 of file RuleEvaluator.h.

Referenced by calculateResult(), and RuleEvaluator().

◆ expressionString

std::string PROJECT_NS::RuleEvaluator::expressionString

String representation of the expression.

Definition at line 85 of file RuleEvaluator.h.

Referenced by RuleEvaluator().

◆ expressionType

kids_dtype PROJECT_NS::RuleEvaluator::expressionType

Type of the expression.

Definition at line 88 of file RuleEvaluator.h.

Referenced by calculateResult(), and RuleEvaluator().

◆ inputData

std::vector<void*> PROJECT_NS::RuleEvaluator::inputData

Input data.

Definition at line 83 of file RuleEvaluator.h.

Referenced by calculateResult(), and RuleEvaluator().

◆ inputDataTypes

std::vector<kids_dtype> PROJECT_NS::RuleEvaluator::inputDataTypes

Data types of input data.

Definition at line 84 of file RuleEvaluator.h.

Referenced by calculateResult(), and RuleEvaluator().

◆ inputShapes

std::vector<std::vector<std::size_t> > PROJECT_NS::RuleEvaluator::inputShapes

Shapes of input data.

Definition at line 82 of file RuleEvaluator.h.

Referenced by RuleEvaluator().

◆ mode

std::string PROJECT_NS::RuleEvaluator::mode

The mode of evaluation.

Definition at line 76 of file RuleEvaluator.h.

Referenced by collectResult(), and RuleEvaluator().

◆ numCollects

std::size_t PROJECT_NS::RuleEvaluator::numCollects

Number of Collects.

Definition at line 74 of file RuleEvaluator.h.

Referenced by collectResult().

◆ reduced

std::shared_ptr<VariableDescriptor> PROJECT_NS::RuleEvaluator::reduced

collect of Result

Definition at line 80 of file RuleEvaluator.h.

Referenced by RuleEvaluator().

◆ result

std::shared_ptr<VariableDescriptor> PROJECT_NS::RuleEvaluator::result

Result of the expression.

Definition at line 78 of file RuleEvaluator.h.

Referenced by calculateResult(), collectResult(), RuleEvaluator(), and writeTo().

◆ rule

std::string PROJECT_NS::RuleEvaluator::rule

The expression rule.

Definition at line 75 of file RuleEvaluator.h.

Referenced by RuleEvaluator().

◆ save

std::string PROJECT_NS::RuleEvaluator::save

File name to save results.

Definition at line 77 of file RuleEvaluator.h.

Referenced by RuleEvaluator().

◆ totalFrameNumber

std::size_t PROJECT_NS::RuleEvaluator::totalFrameNumber

Number of samples.

Definition at line 73 of file RuleEvaluator.h.

Referenced by calculateResult(), and RuleEvaluator().

◆ totalTermNumber

std::size_t PROJECT_NS::RuleEvaluator::totalTermNumber

Number of terms.

Definition at line 72 of file RuleEvaluator.h.

Referenced by calculateResult(), RuleEvaluator(), and writeTo().

◆ variables

std::vector<VariableDescriptor> PROJECT_NS::RuleEvaluator::variables

Variables in the expression.

Definition at line 81 of file RuleEvaluator.h.

Referenced by calculateResult(), and RuleEvaluator().


The documentation for this struct was generated from the following files: