Cypress  1.0
C++ Spiking Neural Network Simulation Framework
Public Member Functions | Protected Member Functions | Static Protected Member Functions | List of all members
cypress::NeuronParameters Class Reference

#include <neurons_base.hpp>

Inheritance diagram for cypress::NeuronParameters:
Inheritance graph
[legend]
Collaboration diagram for cypress::NeuronParameters:
Collaboration graph
[legend]

Public Member Functions

 NeuronParameters (std::shared_ptr< PopulationData > data, NeuronIndex nid0, NeuronIndex nid1)
 
const std::vector< Real > & parameters () const
 
void parameters (std::vector< Real > parameters)
 
void set (size_t idx, Real value)
 
Real operator[] (size_t i) const
 
const Realbegin () const
 
const Realend () const
 
size_t size () const
 

Protected Member Functions

 NeuronParameters (std::initializer_list< Real > parameters)
 
 NeuronParameters (const std::vector< Real > &parameters)
 
const PopulationDatapopulation_data () const
 
PopulationDatapopulation_data ()
 
size_t get_parameters_size () const
 
size_t get_record_size () const
 
size_t get_data_size () const
 
const auto & read_parameters () const
 
const auto & read_record () const
 
const auto & read_data () const
 
auto write_parameters (bool partial=true)
 
auto write_record (bool partial=true)
 
auto write_data (bool partial=true)
 

Static Protected Member Functions

template<typename Seq >
static Seq::value_type from_sequence (Seq list)
 

Detailed Description

Base class for the storage of neuron parameters. Basically this class just contains a vector of floats, where each float in the vector corresponds to a single parameter.

Constructor & Destructor Documentation

cypress::NeuronParameters::NeuronParameters ( std::initializer_list< Real parameters)
inlineprotected

Constructor allowing to set the neuron parameters to the given values.

cypress::NeuronParameters::NeuronParameters ( const std::vector< Real > &  parameters)
inlineprotected

Constructor allowing to set the neuron parameters to the given values.

cypress::NeuronParameters::NeuronParameters ( std::shared_ptr< PopulationData data,
NeuronIndex  nid0,
NeuronIndex  nid1 
)
inline

Constructor allowing the NeuronParameters class to act as a view onto an existing set of parameters.

Member Function Documentation

const Real* cypress::NeuronParameters::begin ( ) const
inline

Returns an iterator allowing to iterate over the parameter vector.

const Real* cypress::NeuronParameters::end ( ) const
inline

Returns an iterator allowing to iterate over the parameter vector.

template<typename Seq >
static Seq::value_type cypress::PopulationDataView::from_sequence ( Seq  list)
inlinestaticprotectedinherited

Templated method which allows to construct a PopulationDataView with its own data from a list of PopulationData objects. This method is used by the various neuron parameter and signal implementations to be able to supply a list of parameters/signals to the various constructors.

size_t cypress::PopulationDataView::get_data_size ( ) const
inlineprotectedinherited

Returns the size of the record vector. Throws an exception if the neurons in the given range do not share parameters of the same size.

Returns
the number of entires in the data array.
size_t cypress::PopulationDataView::get_parameters_size ( ) const
inlineprotectedinherited

Returns the size of the parameter vector. Throws an exception if the neurons in the given range do not share parameters of the same size.

Returns
the number of parameters in the parameter array.
size_t cypress::PopulationDataView::get_record_size ( ) const
inlineprotectedinherited

Returns the size of the record vector. Throws an exception if the neurons in the given range do not share parameters of the same size.

Returns
the number of entires in the record array.
Real cypress::NeuronParameters::operator[] ( size_t  i) const
inline

Returns a read-only reference at the i-th element in the parameter vector.

const std::vector<Real>& cypress::NeuronParameters::parameters ( ) const
inline

Returns a read-only reference at the parameter vector.

void cypress::NeuronParameters::parameters ( std::vector< Real parameters)
inline

Sets the all parameters at once. Use with caution, parameters have to be in the correct order

Parameters
parametersvector of parameters
const PopulationData& cypress::PopulationDataView::population_data ( ) const
inlineprotectedinherited

Returns a const reference at the underlying PopulationData.

PopulationData& cypress::PopulationDataView::population_data ( )
inlineprotectedinherited

Returns a reference at the underlying PopulationData.

const auto& cypress::PopulationDataView::read_data ( ) const
inlineprotectedinherited

Returns a const-reference at the vector containing the recorded data for the neurons represented by this view. Throws an exception if the neurons in this view do not share the same record flags.

Returns
the record data shared by the neurons in the given range.
const auto& cypress::PopulationDataView::read_parameters ( ) const
inlineprotectedinherited

Returns a const-reference at the parameter vector for the neurons represented by this view. Throws an exception if the neurons in this view do not share the same parameters.

Returns
the parameters shared by the neurons in the given range.
const auto& cypress::PopulationDataView::read_record ( ) const
inlineprotectedinherited

Returns a const-reference at the vector specifying whether a signal should be recorded or not for the neurons represented by this view. Throws an exception if the neurons in this view do not share the same record flags.

Returns
the record flags shared by the neurons in the given range.
void cypress::NeuronParameters::set ( size_t  idx,
Real  value 
)
inline

Sets the parameter with the given index to the specified value.

Parameters
idxis the parameter that should be updated.
valueis the value the parameter should be set to.
size_t cypress::NeuronParameters::size ( ) const
inline

Returns the size of the parameter vector. Aborts if the population is non-uniform.

auto cypress::PopulationDataView::write_data ( bool  partial = true)
inlineprotectedinherited

Returns an iteratble range allowing to write the recorded data for the range of neurons represented by this vie2. Assumes that the data is being set to the same value for the specified range.

Parameters
partialif true, indicates that the record data is not entirely overridden, preventing the method from re-homogenising the data.
Returns
an iterable object pointing at the recorded data for the specified neuron range.
auto cypress::PopulationDataView::write_parameters ( bool  partial = true)
inlineprotectedinherited

Returns an iterable range allowing to modify the parameters for the range of neurons represented by this view. Assumes that the data is being set to the same value for the specified range.

Parameters
partialif true, indicates that the parameters are not entirely overridden, preventing the method from re-homogenising the data.
Returns
an iterable object pointing at the parameters for the specified neuron range.
auto cypress::PopulationDataView::write_record ( bool  partial = true)
inlineprotectedinherited

Returns an iteratble range allowing to modify the record flags for the range of neurons represented by this view. Assumes that the data is being set to the same value for the specified range.

Parameters
partialif true, indicates that the record flags are not entirely overridden, preventing the method from re-homogenising the data.
Returns
an iterable object pointing at the record flags for the specified neuron range.

The documentation for this class was generated from the following file: