pub struct QuadraticIFNeuron {
pub v: f64,
pub v_reset: f64,
pub v_peak: f64,
pub dt: f64,
pub source_profile: bool,
}Expand description
Quadratic Integrate-and-Fire — canonical Type-I excitability. dv/dt = v² + I, reset at v_peak.
Fields§
§v: f64§v_reset: f64§v_peak: f64§dt: f64§source_profile: boolImplementations§
Source§impl QuadraticIFNeuron
impl QuadraticIFNeuron
pub fn new(v_reset: f64, v_peak: f64, dt: f64) -> Self
Sourcepub fn latham_2000() -> Self
pub fn latham_2000() -> Self
Construct the normalized numerical profile from Latham et al. (2000).
fn valid_numeric_contract(&self) -> bool
pub fn try_step(&mut self, current: f64) -> Result<i32, &'static str>
pub fn step(&mut self, current: f64) -> i32
Sourcepub fn simulate_complete(
&self,
n_steps: usize,
current: f64,
) -> Result<(Vec<f64>, Vec<u8>, f64), &'static str>
pub fn simulate_complete( &self, n_steps: usize, current: f64, ) -> Result<(Vec<f64>, Vec<u8>, f64), &'static str>
Execute a complete failure-atomic batch against a cloned state.
pub fn reset(&mut self)
fn exact_candidate(&self, current: f64) -> (f64, bool)
Trait Implementations§
Source§impl Clone for QuadraticIFNeuron
impl Clone for QuadraticIFNeuron
Source§impl Debug for QuadraticIFNeuron
impl Debug for QuadraticIFNeuron
Auto Trait Implementations§
impl Freeze for QuadraticIFNeuron
impl RefUnwindSafe for QuadraticIFNeuron
impl Send for QuadraticIFNeuron
impl Sync for QuadraticIFNeuron
impl Unpin for QuadraticIFNeuron
impl UnsafeUnpin for QuadraticIFNeuron
impl UnwindSafe for QuadraticIFNeuron
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.