Enum DirectionStrategy
#[non_exhaustive]pub enum DirectionStrategy {
Hammersley,
Uniform,
}Expand description
How to generate the n-dimensional direction vectors used by MEMD.
The Rehman-Mandic 2010 paper recommends a low-discrepancy
(Hammersley/Halton) sequence over independent uniform sampling: it reaches
the same projection coverage with fewer directions and is the published
default. DirectionStrategy::Uniform is provided primarily for
reproducibility comparisons.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Hammersley
Deterministic Hammersley point sequence mapped to the unit sphere via hyperspherical coordinates (Fang & Wang 1994; Rehman & Mandic 2010 §3). No RNG involved.
Uniform
Independent uniform samples on the unit sphere (Gaussian draw,
normalized). Driven by MEMDConfig::random_seed.
Trait Implementations§
§impl Clone for DirectionStrategy
impl Clone for DirectionStrategy
§fn clone(&self) -> DirectionStrategy
fn clone(&self) -> DirectionStrategy
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for DirectionStrategy
impl Debug for DirectionStrategy
§impl Default for DirectionStrategy
impl Default for DirectionStrategy
§fn default() -> DirectionStrategy
fn default() -> DirectionStrategy
Returns the “default value” for a type. Read more
§impl PartialEq for DirectionStrategy
impl PartialEq for DirectionStrategy
impl Copy for DirectionStrategy
impl Eq for DirectionStrategy
impl StructuralPartialEq for DirectionStrategy
Auto Trait Implementations§
impl Freeze for DirectionStrategy
impl RefUnwindSafe for DirectionStrategy
impl Send for DirectionStrategy
impl Sync for DirectionStrategy
impl Unpin for DirectionStrategy
impl UnwindSafe for DirectionStrategy
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)§impl<T> IntoEither for T
impl<T> IntoEither for T
§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 more§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.