23#ifndef CONN_PARAMETER_H
24#define CONN_PARAMETER_H
75 skip(
size_t,
size_t )
const
95 throw NotImplemented(
"Symmetric connections require parameters that can be reset." );
141 throw KernelException(
"ConnParameter calls value function with false return type." );
181 return static_cast< double >(
value_ );
242 skip(
size_t tid,
size_t n_skip )
const override
246 next_[ tid ] += n_skip;
265 return *
next_[ tid ]++;
276 throw KernelException(
"ConnParameter calls value function with false return type." );
288 for ( std::vector< std::vector< double >::const_iterator >::iterator it =
next_.begin(); it !=
next_.end(); ++it )
296 mutable std::vector< std::vector< double >::const_iterator >
next_;
323 skip(
size_t tid,
size_t n_skip )
const override
327 next_[ tid ] += n_skip;
346 return *
next_[ tid ]++;
359 return static_cast< double >( *
next_[ tid ]++ );
382 for ( std::vector< std::vector< long >::const_iterator >::iterator it =
next_.begin(); it !=
next_.end(); ++it )
390 mutable std::vector< std::vector< long >::const_iterator >
next_;
403 return value_double( target_thread, rng, snode_id, target );
Array parameter classes, returning double values in order.
Definition conn_parameter.h:233
ArrayDoubleParameter(const std::vector< double > &values, const size_t nthreads)
Definition conn_parameter.h:235
std::vector< std::vector< double >::const_iterator > next_
Definition conn_parameter.h:296
double value_double(size_t tid, RngPtr, size_t, Node *) const override
Return parameter value.
Definition conn_parameter.h:261
const std::vector< double > values_
Definition conn_parameter.h:295
long value_int(size_t, RngPtr, size_t, Node *) const override
Definition conn_parameter.h:274
bool is_array() const override
Definition conn_parameter.h:280
void skip(size_t tid, size_t n_skip) const override
Definition conn_parameter.h:242
void reset() const override
Definition conn_parameter.h:286
size_t number_of_values() const override
Returns number of values available.
Definition conn_parameter.h:255
Array parameter classes, returning integer values in order.
Definition conn_parameter.h:314
const std::vector< long > values_
Definition conn_parameter.h:389
bool is_array() const override
Definition conn_parameter.h:368
size_t number_of_values() const override
Returns number of values available.
Definition conn_parameter.h:336
bool provides_long() const override
Definition conn_parameter.h:374
void reset() const override
Definition conn_parameter.h:380
ArrayLongParameter(const std::vector< long > &values, const size_t nthreads)
Definition conn_parameter.h:316
double value_double(size_t tid, RngPtr, size_t, Node *) const override
Return parameter value.
Definition conn_parameter.h:355
void skip(size_t tid, size_t n_skip) const override
Definition conn_parameter.h:323
std::vector< std::vector< long >::const_iterator > next_
Definition conn_parameter.h:390
long value_int(size_t tid, RngPtr, size_t, Node *) const override
Definition conn_parameter.h:342
Base class for RNG engine wrappers.
Definition random_generators.h:67
Definition conn_parameter.h:50
static ConnParameter * create(const any_type &, const size_t)
Definition conn_parameter.cpp:32
virtual void reset() const
Definition conn_parameter.h:93
virtual bool is_scalar() const
Definition conn_parameter.h:81
virtual bool is_array() const =0
virtual size_t number_of_values() const
Returns number of values available.
Definition conn_parameter.h:104
virtual double value_double(size_t, RngPtr, size_t, Node *) const =0
Return parameter value.
virtual bool provides_long() const
Definition conn_parameter.h:87
virtual void skip(size_t, size_t) const
Definition conn_parameter.h:75
virtual long value_int(size_t, RngPtr, size_t, Node *) const =0
virtual ~ConnParameter()
Definition conn_parameter.h:57
ConnParameter()
Definition conn_parameter.h:53
Base class for all Kernel exceptions.
Definition exceptions.h:65
Base class for all NEST network objects.
Definition node.h:99
Exception to be thrown if a feature is unavailable.
Definition exceptions.h:108
Definition conn_parameter.h:394
ParameterPTR parameter_
Definition conn_parameter.h:419
double value_double(size_t target_thread, RngPtr rng, size_t snode_id, Node *target) const override
Return parameter value.
Definition conn_parameter.cpp:74
bool is_array() const override
Definition conn_parameter.h:407
bool provides_long() const override
Definition conn_parameter.h:413
long value_int(size_t target_thread, RngPtr rng, size_t snode_id, Node *target) const override
Definition conn_parameter.h:401
Single double value.
Definition conn_parameter.h:125
ScalarDoubleParameter(double value, const size_t)
Definition conn_parameter.h:127
void reset() const override
Definition conn_parameter.h:151
double value_double(size_t, RngPtr, size_t, Node *) const override
Return parameter value.
Definition conn_parameter.h:133
long value_int(size_t, RngPtr, size_t, Node *) const override
Definition conn_parameter.h:139
bool is_array() const override
Definition conn_parameter.h:145
bool is_scalar() const override
Definition conn_parameter.h:156
double value_
Definition conn_parameter.h:162
Single integer value.
Definition conn_parameter.h:171
double value_double(size_t, RngPtr, size_t, Node *) const override
Return parameter value.
Definition conn_parameter.h:179
bool provides_long() const override
Definition conn_parameter.h:208
void reset() const override
Definition conn_parameter.h:197
long value_int(size_t, RngPtr, size_t, Node *) const override
Definition conn_parameter.h:185
bool is_array() const override
Definition conn_parameter.h:191
bool is_scalar() const override
Definition conn_parameter.h:202
ScalarIntegerParameter(long value, const size_t)
Definition conn_parameter.h:173
long value_
Definition conn_parameter.h:214
DictionarySchema::VariantType< std::shared_ptr< nest::NodeCollection >, std::vector< std::vector< double > >, std::vector< std::vector< std::vector< double > > >, std::vector< std::vector< std::vector< long > > >, std::shared_ptr< nest::Parameter >, AnyVector, nest::VerbosityLevel, EmptyList > any_type
Complete any_type by adding specific data types.
Definition dictionary.h:123
Namespace for the NEST simulation kernel.
Definition beta_normalization_factor.h:33
std::shared_ptr< Parameter > ParameterPTR
Definition parameter.h:40