33 #ifndef CYPRESS_CORE_NETWORK_BASE_HPP 34 #define CYPRESS_CORE_NETWORK_BASE_HPP 38 #include <unordered_set> 59 class PopulationViewBase;
63 template <
typename Impl,
typename Accessor>
66 template <
typename Impl,
typename Accessor,
typename Params,
typename Signals>
69 template <
typename Impl,
typename Accessor>
121 std::shared_ptr<internal::NetworkData> m_impl;
124 template <
typename Impl,
typename Accessor>
127 template <
typename Impl,
typename Accessor,
typename Params,
131 template <
typename Impl,
typename Accessor>
155 std::unique_ptr<Connector> connector,
const char *name =
"");
175 const std::string &name);
187 NetworkBase(std::shared_ptr<internal::NetworkData> impl) : m_impl(impl) {}
205 void logger(
Logger &logger);
225 std::shared_ptr<const PopulationData> population_data(
248 size_t population_count()
const;
253 size_t population_count(
const NeuronType &type)
const;
258 template <
typename T>
261 return population_count(T::inst());
267 size_t neuron_count()
const;
272 size_t neuron_count(
const NeuronType &type)
const;
277 template <
typename T>
280 return neuron_count(T::inst());
307 const std::vector<PopulationBase> populations(
308 const std::string &name = std::string(),
320 const std::vector<PopulationBase> populations(
const NeuronType &type)
const;
330 PopulationBase population(
const std::string &name = std::string());
339 const std::vector<ConnectionDescriptor> &connections()
const;
357 void update_connection(std::unique_ptr<Connector> connector,
const char *name);
377 static std::unique_ptr<Backend> make_backend(std::string backend_id,
379 const char *argv[] =
nullptr,
387 bool use_lossy_trafos()
const;
394 void use_lossy_trafos(
bool use_lossy)
const;
399 const std::unordered_set<std::string> &disabled_trafo_ids()
const;
404 std::unordered_set<std::string> &disabled_trafo_ids();
417 void run(
const Backend &backend,
Real duration = 0.0);
434 void run(
const std::string &backend_id,
Real duration = 0.0,
int argc = 0,
435 const char *argv[] =
nullptr);
443 Real duration()
const;
Definition: neurons_base.hpp:54
static const NullNeuron & inst()
Definition: network_base.hpp:67
Definition: network_base_objects.hpp:241
int32_t NeuronIndex
Definition: types.hpp:74
Definition: network_base.hpp:64
Definition: backend.hpp:50
size_t neuron_count() const
Definition: network_base.hpp:278
Definition: network_base.hpp:70
Real sim_pure
Definition: network_base.hpp:102
Real initialize
Definition: network_base.hpp:90
double Real
Definition: types.hpp:56
Definition: neurons_base.hpp:151
NetworkBase(std::shared_ptr< internal::NetworkData > impl)
Definition: network_base.hpp:187
nlohmann::json Json
Definition: json.hpp:27
Definition: network_base.hpp:75
Real sim
Definition: network_base.hpp:85
bool operator==(const NetworkBase &o) const
Definition: network_base.hpp:232
bool operator!=(const NetworkBase &o) const
Definition: network_base.hpp:238
Definition: network_base.hpp:116
size_t population_count() const
Definition: network_base.hpp:259
Definition: network_base_objects.hpp:53
Definition: brainscales_lib.hpp:39
Definition: neurons_base.hpp:322
Real total
Definition: network_base.hpp:79
Definition: connector.hpp:705
int32_t PopulationIndex
Definition: types.hpp:75
Real finalize
Definition: network_base.hpp:96
Definition: logger.hpp:107