pub struct SCExponentialTwoCompartmentLIF {
pub v_s: f64,
pub v_d: f64,
pub v_rest: f64,
pub v_reset: f64,
pub theta: f64,
pub tau_s: f64,
pub tau_d: f64,
pub kappa: f64,
pub dt: f64,
}Expand description
SC exponential two-compartment LIF — preserved engine recurrence.
Historical production-engine model formerly published under the
TwoCompartmentLIFNeuron name, kept verbatim as a count-neutral SC
identity with its original two-current API and hard soma reset:
V_d[t] = exp(-dt/tau_d) * V_d[t-1] + I_dend[t]
V_s[t] = exp(-dt/tau_s) * V_s[t-1] + I_soma[t] + kappa * V_d[t]
spike when V_s >= theta; V_s -> V_reset, V_d unchangedIt is structurally distinct from the Zhang et al. (2024) TC-LIF and makes no publication-exact claim.
Fields§
§v_s: f64§v_d: f64§v_rest: f64§v_reset: f64§theta: f64§tau_s: f64§tau_d: f64§kappa: f64§dt: f64Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SCExponentialTwoCompartmentLIF
impl RefUnwindSafe for SCExponentialTwoCompartmentLIF
impl Send for SCExponentialTwoCompartmentLIF
impl Sync for SCExponentialTwoCompartmentLIF
impl Unpin for SCExponentialTwoCompartmentLIF
impl UnsafeUnpin for SCExponentialTwoCompartmentLIF
impl UnwindSafe for SCExponentialTwoCompartmentLIF
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.