pub struct DPINeuron {Show 18 fields
pub i_mem: f64,
pub i_ahp: f64,
pub refractory_time: f64,
pub i_threshold: f64,
pub i_reset: f64,
pub i_rest: f64,
pub i_tau: f64,
pub i_g: f64,
pub i_tau_ahp: f64,
pub i_ga: f64,
pub i_spike: f64,
pub i_0: f64,
pub kappa: f64,
pub alpha: f64,
pub tau: f64,
pub tau_ahp: f64,
pub refractory_period: f64,
pub dt: f64,
}Fields§
§i_mem: f64§i_ahp: f64§refractory_time: f64§i_threshold: f64§i_reset: f64§i_rest: f64§i_tau: f64§i_g: f64§i_tau_ahp: f64§i_ga: f64§i_spike: f64§i_0: f64§kappa: f64§alpha: f64§tau: f64§tau_ahp: f64§refractory_period: f64§dt: f64Implementations§
Source§impl DPINeuron
impl DPINeuron
pub fn new() -> Self
fn valid(&self) -> bool
fn sigmoid(value: f64) -> f64
fn feedback_current(&self) -> f64
fn step_checked(&mut self, current: f64) -> Result<u8, &'static str>
Sourcepub fn step(&mut self, current: f64) -> i32
pub fn step(&mut self, current: f64) -> i32
Advance one compatibility scalar step.
Invalid state or arithmetic leaves the instance unchanged and returns
zero. Use Self::simulate_complete when rejection must be observable.
Sourcepub fn simulate_complete(
&mut self,
n_steps: usize,
current: f64,
) -> Result<(Vec<f64>, Vec<f64>, Vec<f64>, Vec<u8>), &'static str>
pub fn simulate_complete( &mut self, n_steps: usize, current: f64, ) -> Result<(Vec<f64>, Vec<f64>, Vec<f64>, Vec<u8>), &'static str>
Return aligned state and event traces and commit only a valid full run.
pub fn reset(&mut self)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DPINeuron
impl RefUnwindSafe for DPINeuron
impl Send for DPINeuron
impl Sync for DPINeuron
impl Unpin for DPINeuron
impl UnsafeUnpin for DPINeuron
impl UnwindSafe for DPINeuron
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.