pub struct RowOperation {
pub family: RowFamily,
pub addend: u8,
}Expand description
A total affine/reversal operation on a strict tone row.
The addend is the affine constant in x -> x + addend for P/R and
x -> -x + addend for I/RI. Values are reduced modulo twelve when the
operation is applied, so even a struct literal containing an arbitrary u8
remains total.
Fields§
§family: RowFamilyPrime, inversion, retrograde, or retrograde-inversion family.
addend: u8Affine addend, interpreted modulo twelve.
Implementations§
Source§impl RowOperation
impl RowOperation
Sourcepub const fn new(family: RowFamily, addend: u8) -> RowOperation
pub const fn new(family: RowFamily, addend: u8) -> RowOperation
Constructs a row operation with a canonical modulo-twelve addend.
Sourcepub const fn normalized(self) -> RowOperation
pub const fn normalized(self) -> RowOperation
Returns the canonical operation identity with its addend reduced modulo twelve.
Sourcepub const fn inverse(self) -> RowOperation
pub const fn inverse(self) -> RowOperation
Returns the exact inverse operation.
Trait Implementations§
Source§impl Clone for RowOperation
impl Clone for RowOperation
Source§fn clone(&self) -> RowOperation
fn clone(&self) -> RowOperation
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for RowOperation
Source§impl Debug for RowOperation
impl Debug for RowOperation
Source§impl Display for RowOperation
impl Display for RowOperation
impl Eq for RowOperation
Source§impl Hash for RowOperation
impl Hash for RowOperation
Source§impl PartialEq for RowOperation
impl PartialEq for RowOperation
impl StructuralPartialEq for RowOperation
Auto Trait Implementations§
impl Freeze for RowOperation
impl RefUnwindSafe for RowOperation
impl Send for RowOperation
impl Sync for RowOperation
impl Unpin for RowOperation
impl UnsafeUnpin for RowOperation
impl UnwindSafe for RowOperation
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
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
Compare self to
key and return true if they are equal.Source§impl<T> FingerprintValue for Twhere
T: Hash,
impl<T> FingerprintValue for Twhere
T: Hash,
Source§fn incremental_fingerprint(&self) -> ValueFingerprint
fn incremental_fingerprint(&self) -> ValueFingerprint
Returns a compact value identity for incremental cutoff.
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