Cypress
1.0
C++ Spiking Neural Network Simulation Framework
|
#include <transformation.hpp>
Public Member Functions | |
virtual TransformationProperties | properties () const |
virtual std::string | id () const =0 |
NetworkBase | transform (const NetworkBase &src, TransformationAuxData &aux) |
void | copy_results (const NetworkBase &src, NetworkBase &tar) const |
virtual | ~Transformation () |
Protected Member Functions | |
virtual NetworkBase | do_transform (const NetworkBase &src, TransformationAuxData &aux)=0 |
virtual void | do_copy_results (const NetworkBase &src, NetworkBase &tar) const |
Virtual base class from which all Transformations should be derived. The transformation class is as general as possible, just taking a NetworkBase as input and returning a new NetworkBase instance.
|
inlinevirtual |
void cypress::Transformation::copy_results | ( | const NetworkBase & | src, |
NetworkBase & | tar | ||
) | const |
Copys the results from a transformed network to the original network.
|
protectedvirtual |
Function called after the network was executed. This function should copy recorded data from the actually executed network to the target network. This function must be overriden if the network topology (including the neuron type) was changed by the transformation. Otherwise a default implementation is used.
|
protectedpure virtual |
Function which should be overriden by child classes. This function should perform the actual transformation an remember which changes were done.
src | is the network which should be modified. |
Implemented in cypress::transformations::IFFH1UnitScale, cypress::NeuronTypeTransformation< SourceType, TargetType >, cypress::NeuronTypeTransformation< SpikeSourceConstInterval, SpikeSourceConstFreq >, cypress::NeuronTypeTransformation< SpikeSourceConstFreq, SpikeSourceConstInterval >, cypress::NeuronTypeTransformation< SpikeSourceConstFreq, SpikeSourceArray >, cypress::NeuronTypeTransformation< IfFacetsHardware1, IfCondExp >, cypress::NeuronTypeTransformation< IfCondExp, IfFacetsHardware1 >, and cypress::NeuronTypeTransformation< SpikeSourcePoisson, SpikeSourceArray >.
|
pure virtual |
Returns an id which can for example be used to explicitly disable certain transformations.
Implemented in cypress::transformations::CFToSA, cypress::transformations::IFFH1UnitScale, cypress::transformations::PoissonToSA, cypress::transformations::CFToCI, cypress::transformations::LIFToIFFH1, cypress::transformations::CIToCF, and cypress::transformations::IFFH1ToLIF.
|
inlinevirtual |
Returns a structure describing the transformation, e.g. whether it is lossy or the priority with which it should be applied.
Reimplemented in cypress::transformations::LIFToIFFH1.
NetworkBase cypress::Transformation::transform | ( | const NetworkBase & | src, |
TransformationAuxData & | aux | ||
) |
Performs the transformation on the given network instance.
src | is the network which should be modified. |
aux | is some auxiliary data which may be modified by the transformation. |