![]() |
KIDS
ver-0.0.1
KIDS : Kernel Integrated Dynamics Simulator
|
Represents a rule for evaluating an expression. More...
#include <RuleEvaluator.h>
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< VariableDescriptor > | result |
Result of the expression. | |
std::shared_ptr< VariableDescriptor > | collect |
collect of Result | |
std::shared_ptr< VariableDescriptor > | reduced |
collect of Result | |
std::vector< VariableDescriptor > | variables |
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_dtype > | inputDataTypes |
Data types of input data. | |
std::string | expressionString |
String representation of the expression. | |
std::shared_ptr< EinsumHelper > | einsumHelper |
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. | |
Represents a rule for evaluating an expression.
Definition at line 41 of file RuleEvaluator.h.
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.
rule | The expression rule. |
DS | Shared pointer to the dataset. |
mode | The mode of evaluation (default is "average"). |
save | The filename to save results (default is "res.dat"). |
nsamples | Number 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.
void PROJECT_NS::RuleEvaluator::calculateResult | ( | int | sampleIndex = 0 | ) |
Calculates the expression at a particular time slice.
sampleIndex | Index 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.
void PROJECT_NS::RuleEvaluator::collectResult | ( | ) |
Definition at line 266 of file RuleEvaluator.cpp.
References collect, PROJECT_NS::kids_complex_type, PROJECT_NS::kids_real_type, mode, numCollects, and result.
void PROJECT_NS::RuleEvaluator::writeTo | ( | std::ofstream & | ofs, |
void * | data, | ||
int | sampleIndex ) |
Writes the results to a file stream.
ofs | The output file stream. |
sampleIndex | Index 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.
std::shared_ptr<VariableDescriptor> PROJECT_NS::RuleEvaluator::collect |
collect of Result
Definition at line 79 of file RuleEvaluator.h.
Referenced by collectResult(), and RuleEvaluator().
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().
std::string PROJECT_NS::RuleEvaluator::einsumString |
String representation of expression type.
Definition at line 87 of file RuleEvaluator.h.
Referenced by RuleEvaluator().
int PROJECT_NS::RuleEvaluator::expressionCheck |
ID of the expression.
Definition at line 90 of file RuleEvaluator.h.
Referenced by calculateResult(), and RuleEvaluator().
size_t PROJECT_NS::RuleEvaluator::expressionId |
ID of the expression.
Definition at line 89 of file RuleEvaluator.h.
Referenced by calculateResult(), and RuleEvaluator().
std::string PROJECT_NS::RuleEvaluator::expressionString |
String representation of the expression.
Definition at line 85 of file RuleEvaluator.h.
Referenced by RuleEvaluator().
kids_dtype PROJECT_NS::RuleEvaluator::expressionType |
Type of the expression.
Definition at line 88 of file RuleEvaluator.h.
Referenced by calculateResult(), and RuleEvaluator().
std::vector<void*> PROJECT_NS::RuleEvaluator::inputData |
Input data.
Definition at line 83 of file RuleEvaluator.h.
Referenced by calculateResult(), and RuleEvaluator().
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().
std::vector<std::vector<std::size_t> > PROJECT_NS::RuleEvaluator::inputShapes |
std::string PROJECT_NS::RuleEvaluator::mode |
The mode of evaluation.
Definition at line 76 of file RuleEvaluator.h.
Referenced by collectResult(), and RuleEvaluator().
std::size_t PROJECT_NS::RuleEvaluator::numCollects |
std::shared_ptr<VariableDescriptor> PROJECT_NS::RuleEvaluator::reduced |
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().
std::string PROJECT_NS::RuleEvaluator::rule |
std::string PROJECT_NS::RuleEvaluator::save |
File name to save results.
Definition at line 77 of file RuleEvaluator.h.
Referenced by RuleEvaluator().
std::size_t PROJECT_NS::RuleEvaluator::totalFrameNumber |
Number of samples.
Definition at line 73 of file RuleEvaluator.h.
Referenced by calculateResult(), and RuleEvaluator().
std::size_t PROJECT_NS::RuleEvaluator::totalTermNumber |
Number of terms.
Definition at line 72 of file RuleEvaluator.h.
Referenced by calculateResult(), RuleEvaluator(), and writeTo().
std::vector<VariableDescriptor> PROJECT_NS::RuleEvaluator::variables |
Variables in the expression.
Definition at line 81 of file RuleEvaluator.h.
Referenced by calculateResult(), and RuleEvaluator().