Struct rusty_perm::Perm [−][src]
Generic permutation data structure.
Implementations
impl<const SIZE: usize> Perm<Static<SIZE>>
[src]
pub fn identity() -> Self
[src]
pub fn swap(first: usize, second: usize) -> Option<Self>
[src]
pub fn cycle() -> Self
[src]
pub fn reverse_cycle() -> Self
[src]
pub fn permute_indices(&self, perm: &PermS<SIZE>) -> Self
[src]
pub fn conjugate_with(&self, other: &PermS<SIZE>) -> Self
[src]
pub fn to_size<const NEW_SIZE: usize>(&self) -> Option<PermS<NEW_SIZE>>
[src]
impl Perm<Static<0_usize>>
[src]
impl Perm<Static<1_usize>>
[src]
impl Perm<Static<2_usize>>
[src]
impl Perm<Dynamic>
[src]
pub fn empty() -> Self
[src]
pub fn unit() -> Self
[src]
pub fn swap(size: usize, first: usize, second: usize) -> Option<Self>
[src]
pub fn identity(size: usize) -> Self
[src]
pub fn cycle(size: usize) -> Self
[src]
pub fn reverse_cycle(size: usize) -> Self
[src]
pub fn permute_indices(&self, perm: &PermD) -> Option<Self>
[src]
pub fn conjugate_with(&self, other: &PermD) -> Option<Self>
[src]
pub fn to_size(&self, new_size: usize) -> Option<PermD>
[src]
pub fn into_static<const SIZE: usize>(self) -> Option<PermS<SIZE>>
[src]
impl<const SIZE: usize> Perm<Static<SIZE>>
[src]
pub fn into_dynamic(self) -> PermD
[src]
Trait Implementations
impl<S: Clone> Clone for Perm<S> where
S: PermSize,
S::Container: Clone,
[src]
S: PermSize,
S::Container: Clone,
impl<S: Debug> Debug for Perm<S> where
S: PermSize,
S::Container: Debug,
[src]
S: PermSize,
S::Container: Debug,
impl<S: Eq> Eq for Perm<S> where
S: PermSize,
S::Container: Eq,
[src]
S: PermSize,
S::Container: Eq,
impl<S: Hash> Hash for Perm<S> where
S: PermSize,
S::Container: Hash,
[src]
S: PermSize,
S::Container: Hash,
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<const SIZE: usize> Mul<&'_ Perm<Dynamic>> for &PermS<SIZE>
[src]
type Output = PermS<SIZE>
The resulting type after applying the *
operator.
fn mul(self, other: &PermD) -> Self::Output
[src]
impl Mul<&'_ Perm<Dynamic>> for &PermD
[src]
type Output = PermD
The resulting type after applying the *
operator.
fn mul(self, other: &PermD) -> Self::Output
[src]
impl<const SIZE: usize> Mul<&'_ Perm<Static<SIZE>>> for &PermS<SIZE>
[src]
type Output = PermS<SIZE>
The resulting type after applying the *
operator.
fn mul(self, other: &PermS<SIZE>) -> Self::Output
[src]
impl<const SIZE: usize> Mul<&'_ Perm<Static<SIZE>>> for &PermD
[src]
type Output = PermS<SIZE>
The resulting type after applying the *
operator.
fn mul(self, other: &PermS<SIZE>) -> Self::Output
[src]
impl<SL, SR> PartialEq<Perm<SR>> for Perm<SL> where
SL: PermSize,
SR: PermSize,
[src]
SL: PermSize,
SR: PermSize,
fn eq(&self, other: &Perm<SR>) -> bool
[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl<const SIZE: usize> PermProduct<Perm<Dynamic>> for PermS<SIZE>
[src]
impl PermProduct<Perm<Dynamic>> for PermD
[src]
impl<const SIZE: usize> PermProduct<Perm<Static<SIZE>>> for PermS<SIZE>
[src]
impl<const SIZE: usize> PermProduct<Perm<Static<SIZE>>> for PermD
[src]
impl<'a, const SIZE: usize> Product<&'a Perm<Dynamic>> for Option<PermS<SIZE>>
[src]
impl<'a> Product<&'a Perm<Dynamic>> for Option<PermD>
[src]
impl<'a, const SIZE: usize> Product<&'a Perm<Static<SIZE>>> for PermS<SIZE>
[src]
impl<'a, const SIZE: usize> Product<&'a Perm<Static<SIZE>>> for PermD
[src]
impl<const SIZE: usize> Product<Perm<Dynamic>> for Option<PermS<SIZE>>
[src]
impl Product<Perm<Dynamic>> for Option<PermD>
[src]
impl<const SIZE: usize> Product<Perm<Static<SIZE>>> for PermS<SIZE>
[src]
impl<const SIZE: usize> Product<Perm<Static<SIZE>>> for PermD
[src]
impl<S> StructuralEq for Perm<S> where
S: PermSize,
[src]
S: PermSize,
Auto Trait Implementations
impl<S> RefUnwindSafe for Perm<S> where
<S as PermSize>::Container: RefUnwindSafe,
[src]
<S as PermSize>::Container: RefUnwindSafe,
impl<S> Send for Perm<S> where
<S as PermSize>::Container: Send,
[src]
<S as PermSize>::Container: Send,
impl<S> Sync for Perm<S> where
<S as PermSize>::Container: Sync,
[src]
<S as PermSize>::Container: Sync,
impl<S> Unpin for Perm<S> where
<S as PermSize>::Container: Unpin,
[src]
<S as PermSize>::Container: Unpin,
impl<S> UnwindSafe for Perm<S> where
<S as PermSize>::Container: UnwindSafe,
[src]
<S as PermSize>::Container: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut Tⓘ
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,