pub struct GLIFNeuron {Show 24 fields
pub v: f64,
pub theta_spike: f64,
pub i_asc1: f64,
pub i_asc2: f64,
pub theta_voltage: f64,
pub refractory_remaining: f64,
pub e_l: f64,
pub capacitance: f64,
pub resistance: f64,
pub theta_inf: f64,
pub b_spike: f64,
pub b_voltage: f64,
pub a_voltage: f64,
pub k_asc1: f64,
pub k_asc2: f64,
pub f_v: f64,
pub delta_v: f64,
pub delta_theta_spike: f64,
pub f_asc1: f64,
pub f_asc2: f64,
pub delta_i_asc1: f64,
pub delta_i_asc2: f64,
pub refractory_period: f64,
pub dt: f64,
}Expand description
Teeter GLIF5 membrane, threshold, after-spike-current, and reset state.
Fields§
§v: f64§theta_spike: f64§i_asc1: f64§i_asc2: f64§theta_voltage: f64§refractory_remaining: f64§e_l: f64§capacitance: f64§resistance: f64§theta_inf: f64§b_spike: f64§b_voltage: f64§a_voltage: f64§k_asc1: f64§k_asc2: f64§f_v: f64§delta_v: f64§delta_theta_spike: f64§f_asc1: f64§f_asc2: f64§delta_i_asc1: f64§delta_i_asc2: f64§refractory_period: f64§dt: f64Implementations§
Source§impl GLIFNeuron
impl GLIFNeuron
fn finite(values: &[f64]) -> bool
fn valid(&self) -> bool
fn decay(rate: f64, dt: f64) -> f64
fn exponential_convolution(decay_rate: f64, forcing_rate: f64, dt: f64) -> f64
fn candidate(&self, current: f64) -> Option<(Self, i32)>
Sourcepub fn try_step(&mut self, current: f64) -> Option<i32>
pub fn try_step(&mut self, current: f64) -> Option<i32>
Checked source update; invalid input leaves state unchanged.
Sourcepub fn step(&mut self, current: f64) -> i32
pub fn step(&mut self, current: f64) -> i32
Network-runner-compatible update with fail-closed invalid-input behavior.
Trait Implementations§
Source§impl Clone for GLIFNeuron
impl Clone for GLIFNeuron
Source§impl Debug for GLIFNeuron
impl Debug for GLIFNeuron
Auto Trait Implementations§
impl Freeze for GLIFNeuron
impl RefUnwindSafe for GLIFNeuron
impl Send for GLIFNeuron
impl Sync for GLIFNeuron
impl Unpin for GLIFNeuron
impl UnsafeUnpin for GLIFNeuron
impl UnwindSafe for GLIFNeuron
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.