pub struct SCFourStateGLIFNeuron {Show 17 fields
pub v: f64,
pub theta: f64,
pub theta_inf: f64,
pub i_asc1: f64,
pub i_asc2: f64,
pub v_rest: f64,
pub v_reset: f64,
pub tau_m: f64,
pub tau_theta: f64,
pub tau_asc1: f64,
pub tau_asc2: f64,
pub a_theta: f64,
pub delta_theta: f64,
pub r_asc1: f64,
pub r_asc2: f64,
pub resistance: f64,
pub dt: f64,
}Expand description
Historical SC-NeuroCore four-state adaptive-threshold recurrence.
Fields§
§v: f64§theta: f64§theta_inf: f64§i_asc1: f64§i_asc2: f64§v_rest: f64§v_reset: f64§tau_m: f64§tau_theta: f64§tau_asc1: f64§tau_asc2: f64§a_theta: f64§delta_theta: f64§r_asc1: f64§r_asc2: f64§resistance: f64§dt: f64Implementations§
Source§impl SCFourStateGLIFNeuron
impl SCFourStateGLIFNeuron
pub fn new() -> Self
fn finite(values: &[f64]) -> bool
fn valid(&self) -> bool
fn derivatives(&self, state: [f64; 4], current: f64) -> [f64; 4]
fn add_scaled(state: [f64; 4], slope: [f64; 4], scale: f64) -> [f64; 4]
fn candidate(&self, current: f64) -> Option<(Self, i32)>
pub fn try_step(&mut self, current: f64) -> Option<i32>
pub fn step(&mut self, current: f64) -> i32
pub fn try_simulate( &mut self, n_steps: usize, current: f64, ) -> Option<(Vec<f64>, i64)>
pub fn reset(&mut self)
Trait Implementations§
Source§impl Clone for SCFourStateGLIFNeuron
impl Clone for SCFourStateGLIFNeuron
Source§impl Debug for SCFourStateGLIFNeuron
impl Debug for SCFourStateGLIFNeuron
Auto Trait Implementations§
impl Freeze for SCFourStateGLIFNeuron
impl RefUnwindSafe for SCFourStateGLIFNeuron
impl Send for SCFourStateGLIFNeuron
impl Sync for SCFourStateGLIFNeuron
impl Unpin for SCFourStateGLIFNeuron
impl UnsafeUnpin for SCFourStateGLIFNeuron
impl UnwindSafe for SCFourStateGLIFNeuron
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.