Skip to main content

sc_neurocore_engine/bindings/stochastic/
mod.rs

1// SPDX-License-Identifier: AGPL-3.0-or-later
2// Commercial license available
3// © Concepts 1996–2026 Miroslav Šotek. All rights reserved.
4// © Code 2020–2026 Miroslav Šotek. All rights reserved.
5// ORCID: 0009-0009-3560-0851
6// Contact: www.anulum.li | protoscience@anulum.li
7// SC-NeuroCore — Stochastic neuron PyO3 binding composition
8
9use pyo3::prelude::*;
10
11mod benda_herz;
12mod galves_locherbach;
13mod gamma_renewal;
14mod glm;
15mod inhomogeneous_poisson;
16mod spike_response;
17mod stochastic_if;
18mod stochastic_lif;
19
20pub use benda_herz::PyBendaHerzNeuron;
21pub use galves_locherbach::PyGalvesLocherbachNeuron;
22pub use gamma_renewal::PyGammaRenewalNeuron;
23pub use glm::PyGLMNeuron;
24pub use inhomogeneous_poisson::PyInhomogeneousPoissonNeuron;
25pub use spike_response::PySpikeResponseNeuron;
26pub use stochastic_if::PyStochasticIFNeuron;
27pub use stochastic_lif::PyStochasticLIFNeuron;
28
29pub(crate) fn register_adaptation(module: &Bound<'_, PyModule>) -> PyResult<()> {
30    benda_herz::register(module)?;
31    Ok(())
32}
33
34pub(crate) fn register(module: &Bound<'_, PyModule>) -> PyResult<()> {
35    inhomogeneous_poisson::register(module)?;
36    gamma_renewal::register(module)?;
37    stochastic_if::register(module)?;
38    stochastic_lif::register(module)?;
39    galves_locherbach::register(module)?;
40    spike_response::register(module)?;
41    glm::register(module)?;
42    Ok(())
43}