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 sc_stochastic_rate_adaptation;
17mod spike_response;
18mod stochastic_if;
19mod stochastic_lif;
20
21pub use benda_herz::PyBendaHerzNeuron;
22pub use galves_locherbach::PyGalvesLocherbachNeuron;
23pub use gamma_renewal::PyGammaRenewalNeuron;
24pub use glm::PyGLMNeuron;
25pub use inhomogeneous_poisson::PyInhomogeneousPoissonNeuron;
26pub use sc_stochastic_rate_adaptation::PySCStochasticRateAdaptationNeuron;
27pub use spike_response::PySpikeResponseNeuron;
28pub use stochastic_if::PyStochasticIFNeuron;
29pub use stochastic_lif::PyStochasticLIFNeuron;
30
31pub(crate) fn register_adaptation(module: &Bound<'_, PyModule>) -> PyResult<()> {
32    benda_herz::register(module)?;
33    sc_stochastic_rate_adaptation::register(module)?;
34    Ok(())
35}
36
37pub(crate) fn register(module: &Bound<'_, PyModule>) -> PyResult<()> {
38    inhomogeneous_poisson::register(module)?;
39    gamma_renewal::register(module)?;
40    stochastic_if::register(module)?;
41    stochastic_lif::register(module)?;
42    galves_locherbach::register(module)?;
43    spike_response::register(module)?;
44    glm::register(module)?;
45    Ok(())
46}