![]() |
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().