pub struct RulkovMapNeuron {
pub x: f64,
pub y: f64,
pub alpha: f64,
pub sigma: f64,
pub mu: f64,
}Expand description
Rulkov (2002) piecewise nonlinear map for fast/slow bursting.
Fields§
§x: f64§y: f64§alpha: f64§sigma: f64§mu: f64Implementations§
Source§impl RulkovMapNeuron
impl RulkovMapNeuron
pub fn new() -> Self
fn valid_numeric_contract(&self) -> bool
fn candidate(&self, current: f64) -> Option<(f64, f64, i32)>
Sourcepub fn try_step(&mut self, current: f64) -> Option<i32>
pub fn try_step(&mut self, current: f64) -> Option<i32>
Checked source update; an invalid candidate leaves state unchanged.
Sourcepub fn step(&mut self, current: f64) -> i32
pub fn step(&mut self, current: f64) -> i32
Network-runner update; invalid input emits no event and preserves state.
Sourcepub fn simulate(&mut self, n_steps: usize, current: f64) -> (Vec<f64>, i64)
pub fn simulate(&mut self, n_steps: usize, current: f64) -> (Vec<f64>, i64)
Run n_steps under a constant input, returning the x trace and the
reset-branch event count. Reuses step so the trace is bit-identical to
the per-step path and to the Python reference. The final state is left
in self.x / self.y.
Sourcepub fn try_simulate(
&mut self,
n_steps: usize,
current: f64,
) -> Option<(Vec<f64>, i64)>
pub fn try_simulate( &mut self, n_steps: usize, current: f64, ) -> Option<(Vec<f64>, i64)>
Run a failure-atomic source batch, returning None on any invalid stage.
pub fn reset(&mut self)
Trait Implementations§
Source§impl Clone for RulkovMapNeuron
impl Clone for RulkovMapNeuron
Source§impl Debug for RulkovMapNeuron
impl Debug for RulkovMapNeuron
Auto Trait Implementations§
impl Freeze for RulkovMapNeuron
impl RefUnwindSafe for RulkovMapNeuron
impl Send for RulkovMapNeuron
impl Sync for RulkovMapNeuron
impl Unpin for RulkovMapNeuron
impl UnsafeUnpin for RulkovMapNeuron
impl UnwindSafe for RulkovMapNeuron
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.