pub struct CoherenceGatedSystem { /* private fields */ }Expand description
Integrated coherence-gated system combining all routing mechanisms
Implementations§
Source§impl CoherenceGatedSystem
impl CoherenceGatedSystem
Sourcepub fn new(
num_modules: usize,
vector_dim: usize,
gamma_frequency: f32,
workspace_capacity: usize,
) -> Self
pub fn new( num_modules: usize, vector_dim: usize, gamma_frequency: f32, workspace_capacity: usize, ) -> Self
Create a new coherence-gated system
§Arguments
num_modules- Number of communicating modulesvector_dim- Dimension of vectors being transmittedgamma_frequency- Base oscillation frequency (Hz, typically 30-90)workspace_capacity- Global workspace capacity (typically 4-7)
Sourcepub fn step_oscillators(&mut self, dt: f32)
pub fn step_oscillators(&mut self, dt: f32)
Step oscillator dynamics forward in time
Sourcepub fn route_with_coherence(
&mut self,
message: &[f32],
sender: usize,
receivers: &[usize],
dt: f32,
) -> Vec<(usize, Vec<f32>)>
pub fn route_with_coherence( &mut self, message: &[f32], sender: usize, receivers: &[usize], dt: f32, ) -> Vec<(usize, Vec<f32>)>
Sourcepub fn workspace_contents(&self) -> Vec<Representation> ⓘ
pub fn workspace_contents(&self) -> Vec<Representation> ⓘ
Get workspace contents
Sourcepub fn compete_workspace(&mut self)
pub fn compete_workspace(&mut self)
Run workspace competition
Sourcepub fn synchronization(&self) -> f32
pub fn synchronization(&self) -> f32
Get synchronization level (order parameter)
Sourcepub fn workspace_occupancy(&self) -> f32
pub fn workspace_occupancy(&self) -> f32
Get workspace occupancy (0.0 to 1.0)
Trait Implementations§
Source§impl Clone for CoherenceGatedSystem
impl Clone for CoherenceGatedSystem
Source§fn clone(&self) -> CoherenceGatedSystem
fn clone(&self) -> CoherenceGatedSystem
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for CoherenceGatedSystem
impl RefUnwindSafe for CoherenceGatedSystem
impl Send for CoherenceGatedSystem
impl Sync for CoherenceGatedSystem
impl Unpin for CoherenceGatedSystem
impl UnwindSafe for CoherenceGatedSystem
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