Struct lnkit::prelude::PermutationSequence [−][src]
pub struct PermutationSequence<D> where
D: Dim,
DefaultAllocator: Allocator<(usize, usize), D, Const<1_usize>>, { /* fields omitted */ }
A sequence of row or column permutations.
Implementations
impl<D> PermutationSequence<D> where
D: DimName,
DefaultAllocator: Allocator<(usize, usize), D, Const<1_usize>>,
[src]
impl<D> PermutationSequence<D> where
D: DimName,
DefaultAllocator: Allocator<(usize, usize), D, Const<1_usize>>,
[src]pub fn identity() -> PermutationSequence<D>
[src]
Creates a new statically-allocated sequence of D
identity permutations.
impl PermutationSequence<Dynamic> where
DefaultAllocator: Allocator<(usize, usize), Dynamic, Const<1_usize>>,
[src]
impl PermutationSequence<Dynamic> where
DefaultAllocator: Allocator<(usize, usize), Dynamic, Const<1_usize>>,
[src]pub fn identity(n: usize) -> PermutationSequence<Dynamic>
[src]
Creates a new dynamically-allocated sequence of n
identity permutations.
impl<D> PermutationSequence<D> where
D: Dim,
DefaultAllocator: Allocator<(usize, usize), D, Const<1_usize>>,
[src]
impl<D> PermutationSequence<D> where
D: Dim,
DefaultAllocator: Allocator<(usize, usize), D, Const<1_usize>>,
[src]pub fn identity_generic(dim: D) -> PermutationSequence<D>
[src]
Creates a new sequence of D identity permutations.
pub fn append_permutation(&mut self, i: usize, i2: usize)
[src]
Adds the interchange of the row (or column) i
with the row (or column) i2
to this
sequence of permutations.
pub fn permute_rows<T, R2, C2, S2>(&self, rhs: &mut Matrix<T, R2, C2, S2>) where
T: Scalar,
R2: Dim,
S2: StorageMut<T, R2, C2>,
C2: Dim,
[src]
T: Scalar,
R2: Dim,
S2: StorageMut<T, R2, C2>,
C2: Dim,
Applies this sequence of permutations to the rows of rhs
.
pub fn inv_permute_rows<T, R2, C2, S2>(&self, rhs: &mut Matrix<T, R2, C2, S2>) where
T: Scalar,
R2: Dim,
S2: StorageMut<T, R2, C2>,
C2: Dim,
[src]
T: Scalar,
R2: Dim,
S2: StorageMut<T, R2, C2>,
C2: Dim,
Applies this sequence of permutations in reverse to the rows of rhs
.
pub fn permute_columns<T, R2, C2, S2>(&self, rhs: &mut Matrix<T, R2, C2, S2>) where
T: Scalar,
R2: Dim,
S2: StorageMut<T, R2, C2>,
C2: Dim,
[src]
T: Scalar,
R2: Dim,
S2: StorageMut<T, R2, C2>,
C2: Dim,
Applies this sequence of permutations to the columns of rhs
.
pub fn inv_permute_columns<T, R2, C2, S2>(
&self,
rhs: &mut Matrix<T, R2, C2, S2>
) where
T: Scalar,
R2: Dim,
S2: StorageMut<T, R2, C2>,
C2: Dim,
[src]
&self,
rhs: &mut Matrix<T, R2, C2, S2>
) where
T: Scalar,
R2: Dim,
S2: StorageMut<T, R2, C2>,
C2: Dim,
Applies this sequence of permutations in reverse to the columns of rhs
.
pub fn len(&self) -> usize
[src]
The number of non-identity permutations applied by this sequence.
pub fn is_empty(&self) -> bool
[src]
Returns true if the permutation sequence contains no elements.
pub fn determinant<T>(&self) -> T where
T: One + ClosedNeg,
[src]
T: One + ClosedNeg,
The determinant of the matrix corresponding to this permutation.
Trait Implementations
impl<D> Clone for PermutationSequence<D> where
D: Clone + Dim,
DefaultAllocator: Allocator<(usize, usize), D, Const<1_usize>>,
[src]
impl<D> Clone for PermutationSequence<D> where
D: Clone + Dim,
DefaultAllocator: Allocator<(usize, usize), D, Const<1_usize>>,
[src]pub fn clone(&self) -> PermutationSequence<D>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<D> Copy for PermutationSequence<D> where
D: Dim,
DefaultAllocator: Allocator<(usize, usize), D, Const<1_usize>>,
Matrix<(usize, usize), D, Const<1_usize>, <DefaultAllocator as Allocator<(usize, usize), D, Const<1_usize>>>::Buffer>: Copy,
[src]
impl<D> Copy for PermutationSequence<D> where
D: Dim,
DefaultAllocator: Allocator<(usize, usize), D, Const<1_usize>>,
Matrix<(usize, usize), D, Const<1_usize>, <DefaultAllocator as Allocator<(usize, usize), D, Const<1_usize>>>::Buffer>: Copy,
[src]impl<D> Debug for PermutationSequence<D> where
D: Debug + Dim,
DefaultAllocator: Allocator<(usize, usize), D, Const<1_usize>>,
[src]
impl<D> Debug for PermutationSequence<D> where
D: Debug + Dim,
DefaultAllocator: Allocator<(usize, usize), D, Const<1_usize>>,
[src]impl<'de, D> Deserialize<'de> for PermutationSequence<D> where
D: Dim,
DefaultAllocator: Allocator<(usize, usize), D, Const<1_usize>>,
DefaultAllocator: Allocator<(usize, usize), D, Const<1_usize>>,
Matrix<(usize, usize), D, Const<1_usize>, <DefaultAllocator as Allocator<(usize, usize), D, Const<1_usize>>>::Buffer>: Deserialize<'de>,
[src]
impl<'de, D> Deserialize<'de> for PermutationSequence<D> where
D: Dim,
DefaultAllocator: Allocator<(usize, usize), D, Const<1_usize>>,
DefaultAllocator: Allocator<(usize, usize), D, Const<1_usize>>,
Matrix<(usize, usize), D, Const<1_usize>, <DefaultAllocator as Allocator<(usize, usize), D, Const<1_usize>>>::Buffer>: Deserialize<'de>,
[src]pub fn deserialize<__D>(
__deserializer: __D
) -> Result<PermutationSequence<D>, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
[src]
__deserializer: __D
) -> Result<PermutationSequence<D>, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
impl<D> Serialize for PermutationSequence<D> where
D: Dim,
DefaultAllocator: Allocator<(usize, usize), D, Const<1_usize>>,
DefaultAllocator: Allocator<(usize, usize), D, Const<1_usize>>,
Matrix<(usize, usize), D, Const<1_usize>, <DefaultAllocator as Allocator<(usize, usize), D, Const<1_usize>>>::Buffer>: Serialize,
[src]
impl<D> Serialize for PermutationSequence<D> where
D: Dim,
DefaultAllocator: Allocator<(usize, usize), D, Const<1_usize>>,
DefaultAllocator: Allocator<(usize, usize), D, Const<1_usize>>,
Matrix<(usize, usize), D, Const<1_usize>, <DefaultAllocator as Allocator<(usize, usize), D, Const<1_usize>>>::Buffer>: Serialize,
[src]pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
[src]
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
Auto Trait Implementations
impl<D> !RefUnwindSafe for PermutationSequence<D>
impl<D> !RefUnwindSafe for PermutationSequence<D>
impl<D> !Send for PermutationSequence<D>
impl<D> !Send for PermutationSequence<D>
impl<D> !Sync for PermutationSequence<D>
impl<D> !Sync for PermutationSequence<D>
impl<D> !Unpin for PermutationSequence<D>
impl<D> !Unpin for PermutationSequence<D>
impl<D> !UnwindSafe for PermutationSequence<D>
impl<D> !UnwindSafe for PermutationSequence<D>
Blanket Implementations
impl<T, U> Cast<U> for T where
U: FromCast<T>,
impl<T, U> Cast<U> for T where
U: FromCast<T>,
pub fn cast(self) -> U
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
impl<T> FromBits<T> for T
impl<T> FromBits<T> for T
pub fn from_bits(t: T) -> T
impl<T> FromCast<T> for T
impl<T> FromCast<T> for T
pub fn from_cast(t: T) -> T
impl<T, U> IntoBits<U> for T where
U: FromBits<T>,
impl<T, U> IntoBits<U> for T where
U: FromBits<T>,
pub fn into_bits(self) -> U
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
pub fn to_subset(&self) -> Option<SS>
pub fn is_in_subset(&self) -> bool
pub fn to_subset_unchecked(&self) -> SS
pub fn from_subset(element: &SS) -> SP
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,