Cypress  1.0
C++ Spiking Neural Network Simulation Framework
Classes | Namespaces | Typedefs
transformation.hpp File Reference
#include <functional>
#include <memory>
#include <typeinfo>
#include <unordered_set>
#include <vector>
#include <cypress/core/types.hpp>
Include dependency graph for transformation.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  cypress::Population< T >
 
struct  cypress::TransformationProperties
 
struct  cypress::TransformationAuxData
 
class  cypress::Transformation
 
class  cypress::Transformations
 

Namespaces

 cypress
 

Typedefs

using cypress::TransformationCtor = std::function< std::unique_ptr< Transformation >()>
 
using cypress::TransformationTest = std::function< bool(const Backend &, const NetworkBase &)>
 
using cypress::RegisteredTransformation = size_t
 

Detailed Description

Contains the general transformation interface – transformations are responsible for expressing a certain aspect of a network graph in another way. For example, the IfFacetsHardware1 neuron type is a subset of the IfCondExp neuron type, yet not supported by backends other than Spikey. A corresponding transformation takes care of transforming this neuron type into the IfCondExp neuron type for simulators which do not support it.

If transformations change the network topology, they must be capable of writing recorded data back into the original network graph.

Author
Andreas Stöckel

Class Documentation

struct cypress::TransformationProperties

Structure describing the

Class Members
size_t cost

A non-zero cost value which can be used to indicate the cost associated with executing this transformation.

bool lossy

If true indicates that the transformation cannot be transformed without loosing informatoion. Usage of these transformations can be disabled globally.

struct cypress::TransformationAuxData

Auxiliary data which may be affected by the transformation.

Class Members
Real duration

Contains the network simulation duration. Certain transformations may choose to extend the actual simulation duration.