Struct rust_pathtracer::prelude::PermutationSequence
source · pub struct PermutationSequence<D>where
D: Dim,
DefaultAllocator: Allocator<(usize, usize), D, Const<1>>,{ /* private fields */ }Expand description
A sequence of row or column permutations.
Implementations§
source§impl<D> PermutationSequence<D>where
D: DimName,
DefaultAllocator: Allocator<(usize, usize), D, Const<1>>,
impl<D> PermutationSequence<D>where D: DimName, DefaultAllocator: Allocator<(usize, usize), D, Const<1>>,
sourcepub fn identity() -> PermutationSequence<D>
pub fn identity() -> PermutationSequence<D>
Creates a new statically-allocated sequence of D identity permutations.
source§impl PermutationSequence<Dyn>where
DefaultAllocator: Allocator<(usize, usize), Dyn, Const<1>>,
impl PermutationSequence<Dyn>where DefaultAllocator: Allocator<(usize, usize), Dyn, Const<1>>,
sourcepub fn identity(n: usize) -> PermutationSequence<Dyn>
pub fn identity(n: usize) -> PermutationSequence<Dyn>
Creates a new dynamically-allocated sequence of n identity permutations.
source§impl<D> PermutationSequence<D>where
D: Dim,
DefaultAllocator: Allocator<(usize, usize), D, Const<1>>,
impl<D> PermutationSequence<D>where D: Dim, DefaultAllocator: Allocator<(usize, usize), D, Const<1>>,
sourcepub fn identity_generic(dim: D) -> PermutationSequence<D>
pub fn identity_generic(dim: D) -> PermutationSequence<D>
Creates a new sequence of D identity permutations.
sourcepub fn append_permutation(&mut self, i: usize, i2: usize)
pub fn append_permutation(&mut self, i: usize, i2: usize)
Adds the interchange of the row (or column) i with the row (or column) i2 to this
sequence of permutations.
sourcepub fn permute_rows<T, R2, C2, S2>(&self, rhs: &mut Matrix<T, R2, C2, S2>)where
T: Scalar,
R2: Dim,
C2: Dim,
S2: StorageMut<T, R2, C2>,
pub fn permute_rows<T, R2, C2, S2>(&self, rhs: &mut Matrix<T, R2, C2, S2>)where T: Scalar, R2: Dim, C2: Dim, S2: StorageMut<T, R2, C2>,
Applies this sequence of permutations to the rows of rhs.
sourcepub fn inv_permute_rows<T, R2, C2, S2>(&self, rhs: &mut Matrix<T, R2, C2, S2>)where
T: Scalar,
R2: Dim,
C2: Dim,
S2: StorageMut<T, R2, C2>,
pub fn inv_permute_rows<T, R2, C2, S2>(&self, rhs: &mut Matrix<T, R2, C2, S2>)where T: Scalar, R2: Dim, C2: Dim, S2: StorageMut<T, R2, C2>,
Applies this sequence of permutations in reverse to the rows of rhs.
sourcepub fn permute_columns<T, R2, C2, S2>(&self, rhs: &mut Matrix<T, R2, C2, S2>)where
T: Scalar,
R2: Dim,
C2: Dim,
S2: StorageMut<T, R2, C2>,
pub fn permute_columns<T, R2, C2, S2>(&self, rhs: &mut Matrix<T, R2, C2, S2>)where T: Scalar, R2: Dim, C2: Dim, S2: StorageMut<T, R2, C2>,
Applies this sequence of permutations to the columns of rhs.
sourcepub fn inv_permute_columns<T, R2, C2, S2>(&self, rhs: &mut Matrix<T, R2, C2, S2>)where
T: Scalar,
R2: Dim,
C2: Dim,
S2: StorageMut<T, R2, C2>,
pub fn inv_permute_columns<T, R2, C2, S2>(&self, rhs: &mut Matrix<T, R2, C2, S2>)where T: Scalar, R2: Dim, C2: Dim, S2: StorageMut<T, R2, C2>,
Applies this sequence of permutations in reverse to the columns of rhs.
sourcepub fn determinant<T>(&self) -> Twhere
T: One + ClosedNeg,
pub fn determinant<T>(&self) -> Twhere T: One + ClosedNeg,
The determinant of the matrix corresponding to this permutation.
Trait Implementations§
source§impl<D> Clone for PermutationSequence<D>where
D: Clone + Dim,
DefaultAllocator: Allocator<(usize, usize), D, Const<1>>,
impl<D> Clone for PermutationSequence<D>where D: Clone + Dim, DefaultAllocator: Allocator<(usize, usize), D, Const<1>>,
source§fn clone(&self) -> PermutationSequence<D>
fn clone(&self) -> PermutationSequence<D>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl<D> Debug for PermutationSequence<D>where
D: Debug + Dim,
DefaultAllocator: Allocator<(usize, usize), D, Const<1>>,
impl<D> Debug for PermutationSequence<D>where D: Debug + Dim, DefaultAllocator: Allocator<(usize, usize), D, Const<1>>,
impl<D> Copy for PermutationSequence<D>where D: Dim, DefaultAllocator: Allocator<(usize, usize), D, Const<1>>, Matrix<(usize, usize), D, Const<1>, <DefaultAllocator as Allocator<(usize, usize), D, Const<1>>>::Buffer>: Copy,
Auto Trait Implementations§
impl<D> !RefUnwindSafe for PermutationSequence<D>
impl<D> !Send for PermutationSequence<D>
impl<D> !Sync for PermutationSequence<D>
impl<D> !Unpin for PermutationSequence<D>
impl<D> !UnwindSafe for PermutationSequence<D>
Blanket Implementations§
§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.