pub(crate) fn py_ermentrout_kopell_map_simulate<'py>(
py: Python<'py>,
theta0: f64,
dt: f64,
gain: f64,
theta_threshold: f64,
n_steps: usize,
current: f64,
) -> (Bound<'py, PyArray1<f64>>, i64, f64)Expand description
Parity contract with
sc_neurocore.neurons.models.ermentrout_kopell_map_neuron.ErmentroutKopellMapNeuron.simulate:
for the same parameters and constant input the returned theta trace,
upward-crossing spike count, and final theta state match the Python
reference bit-for-bit on a shared libm (the only transcendental is cos,
and the non-chaotic phase flow does not amplify ULP differences). This is a
one-dimensional phase map, so there is no second state.