|
virtual Wrap | ExecWrappedValue () const overridefinal |
| Execution value wrap. More...
|
|
virtual Wrap | SimulWrappedValue () const overridefinal |
| Simulation value wrap. More...
|
|
virtual Dim | VectorFieldCount () const overridefinal |
| Number of fields in the vectors. More...
|
|
virtual Wrap | ExecWrappedVectorField (Order const MaxiOrMini, Serial const FieldSerial) const overridefinal |
| Execution value wrap of a vector field. More...
|
|
virtual ValueRecord< value > const * | ExprValueRecord () const overridefinal |
| Expression value. More...
|
|
virtual VectorRecord< metric > const * | ExprVectorRecord (Order const MaxiOrMini) const overridefinal |
| Expression metric. More...
|
|
virtual VectorType | ExprVectorType () const overridefinal |
| Expression vector type. More...
|
|
virtual Serial | ValueTypeSerial () const overridefinal |
| Value type serial. More...
|
|
virtual Serial | MetricTypeSerial () const overridefinal |
| Metric type serial. More...
|
|
value | ExecValue () const |
| Execution value. More...
|
|
value | SimulValue () const |
| Simulation value. More...
|
|
Order | MetricOptiOrder () const |
| Metric optimisation ordering. More...
|
|
metric | ExecVectorField (Order MaxiOrMini, Serial const FieldSerial) const |
| Execution metric of a vector field. More...
|
|
Bool | ActiveLazyHalfAutoExec () const |
| Whether auto execution in lazy half mode is active? More...
|
|
void | activateLazyHalfAutoExec (Bool const SetNotUnset) |
| Activate auto execution in lazy half mode. More...
|
|
virtual Identifier | CareTabuModel () const |
| Care for any tabu model? More...
|
|
virtual Bool | CareLockEffect () const |
| Care for lock effect? More...
|
|
virtual Bool | CareFactorSerial () const |
| Care factor serial? More...
|
|
virtual | ~Function () |
| Destructor. More...
|
|
Serial | FuncVarToFactorSerial (Serial const VarSerial) const |
| Find the factor serial for a given variable serial. More...
|
|
Bool | Terminal () const |
| Whether the expression terminal—variables or constants are terminals, functions are not. More...
|
|
Bool | Updatable () const |
| Whether the expression updatable—variables are updatable, functions may be updatable. More...
|
|
Bool | Computable () const |
| Whether the expression computable—functions are normally computable, but may not be updatable as well. More...
|
|
Bool | CompatibleValueMetricTypes () const |
| Whether value and metric types are compatible. More...
|
|
virtual ScalarBase const * | ExprScalarRecord (Order const MaxiOrMini) const |
| Expression scalar record or null if no scalar is present. More...
|
|
virtual Bool | SharedOptiMetrics () const |
| Whether maxi and mini metrics share the same metric record. More...
|
|
virtual Order | ActiveSharedOptiMetric () const |
| When shared, the active one between the maxi or mini metrics. More...
|
|
virtual Bool | NeedLazyModeUserExecution () const |
| Needs user initiated execution in lazy computation mode, since there might be backlog: call this in propagation mode. More...
|
|
virtual Bool | NeedDownwardUserSimulation () const |
| Needs simulation since simulation has not been performed, call this after propagation: call this in propagation mode. More...
|
|
Clock | ExecClock () const |
| The execution clock of the expression. More...
|
|
Clock | SimulClock () const |
| The simulation clock of the expression. More...
|
|
Bool | ChangedSystemExecClock () const |
| Whether the system's execution clock changed from the expression's execution clock. More...
|
|
Bool | ChangedSystemSimulClock () const |
| Whether the system's simulation clock changed from the expression's simulation clock. More...
|
|
Index const | NestingIndex |
| Function nesting index; starts from 0.
|
|
Serial const | FuncSerial |
| Unique over all functions.
|
|
kb< Expression * > const | ParamExprs |
| Parameter expressions that this function immediately depends on.
|
|
kb< ParamSpecType > const *const | ParamSpecs |
| Parameter specifications i.e. how to use values and metrics.
|
|
xb< Variable * > const | FactorVars |
| Factor variables that this function transitively depends on.
|
|
nrl< xb< Serial > > const | ParamFactors |
| Variables that parameters depend on. Factor serial of the function are use to represent parameter variables.
|
|
Identifier const | ExprFamily |
| Expression family is either void, variable, constant or function.
|
|
Identifier const | ExprModel |
| Expression model is a category within each expression family.
|
|
Identifier const | ExprFormat |
| Expression format is a concrete expression implementation.
|
|
System *const | SysMaster |
| The system that contains this expression.
|
|
Hash const | ExprHash |
| Expression hash value is used in quick matching of a certain expression.
|
|
xb< Function * > const | PatronFuncs |
| Patron functions of the current expression.
|
|
xb< Serial > const | PatronParams |
| Parameter serials in the patron expressions.
|
|
| NaryValueFactorVectorToValueFactorVectorFunc (System *const pSystem, Order const MaxiOrMini, Dim const ParamCount) |
| Param constructor. More...
|
|
virtual | ~NaryValueFactorVectorToValueFactorVectorFunc () |
| Destructor. More...
|
|
| NaryValueFactorVectorToValueFactorVectorFunc (NaryValueFactorVectorToValueFactorVectorFunc< value, metric > &&that) noexcept=delete |
| Move constructor.
|
|
| NaryValueFactorVectorToValueFactorVectorFunc (NaryValueFactorVectorToValueFactorVectorFunc< value, metric > const &that)=delete |
| Copy constructor.
|
|
NaryValueFactorVectorToValueFactorVectorFunc< value, metric > & | operator= (NaryValueFactorVectorToValueFactorVectorFunc< value, metric > &&that) noexcept=delete |
| Move assignment.
|
|
NaryValueFactorVectorToValueFactorVectorFunc< value, metric > & | operator= (NaryValueFactorVectorToValueFactorVectorFunc< value, metric > const &that)=delete |
| Copy assignment.
|
|
virtual void | syncExecClock () override |
| Synchronise. More...
|
|
virtual | ~ValueVectorFunction () |
| Destructor. More...
|
|
| ValueVectorFunction (System *const pSystem, Order const MaxiOrMini, Dim const ParamCount) |
| Param constructor. More...
|
|
| ValueVectorFunction (ValueVectorFunction< value, metric, vectorType > &&that) noexcept=delete |
| Move constructor.
|
|
| ValueVectorFunction (ValueVectorFunction< value, metric, vectorType > const &that)=delete |
| Copy constructor.
|
|
ValueVectorFunction< value, metric, vectorType > & | operator= (ValueVectorFunction< value, metric, vectorType > &&that) noexcept=delete |
| Move assignment.
|
|
ValueVectorFunction< value, metric, vectorType > & | operator= (ValueVectorFunction< value, metric, vectorType > const &that)=delete |
| Copy assignment.
|
|
virtual Wrap | ExecWrappedScalar (Order const MaxiOrMini) const |
| Execution scalar wrap of the expression—throws error. More...
|
|
virtual void | syncSimulClock () |
| synchronise the simulation clock. More...
|
|
void | defineExprValueRecord () |
| Define expression value. More...
|
|
void | defineExprVectorRecord (Dim const FieldCount) |
| Define vector record. More...
|
|
virtual void | setupComputation () |
| Set up various things for computation. More...
|
|
virtual void | adjustMemAuto () override |
| Adjust memory requirement automatically. More...
|
|
void | setFuncSerial (Serial const pSerial) |
| Set function serial. More...
|
|
Hash | calcExprHash () const |
| Calculate expression hash value. More...
|
|
virtual Bool | equate (Expression const &that) const override |
| Compare expressions for equality. More...
|
|
virtual TabuBase const * | CareTabuInstance () const |
| Which tabu instance to care for. More...
|
|
virtual void | computeTabuEffect () |
| Compute the tabu effect upon callback. More...
|
|
virtual void | computeLockEffect () |
| Compute the lock effect up on callback. More...
|
|
| Function (System *const pSystem, Dim const ParamCount) |
| Param constructor. More...
|
|
| Function (Function &&that) noexcept=delete |
| Move constructor.
|
|
| Function (Function const &that)=delete |
| Copy constructor.
|
|
Function & | operator= (Function &&that) noexcept=delete |
| Move assignment.
|
|
Function & | operator= (Function const &that)=delete |
| Copy assignment.
|
|
void | setParameters (ParamOrder const pParamOrder, Dim const ParamCount, Expression *const *const pParamExprs, ParamSpecType const *const pParamSpecs=nullptr, Index *const pParamIndexes=nullptr) |
| Set the parameters, if unordered then expression pointers along with indexes (if given) are sorted. More...
|
|
void | defineRootWithinSystem () |
| Define as a root within the system. More...
|
|
Serial | RootFuncSerial () const |
| The root function serial within the system. More...
|
|
void | setRootFuncSerial (Serial const RootFuncSerial) |
| Set the root function serial with the system. More...
|
|
virtual | ~Expression () |
| Destructor. More...
|
|
| Expression (System *const pSystem) |
| Param constructor. More...
|
|
| Expression (Expression &&that) noexcept=delete |
| Move constructor.
|
|
| Expression (Expression const &that)=delete |
| Copy constructor.
|
|
Expression & | operator= (Expression &&that) noexcept=delete |
| Move assignment.
|
|
Expression & | operator= (Expression const &that)=delete |
| Copy assignment.
|
|
void | setExprFamily (Identifier const pFamily) |
| Set expression family. More...
|
|
void | setExprModel (Identifier const pModel) |
| Set expression model. More...
|
|
void | setExprFormat (Identifier const pFormat) |
| Set expression format. More...
|
|
void | setExprHash (Hash const pHash) |
| Set expression hash value. More...
|
|
void | setUpdatable (Bool const SetNotUnset) |
| Set expression updatablity. More...
|
|
void | updateExecClock () |
| Update the execution clock. More...
|
|
void | updateSimulClock () |
| Update the simulation clock. More...
|
|
virtual void | syncExecBatchClock () |
| Synchronize the execution batch clock. More...
|
|
virtual void | syncSimulBatchClock () |
| Synchronize the simulation batch clock. More...
|
|
virtual Serial | setPatron (Function *const pFunction, Serial ParamSerial) |
| Set a patron in the expression and return patron serial. More...
|
|
static Serial | defineWithinSystem (Function *const pFunction) |
| Define the function in the system. More...
|
|
ValueRecord< value > * | mExprValueRecord |
| Point to the value record.
|
|
VectorRecord< metric > * | mExprVectorRecord |
| Point to the vector record.
|
|
Order const | mMetricOptiOrder |
| Maximisation or minimisation?
|
|
Serial | mRootFuncSerial |
| Root function serial in the system.
|
|
friend | System |
| Friend access to System.
|
|
Clock | mEmulClock |
| The emulation clock, when the expression was emulated.
|
|
Clock | mExecClock |
| The execution clock, when the expression was executed.
|
|
Clock | mSimulClock |
| The simulation clock, when the expression was simulated.
|
|
template<Order MaxiOrMini, typename paramValue, typename value = paramValue, typename paramMetric = paramValue, typename metric = paramMetric>
class SummationValueFactorVectorToValueFactorVector< MaxiOrMini, paramValue, value, paramMetric, metric >
Summation value vector to value vector function.
- The parameter values are summed up to obtain the value.
- For each factor variable, the vector metric is the sum of the vector metric of the same factor variable over all the parameters that depend on the factor variable.
- Template Parameters
-
MaxiOrMini | The maximisation or minimisation order. |
paramValue | The value type of the parameters. |
value | The value type of the function–default is paramValue. |
paramMetric | The metric type of the parameters–default is paramValue. |
metric | The metric type of the function–default is paramMetric. |