pub struct LapicqueNeuron {
pub v: f64,
pub v_rest: f64,
pub v_reset: f64,
pub v_threshold: f64,
pub tau: f64,
pub resistance: f64,
pub dt: f64,
pub capacitance: f64,
pub series_resistance: f64,
pub polarization_resistance: f64,
pub excited: bool,
pub source_profile: bool,
}Expand description
Profile-explicit Lapicque state used by the production engine.
Fields§
§v: f64§v_rest: f64§v_reset: f64§v_threshold: f64§tau: f64§resistance: f64§dt: f64§capacitance: f64§series_resistance: f64§polarization_resistance: f64§excited: bool§source_profile: boolImplementations§
Source§impl LapicqueNeuron
impl LapicqueNeuron
Sourcepub fn new(tau: f64, resistance: f64, threshold: f64, dt: f64) -> Self
pub fn new(tau: f64, resistance: f64, threshold: f64, dt: f64) -> Self
Construct the preserved SC exact-flow, hard-reset LIF profile.
Sourcepub fn lapicque_1907() -> Self
pub fn lapicque_1907() -> Self
Construct the normalized, one-shot Lapicque 1907 source profile.
Sourcepub fn try_step(&mut self, drive: f64) -> Result<i32, &'static str>
pub fn try_step(&mut self, drive: f64) -> Result<i32, &'static str>
Advance one exact constant-drive step without conflating errors with silence.
Sourcepub fn step(&mut self, drive: f64) -> i32
pub fn step(&mut self, drive: f64) -> i32
Compatibility dispatch for NetworkRunner’s uniform non-throwing trait.
Trait Implementations§
Source§impl Clone for LapicqueNeuron
impl Clone for LapicqueNeuron
Auto Trait Implementations§
impl Freeze for LapicqueNeuron
impl RefUnwindSafe for LapicqueNeuron
impl Send for LapicqueNeuron
impl Sync for LapicqueNeuron
impl Unpin for LapicqueNeuron
impl UnsafeUnpin for LapicqueNeuron
impl UnwindSafe for LapicqueNeuron
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.