Miind
|
#include <libs/MPILib/include/algorithm/AlgorithmInterface.hpp>
Public Types | |
typedef WeightValue | WeightType |
Public Member Functions | |
AlgorithmInterface ()=default | |
virtual | ~AlgorithmInterface () |
virtual AlgorithmInterface * | clone () const =0 |
virtual void | configure (const SimulationRunParameter &simParam)=0 |
virtual void | evolveNodeState (const std::vector< Rate > &nodeVector, const std::vector< WeightValue > &weightVector, Time time) |
virtual void | evolveNodeState (const std::vector< Rate > &nodeVector, const std::vector< WeightValue > &weightVector, Time time, const std::vector< NodeType > &typeVector) |
std::valarray< double > & | getArrayInterpretation (AlgorithmGrid &grid) const |
std::valarray< double > & | getArrayState (AlgorithmGrid &grid) const |
virtual Rate | getCurrentRate () const =0 |
virtual Time | getCurrentTime () const =0 |
virtual AlgorithmGrid | getGrid () const =0 |
Number & | getStateSize (AlgorithmGrid &grid) const |
Number | getStateSize (const AlgorithmGrid &grid) const |
virtual void | prepareEvolve (const std::vector< Rate > &nodeVector, const std::vector< WeightValue > &weightVector, const std::vector< NodeType > &typeVector) |
The interface for all algorithm classes.
This class provides the interface to which all developed algorithms need to implement.
Definition at line 40 of file AlgorithmInterface.hpp.
typedef WeightValue MPILib::algorithm::AlgorithmInterface< WeightValue >::WeightType |
Definition at line 43 of file AlgorithmInterface.hpp.
|
default |
|
inlinevirtual |
Definition at line 47 of file AlgorithmInterface.hpp.
|
pure virtual |
Cloning operation, to provide each DynamicNode with its own Algorithm instance. Clients use the naked pointer at their own risk.
Implemented in GeomLib::GeomAlgorithm< WeightValue >, GeomLib::OUAlgorithm, MPILib::algorithm::DelayAlgorithm< Weight >, MPILib::algorithm::WilsonCowanAlgorithm, MPILib::algorithm::RateFunctor< WeightValue >, MPILib::algorithm::RateAlgorithm< Weight >, MPILib::algorithm::HebbianAlgorithm, and MPILib::algorithm::PersistantAlgorithm.
|
pure virtual |
Configure the Algorithm
simParam | The simulation parameter |
Implemented in GeomLib::GeomAlgorithm< WeightValue >, MPILib::algorithm::DelayAlgorithm< Weight >, GeomLib::OUAlgorithm, MPILib::algorithm::WilsonCowanAlgorithm, MPILib::algorithm::RateFunctor< WeightValue >, MPILib::algorithm::RateAlgorithm< Weight >, MPILib::algorithm::HebbianAlgorithm, and MPILib::algorithm::PersistantAlgorithm.
|
inlinevirtual |
Evolve the node state. Overwrite this method if your algorithm does not need to know the NodeTypes.
nodeVector | Vector of the node States |
weightVector | Vector of the weights of the nodes |
time | Time point of the algorithm |
Reimplemented in GeomLib::GeomAlgorithm< WeightValue >, MPILib::algorithm::DelayAlgorithm< Weight >, MPILib::algorithm::WilsonCowanAlgorithm, MPILib::algorithm::RateFunctor< WeightValue >, MPILib::algorithm::RateAlgorithm< Weight >, MPILib::algorithm::HebbianAlgorithm, and MPILib::algorithm::PersistantAlgorithm.
Definition at line 70 of file AlgorithmInterface.hpp.
Referenced by MPILib::algorithm::AlgorithmInterface< Weight >::evolveNodeState().
|
inlinevirtual |
Evolve the node state. In the default case it simply calls envolveNodeState without the NodeTypes. However if an algorithm needs the nodeTypes of the precursors overwrite this function.
nodeVector | Vector of the node States |
weightVector | Vector of the weights of the nodes |
time | Time point of the algorithm |
typeVector | Vector of the NodeTypes of the precursors |
Definition at line 85 of file AlgorithmInterface.hpp.
|
inline |
Definition at line 125 of file AlgorithmInterface.hpp.
|
inline |
Definition at line 120 of file AlgorithmInterface.hpp.
|
pure virtual |
The calculated rate of the node
Implemented in GeomLib::GeomAlgorithm< WeightValue >, GeomLib::OUAlgorithm, MPILib::algorithm::DelayAlgorithm< Weight >, MPILib::algorithm::RateFunctor< WeightValue >, MPILib::algorithm::WilsonCowanAlgorithm, MPILib::algorithm::RateAlgorithm< Weight >, MPILib::algorithm::HebbianAlgorithm, and MPILib::algorithm::PersistantAlgorithm.
|
pure virtual |
The current timepoint
Implemented in GeomLib::GeomAlgorithm< WeightValue >, GeomLib::OUAlgorithm, MPILib::algorithm::DelayAlgorithm< Weight >, MPILib::algorithm::RateFunctor< WeightValue >, MPILib::algorithm::WilsonCowanAlgorithm, MPILib::algorithm::RateAlgorithm< Weight >, MPILib::algorithm::HebbianAlgorithm, and MPILib::algorithm::PersistantAlgorithm.
|
pure virtual |
Stores the algorithm state in a Algorithm Grid
Implemented in GeomLib::GeomAlgorithm< WeightValue >, GeomLib::OUAlgorithm, MPILib::algorithm::DelayAlgorithm< Weight >, MPILib::algorithm::RateFunctor< WeightValue >, MPILib::algorithm::WilsonCowanAlgorithm, MPILib::algorithm::RateAlgorithm< Weight >, MPILib::algorithm::HebbianAlgorithm, and MPILib::algorithm::PersistantAlgorithm.
|
inline |
Definition at line 130 of file AlgorithmInterface.hpp.
|
inline |
Definition at line 135 of file AlgorithmInterface.hpp.
|
inlinevirtual |
prepare the Evolve method
nodeVector | Vector of the node States |
weightVector | Vector of the weights of the nodes |
typeVector | Vector of the NodeTypes of the precursors |
Reimplemented in GeomLib::GeomAlgorithm< WeightValue >, and GeomLib::OUAlgorithm.
Definition at line 97 of file AlgorithmInterface.hpp.