pub struct SeriesTransform<A>where
A: SerialAlphabet,{ /* private fields */ }Expand description
A normalized positional and/or symbolic series transform.
Implementations§
Source§impl<A> SeriesTransform<A>where
A: SerialAlphabet,
impl<A> SeriesTransform<A>where
A: SerialAlphabet,
Sourcepub fn identity(cardinality: usize) -> SeriesTransform<A>
pub fn identity(cardinality: usize) -> SeriesTransform<A>
Constructs an identity transform for a known series cardinality.
Sourcepub fn retrograde(cardinality: usize) -> SeriesTransform<A>
pub fn retrograde(cardinality: usize) -> SeriesTransform<A>
Constructs a retrograde transform for a known series cardinality.
Sourcepub fn rotation(cardinality: usize, steps: usize) -> SeriesTransform<A>
pub fn rotation(cardinality: usize, steps: usize) -> SeriesTransform<A>
Constructs a left position rotation reduced modulo the series cardinality.
Sourcepub fn block_partition(partition: BlockPartition) -> SeriesTransform<A>
pub fn block_partition(partition: BlockPartition) -> SeriesTransform<A>
Constructs the order transform induced by an exhaustive block partition.
Sourcepub fn ordinal_permutation(order_map: OrdinalMap) -> SeriesTransform<A>
pub fn ordinal_permutation(order_map: OrdinalMap) -> SeriesTransform<A>
Constructs a transform from a prevalidated ordinal permutation.
Sourcepub fn cyclic_relabeling(
alphabet: A,
steps: usize,
) -> Result<SeriesTransform<A>, SymbolBijectionError>
pub fn cyclic_relabeling( alphabet: A, steps: usize, ) -> Result<SeriesTransform<A>, SymbolBijectionError>
Constructs a cyclic relabeling over an alphabet’s canonical order.
Sourcepub fn bijection(relabeling: SymbolBijection<A>) -> SeriesTransform<A>
pub fn bijection(relabeling: SymbolBijection<A>) -> SeriesTransform<A>
Constructs a transform from a caller-supplied validated symbol bijection.
Sourcepub fn order_map(&self) -> Option<&OrdinalMap>
pub fn order_map(&self) -> Option<&OrdinalMap>
Returns the explicit order map, or None when positions are retained.
Sourcepub fn relabeling(&self) -> Option<&SymbolBijection<A>>
pub fn relabeling(&self) -> Option<&SymbolBijection<A>>
Returns the symbolic relabeling, or None when symbols are retained.
Sourcepub fn compose(
&self,
next: &SeriesTransform<A>,
) -> Result<SeriesTransform<A>, SeriesTransformError>
pub fn compose( &self, next: &SeriesTransform<A>, ) -> Result<SeriesTransform<A>, SeriesTransformError>
Composes self followed by next into one normalized transform.
Sourcepub fn inverse(&self) -> Result<SeriesTransform<A>, SeriesTransformError>
pub fn inverse(&self) -> Result<SeriesTransform<A>, SeriesTransformError>
Returns the exact inverse transform.
Sourcepub fn canonical_form(&self) -> String
pub fn canonical_form(&self) -> String
Returns a deterministic canonical representation of the normalized maps.
Trait Implementations§
Source§impl<A> Clone for SeriesTransform<A>where
A: Clone + SerialAlphabet,
impl<A> Clone for SeriesTransform<A>where
A: Clone + SerialAlphabet,
Source§fn clone(&self) -> SeriesTransform<A>
fn clone(&self) -> SeriesTransform<A>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<A> Debug for SeriesTransform<A>where
A: Debug + SerialAlphabet,
impl<A> Debug for SeriesTransform<A>where
A: Debug + SerialAlphabet,
impl<A> Eq for SeriesTransform<A>where
A: Eq + SerialAlphabet,
Source§impl<A> PartialEq for SeriesTransform<A>where
A: PartialEq + SerialAlphabet,
impl<A> PartialEq for SeriesTransform<A>where
A: PartialEq + SerialAlphabet,
impl<A> StructuralPartialEq for SeriesTransform<A>where
A: PartialEq + SerialAlphabet,
Auto Trait Implementations§
impl<A> Freeze for SeriesTransform<A>where
A: Freeze,
impl<A> RefUnwindSafe for SeriesTransform<A>where
A: RefUnwindSafe,
impl<A> Send for SeriesTransform<A>where
A: Send,
impl<A> Sync for SeriesTransform<A>where
A: Sync,
impl<A> Unpin for SeriesTransform<A>where
A: Unpin,
impl<A> UnsafeUnpin for SeriesTransform<A>where
A: UnsafeUnpin,
impl<A> UnwindSafe for SeriesTransform<A>where
A: UnwindSafe,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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> ⓘ
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> ⓘ
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