fn py_ping_step<'py>(
_py: Python<'py>,
v_e: PyReadwriteArray1<'_, f64>,
g_ampa_e: PyReadwriteArray1<'_, f64>,
g_gaba_e: PyReadwriteArray1<'_, f64>,
refrac_e: PyReadwriteArray1<'_, f64>,
i_drive_e: PyReadonlyArray1<'_, f64>,
xi_e: PyReadonlyArray1<'_, f64>,
spikes_e_out: PyReadwriteArray1<'_, u8>,
v_i: PyReadwriteArray1<'_, f64>,
g_ampa_i: PyReadwriteArray1<'_, f64>,
g_gaba_i: PyReadwriteArray1<'_, f64>,
refrac_i: PyReadwriteArray1<'_, f64>,
i_drive_i: PyReadonlyArray1<'_, f64>,
xi_i: PyReadonlyArray1<'_, f64>,
spikes_i_out: PyReadwriteArray1<'_, u8>,
e_l: f64,
e_ampa: f64,
e_gaba: f64,
g_l: f64,
c_m: f64,
v_threshold: f64,
v_reset: f64,
t_refrac: f64,
tau_ampa: f64,
tau_gaba: f64,
sigma_e: f64,
sigma_i: f64,
dt: f64,
) -> PyResult<(u32, u32)>Expand description
Advance excitatory and inhibitory PING populations by one time step.
The caller supplies per-instance state arrays and pre-drawn noise samples so Python and Rust preserve the same seeded random sequence. State and spike arrays are updated in place; the return value contains the two population spike counts needed for the caller’s conductance update.