93 void add_value(
const long offs,
const double );
101 void set_value(
const long offs,
const double );
172 assert( 0 <= offs and
static_cast< size_t >( offs ) <
buffer_.size() );
173 assert( offs <
kernel().connection_manager.get_min_delay() );
186 assert( 0 <= offs and
static_cast< size_t >( offs ) <
buffer_.size() );
187 assert( offs <
kernel().connection_manager.get_min_delay() );
201 assert(
static_cast< size_t >( idx ) <
buffer_.size() );
216 void add_value(
const long offs,
const double );
261 assert( 0 <= offs and
static_cast< size_t >( offs ) <
buffer_.size() );
268 assert( 0 <= offs and
static_cast< size_t >( offs ) <
buffer_.size() );
269 assert( offs <
kernel().connection_manager.get_min_delay() );
283 assert( 0 <= idx and
static_cast< size_t >( idx ) <
buffer_.size() );
301 std::list< double >&
get_list(
const long offs );
346inline std::list< double >&
349 assert( 0 <= offs and
static_cast< size_t >( offs ) <
buffer_.size() );
350 assert( offs <
kernel().connection_manager.get_min_delay() );
363 assert(
static_cast< size_t >( idx ) <
buffer_.size() );
368template <
unsigned int num_channels >
374 void add_value(
const size_t slot,
const size_t channel,
const double value );
392 std::vector< std::array< double, num_channels > >
buffer_;
395template <
unsigned int num_channels >
399 assert( slot < buffer_.size() );
400 buffer_[ slot ].fill( 0.0 );
403template <
unsigned int num_channels >
407 buffer_[ slot ][ channel ] += value;
410template <
unsigned int num_channels >
411inline const std::array< double, num_channels >&
414 assert( slot < buffer_.size() );
415 return buffer_[ slot ];
418template <
unsigned int num_channels >
422 return buffer_.size();
long get_modulo(long d)
Return (T+d) mod max_delay.
Definition event_delivery_manager.h:527
Definition ring_buffer.h:289
void resize()
Resize the buffer according to max_thread and max_delay.
Definition ring_buffer.cpp:81
size_t get_index_(const long d) const
Obtain buffer index.
Definition ring_buffer.h:359
void clear()
Initialize the buffer with empty lists.
Definition ring_buffer.cpp:91
std::vector< std::list< double > > buffer_
Buffered data.
Definition ring_buffer.h:328
size_t size() const
Returns buffer size, for memory measurement.
Definition ring_buffer.h:321
std::list< double > & get_list(const long offs)
Definition ring_buffer.h:347
void append_value(const long offs, const double)
Append a value to the ring buffer list.
Definition ring_buffer.h:341
ListRingBuffer()
Definition ring_buffer.cpp:75
Definition ring_buffer.h:207
std::vector< double > buffer_
Buffered data.
Definition ring_buffer.h:246
MultRBuffer()
Definition ring_buffer.cpp:52
void clear()
Initialize the buffer with noughts.
Definition ring_buffer.cpp:68
size_t size() const
Returns buffer size, for memory measurement.
Definition ring_buffer.h:239
void add_value(const long offs, const double)
Add a value to the ring buffer.
Definition ring_buffer.h:259
double get_value(const long offs)
Read one value from ring buffer.
Definition ring_buffer.h:266
void resize()
Resize the buffer according to max_thread and max_delay.
Definition ring_buffer.cpp:58
size_t get_index_(const long d) const
Obtain buffer index.
Definition ring_buffer.h:280
Buffer Layout.
Definition ring_buffer.h:83
size_t get_index_(const long d) const
Obtain buffer index.
Definition ring_buffer.h:197
RingBuffer()
Definition ring_buffer.cpp:28
void resize()
Resize the buffer according to max_thread and max_delay.
Definition ring_buffer.cpp:34
double get_value_wfr_update(const long offs)
Read one value from ring buffer without deleting it afterwards.
Definition ring_buffer.h:184
void set_value(const long offs, const double)
Set a ring buffer entry to a given value.
Definition ring_buffer.h:164
std::vector< double > buffer_
Buffered data.
Definition ring_buffer.h:145
void add_value(const long offs, const double)
Add a value to the ring buffer.
Definition ring_buffer.h:158
void clear()
Initialize the buffer with noughts.
Definition ring_buffer.cpp:44
double get_value(const long offs)
Read one value from ring buffer.
Definition ring_buffer.h:170
size_t size() const
Returns buffer size, for memory measurement.
Definition ring_buffer.h:138
EventDeliveryManager event_delivery_manager
Definition kernel_manager.h:241
Namespace for the NEST simulation kernel.
Definition beta_normalization_factor.h:33
KernelManager & kernel()
Definition kernel_manager.h:311