23#ifndef SPARSE_NODE_ARRAY_H
24#define SPARSE_NODE_ARRAY_H
245 assert( idx <
nodes_.size() );
246 return nodes_[ idx ].node_;
271 assert( node_id_ > 0 );
Container with a vector-of-vectors structure.
Definition block_vector.h:156
A BlockVector::iterator.
Definition block_vector.h:53
Base class for all NEST network objects.
Definition node.h:99
Entry representing individual node.
Definition sparse_node_array.h:97
NodeEntry()
Definition sparse_node_array.h:106
Node * get_node() const
return pointer to represented node
Definition sparse_node_array.h:262
Node * node_
Definition sparse_node_array.h:122
size_t get_node_id() const
return ID of represented node
Definition sparse_node_array.h:269
size_t node_id_
store node ID locally for faster searching
Definition sparse_node_array.h:123
Sparse representation of local nodes.
Definition sparse_node_array.h:86
size_t split_node_id_
Globally smallest node ID in right side of array.
Definition sparse_node_array.h:204
size_t local_max_node_id_
largest local node ID
Definition sparse_node_array.h:193
const_iterator end() const
Definition sparse_node_array.h:231
Node * get_node_by_node_id(size_t) const
Return pointer to node or nullptr if node is not local.
Definition sparse_node_array.cpp:130
size_t size() const
Return size of container.
Definition sparse_node_array.h:237
bool is_consistent_() const
Definition sparse_node_array.h:256
size_t get_max_node_id() const
Globally largest node ID.
Definition sparse_node_array.h:250
void set_max_node_id(size_t)
Set max node ID to maximum in network.
Definition sparse_node_array.cpp:118
bool left_side_has_proxies_
Proxy status of nodes on left side of array.
Definition sparse_node_array.h:221
void clear()
Clear the array.
Definition sparse_node_array.cpp:56
size_t split_idx_
Array index of first element in right side of array.
Definition sparse_node_array.h:209
BlockVector< SparseNodeArray::NodeEntry >::const_iterator const_iterator
Iterator inherited from BlockVector.
Definition sparse_node_array.h:127
SparseNodeArray()
Create empty sparse node array.
Definition sparse_node_array.cpp:40
double right_scale_
scale factor for right side of array
Definition sparse_node_array.h:196
double left_scale_
scale factor for left side of array
Definition sparse_node_array.h:195
bool have_split_
Mark whether split has happened during network construction.
Definition sparse_node_array.h:216
void add_local_node(Node &)
Add single local node.
Definition sparse_node_array.cpp:72
const_iterator begin() const
Constant iterators for safe iteration of SparseNodeArray.
Definition sparse_node_array.h:225
Node * get_node_by_index(size_t) const
Lookup node based on index into container.
Definition sparse_node_array.h:243
BlockVector< NodeEntry > nodes_
stores local node information
Definition sparse_node_array.h:190
size_t global_max_node_id_
globally largest node ID
Definition sparse_node_array.h:191
size_t local_min_node_id_
smallest local node ID
Definition sparse_node_array.h:192
Namespace for the NEST simulation kernel.
Definition beta_normalization_factor.h:33