pub struct Dyn(pub usize);
Expand description
Dim of dynamically-sized algebraic entities.
Tuple Fields§
§0: usize
Implementations§
Trait Implementations§
source§impl<T: Scalar, C: Dim> Allocator<T, Dyn, C> for DefaultAllocator
impl<T: Scalar, C: Dim> Allocator<T, Dyn, C> for DefaultAllocator
§type Buffer = VecStorage<T, Dyn, C>
type Buffer = VecStorage<T, Dyn, C>
The type of buffer this allocator can instantiate.
§type BufferUninit = VecStorage<MaybeUninit<T>, Dyn, C>
type BufferUninit = VecStorage<MaybeUninit<T>, Dyn, C>
The type of buffer with uninitialized components this allocator can instantiate.
source§fn allocate_uninit(nrows: Dyn, ncols: C) -> VecStorage<MaybeUninit<T>, Dyn, C>
fn allocate_uninit(nrows: Dyn, ncols: C) -> VecStorage<MaybeUninit<T>, Dyn, C>
Allocates a buffer with the given number of rows and columns without initializing its content.
source§unsafe fn assume_init(
uninit: VecStorage<MaybeUninit<T>, Dyn, C>
) -> VecStorage<T, Dyn, C>
unsafe fn assume_init( uninit: VecStorage<MaybeUninit<T>, Dyn, C> ) -> VecStorage<T, Dyn, C>
Assumes a data buffer to be initialized. Read more
source§fn allocate_from_iterator<I: IntoIterator<Item = T>>(
nrows: Dyn,
ncols: C,
iter: I
) -> Self::Buffer
fn allocate_from_iterator<I: IntoIterator<Item = T>>( nrows: Dyn, ncols: C, iter: I ) -> Self::Buffer
Allocates a buffer initialized with the content of the given iterator.
source§fn allocate_from_row_iterator<I: IntoIterator<Item = T>>(
nrows: R,
ncols: C,
iter: I
) -> Self::Buffer
fn allocate_from_row_iterator<I: IntoIterator<Item = T>>( nrows: R, ncols: C, iter: I ) -> Self::Buffer
Allocates a buffer initialized with the content of the given row-major order iterator.
source§impl<T: Scalar, R: DimName> Allocator<T, R, Dyn> for DefaultAllocator
impl<T: Scalar, R: DimName> Allocator<T, R, Dyn> for DefaultAllocator
§type Buffer = VecStorage<T, R, Dyn>
type Buffer = VecStorage<T, R, Dyn>
The type of buffer this allocator can instantiate.
§type BufferUninit = VecStorage<MaybeUninit<T>, R, Dyn>
type BufferUninit = VecStorage<MaybeUninit<T>, R, Dyn>
The type of buffer with uninitialized components this allocator can instantiate.
source§fn allocate_uninit(nrows: R, ncols: Dyn) -> VecStorage<MaybeUninit<T>, R, Dyn>
fn allocate_uninit(nrows: R, ncols: Dyn) -> VecStorage<MaybeUninit<T>, R, Dyn>
Allocates a buffer with the given number of rows and columns without initializing its content.
source§unsafe fn assume_init(
uninit: VecStorage<MaybeUninit<T>, R, Dyn>
) -> VecStorage<T, R, Dyn>
unsafe fn assume_init( uninit: VecStorage<MaybeUninit<T>, R, Dyn> ) -> VecStorage<T, R, Dyn>
Assumes a data buffer to be initialized. Read more
source§fn allocate_from_iterator<I: IntoIterator<Item = T>>(
nrows: R,
ncols: Dyn,
iter: I
) -> Self::Buffer
fn allocate_from_iterator<I: IntoIterator<Item = T>>( nrows: R, ncols: Dyn, iter: I ) -> Self::Buffer
Allocates a buffer initialized with the content of the given iterator.
source§fn allocate_from_row_iterator<I: IntoIterator<Item = T>>(
nrows: R,
ncols: C,
iter: I
) -> Self::Buffer
fn allocate_from_row_iterator<I: IntoIterator<Item = T>>( nrows: R, ncols: C, iter: I ) -> Self::Buffer
Allocates a buffer initialized with the content of the given row-major order iterator.
source§impl<'de> Deserialize<'de> for Dyn
impl<'de> Deserialize<'de> for Dyn
source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Dim for Dyn
impl Dim for Dyn
source§fn try_to_usize() -> Option<usize>
fn try_to_usize() -> Option<usize>
Gets the compile-time value of
Self
. Returns None
if it is not known, i.e., if Self = Dyn
.source§fn from_usize(dim: usize) -> Self
fn from_usize(dim: usize) -> Self
Builds an instance of
Self
from a run-time value. Panics if Self
is a type-level
integer and dim != Self::try_to_usize().unwrap()
.source§fn value(&self) -> usize
fn value(&self) -> usize
Gets the run-time value of
self
. For type-level integers, this is the same as
Self::try_to_usize().unwrap()
.fn is<D: Dim>() -> bool
source§impl<D: DimName> DimEq<D, Dyn> for ShapeConstraint
impl<D: DimName> DimEq<D, Dyn> for ShapeConstraint
§type Representative = D
type Representative = D
This is either equal to
D1
or D2
, always choosing the one (if any) which is a type-level
constant.source§impl<D: DimName> DimEq<Dyn, D> for ShapeConstraint
impl<D: DimName> DimEq<Dyn, D> for ShapeConstraint
§type Representative = D
type Representative = D
This is either equal to
D1
or D2
, always choosing the one (if any) which is a type-level
constant.source§impl<T, C: Dim> RawStorage<T, Dyn, C> for VecStorage<T, Dyn, C>
impl<T, C: Dim> RawStorage<T, Dyn, C> for VecStorage<T, Dyn, C>
source§fn shape(&self) -> (Dyn, C)
fn shape(&self) -> (Dyn, C)
The dimension of the matrix at run-time. Arr length of zero indicates the additive identity
element of any dimension. Must be equal to
Self::dimension()
if it is not None
.source§fn strides(&self) -> (Self::RStride, Self::CStride)
fn strides(&self) -> (Self::RStride, Self::CStride)
The spacing between consecutive row elements and consecutive column elements. Read more
source§fn is_contiguous(&self) -> bool
fn is_contiguous(&self) -> bool
Indicates whether this data buffer stores its elements contiguously. Read more
source§unsafe fn as_slice_unchecked(&self) -> &[T]
unsafe fn as_slice_unchecked(&self) -> &[T]
Retrieves the data buffer as a contiguous slice. Read more
source§fn linear_index(&self, irow: usize, icol: usize) -> usize
fn linear_index(&self, irow: usize, icol: usize) -> usize
Compute the index corresponding to the irow-th row and icol-th column of this matrix. The
index must be such that the following holds: Read more
source§fn get_address_unchecked_linear(&self, i: usize) -> *const T
fn get_address_unchecked_linear(&self, i: usize) -> *const T
Gets the address of the i-th matrix component without performing bound-checking. Read more
source§fn get_address_unchecked(&self, irow: usize, icol: usize) -> *const T
fn get_address_unchecked(&self, irow: usize, icol: usize) -> *const T
Gets the address of the i-th matrix component without performing bound-checking. Read more
source§impl<T, R: DimName> RawStorage<T, R, Dyn> for VecStorage<T, R, Dyn>
impl<T, R: DimName> RawStorage<T, R, Dyn> for VecStorage<T, R, Dyn>
source§fn shape(&self) -> (R, Dyn)
fn shape(&self) -> (R, Dyn)
The dimension of the matrix at run-time. Arr length of zero indicates the additive identity
element of any dimension. Must be equal to
Self::dimension()
if it is not None
.source§fn strides(&self) -> (Self::RStride, Self::CStride)
fn strides(&self) -> (Self::RStride, Self::CStride)
The spacing between consecutive row elements and consecutive column elements. Read more
source§fn is_contiguous(&self) -> bool
fn is_contiguous(&self) -> bool
Indicates whether this data buffer stores its elements contiguously. Read more
source§unsafe fn as_slice_unchecked(&self) -> &[T]
unsafe fn as_slice_unchecked(&self) -> &[T]
Retrieves the data buffer as a contiguous slice. Read more
source§fn linear_index(&self, irow: usize, icol: usize) -> usize
fn linear_index(&self, irow: usize, icol: usize) -> usize
Compute the index corresponding to the irow-th row and icol-th column of this matrix. The
index must be such that the following holds: Read more
source§fn get_address_unchecked_linear(&self, i: usize) -> *const T
fn get_address_unchecked_linear(&self, i: usize) -> *const T
Gets the address of the i-th matrix component without performing bound-checking. Read more
source§fn get_address_unchecked(&self, irow: usize, icol: usize) -> *const T
fn get_address_unchecked(&self, irow: usize, icol: usize) -> *const T
Gets the address of the i-th matrix component without performing bound-checking. Read more
source§impl<T, C: Dim> RawStorageMut<T, Dyn, C> for VecStorage<T, Dyn, C>
impl<T, C: Dim> RawStorageMut<T, Dyn, C> for VecStorage<T, Dyn, C>
source§unsafe fn as_mut_slice_unchecked(&mut self) -> &mut [T]
unsafe fn as_mut_slice_unchecked(&mut self) -> &mut [T]
Retrieves the mutable data buffer as a contiguous slice. Read more
source§fn get_address_unchecked_linear_mut(&mut self, i: usize) -> *mut T
fn get_address_unchecked_linear_mut(&mut self, i: usize) -> *mut T
Gets the mutable address of the i-th matrix component without performing bound-checking. Read more
source§fn get_address_unchecked_mut(&mut self, irow: usize, icol: usize) -> *mut T
fn get_address_unchecked_mut(&mut self, irow: usize, icol: usize) -> *mut T
Gets the mutable address of the i-th matrix component without performing bound-checking. Read more
source§unsafe fn get_unchecked_linear_mut(&mut self, i: usize) -> &mut T
unsafe fn get_unchecked_linear_mut(&mut self, i: usize) -> &mut T
Retrieves a mutable reference to the i-th element without bound-checking. Read more
source§unsafe fn get_unchecked_mut(&mut self, irow: usize, icol: usize) -> &mut T
unsafe fn get_unchecked_mut(&mut self, irow: usize, icol: usize) -> &mut T
Retrieves a mutable reference to the element at
(irow, icol)
without bound-checking. Read moresource§impl<T, R: DimName> RawStorageMut<T, R, Dyn> for VecStorage<T, R, Dyn>
impl<T, R: DimName> RawStorageMut<T, R, Dyn> for VecStorage<T, R, Dyn>
source§unsafe fn as_mut_slice_unchecked(&mut self) -> &mut [T]
unsafe fn as_mut_slice_unchecked(&mut self) -> &mut [T]
Retrieves the mutable data buffer as a contiguous slice. Read more
source§fn get_address_unchecked_linear_mut(&mut self, i: usize) -> *mut T
fn get_address_unchecked_linear_mut(&mut self, i: usize) -> *mut T
Gets the mutable address of the i-th matrix component without performing bound-checking. Read more
source§fn get_address_unchecked_mut(&mut self, irow: usize, icol: usize) -> *mut T
fn get_address_unchecked_mut(&mut self, irow: usize, icol: usize) -> *mut T
Gets the mutable address of the i-th matrix component without performing bound-checking. Read more
source§unsafe fn get_unchecked_linear_mut(&mut self, i: usize) -> &mut T
unsafe fn get_unchecked_linear_mut(&mut self, i: usize) -> &mut T
Retrieves a mutable reference to the i-th element without bound-checking. Read more
source§unsafe fn get_unchecked_mut(&mut self, irow: usize, icol: usize) -> &mut T
unsafe fn get_unchecked_mut(&mut self, irow: usize, icol: usize) -> &mut T
Retrieves a mutable reference to the element at
(irow, icol)
without bound-checking. Read moresource§impl<T: Scalar, CTo, const RFROM: usize, const CFROM: usize> Reallocator<T, Const<RFROM>, Const<CFROM>, Dyn, CTo> for DefaultAllocatorwhere
CTo: Dim,
impl<T: Scalar, CTo, const RFROM: usize, const CFROM: usize> Reallocator<T, Const<RFROM>, Const<CFROM>, Dyn, CTo> for DefaultAllocatorwhere
CTo: Dim,
source§unsafe fn reallocate_copy(
rto: Dyn,
cto: CTo,
buf: ArrayStorage<T, RFROM, CFROM>
) -> VecStorage<MaybeUninit<T>, Dyn, CTo>
unsafe fn reallocate_copy( rto: Dyn, cto: CTo, buf: ArrayStorage<T, RFROM, CFROM> ) -> VecStorage<MaybeUninit<T>, Dyn, CTo>
Reallocates a buffer of shape
(RTo, CTo)
, possibly reusing a previously allocated buffer
buf
. Data stored by buf
are linearly copied to the output: Read moresource§impl<T: Scalar, RTo, const RFROM: usize, const CFROM: usize> Reallocator<T, Const<RFROM>, Const<CFROM>, RTo, Dyn> for DefaultAllocatorwhere
RTo: DimName,
impl<T: Scalar, RTo, const RFROM: usize, const CFROM: usize> Reallocator<T, Const<RFROM>, Const<CFROM>, RTo, Dyn> for DefaultAllocatorwhere
RTo: DimName,
source§unsafe fn reallocate_copy(
rto: RTo,
cto: Dyn,
buf: ArrayStorage<T, RFROM, CFROM>
) -> VecStorage<MaybeUninit<T>, RTo, Dyn>
unsafe fn reallocate_copy( rto: RTo, cto: Dyn, buf: ArrayStorage<T, RFROM, CFROM> ) -> VecStorage<MaybeUninit<T>, RTo, Dyn>
Reallocates a buffer of shape
(RTo, CTo)
, possibly reusing a previously allocated buffer
buf
. Data stored by buf
are linearly copied to the output: Read moresource§impl<T: Scalar, CFrom: Dim, CTo: Dim> Reallocator<T, Dyn, CFrom, Dyn, CTo> for DefaultAllocator
impl<T: Scalar, CFrom: Dim, CTo: Dim> Reallocator<T, Dyn, CFrom, Dyn, CTo> for DefaultAllocator
source§unsafe fn reallocate_copy(
rto: Dyn,
cto: CTo,
buf: VecStorage<T, Dyn, CFrom>
) -> VecStorage<MaybeUninit<T>, Dyn, CTo>
unsafe fn reallocate_copy( rto: Dyn, cto: CTo, buf: VecStorage<T, Dyn, CFrom> ) -> VecStorage<MaybeUninit<T>, Dyn, CTo>
Reallocates a buffer of shape
(RTo, CTo)
, possibly reusing a previously allocated buffer
buf
. Data stored by buf
are linearly copied to the output: Read moresource§impl<T: Scalar, CFrom: Dim, RTo: DimName> Reallocator<T, Dyn, CFrom, RTo, Dyn> for DefaultAllocator
impl<T: Scalar, CFrom: Dim, RTo: DimName> Reallocator<T, Dyn, CFrom, RTo, Dyn> for DefaultAllocator
source§unsafe fn reallocate_copy(
rto: RTo,
cto: Dyn,
buf: VecStorage<T, Dyn, CFrom>
) -> VecStorage<MaybeUninit<T>, RTo, Dyn>
unsafe fn reallocate_copy( rto: RTo, cto: Dyn, buf: VecStorage<T, Dyn, CFrom> ) -> VecStorage<MaybeUninit<T>, RTo, Dyn>
Reallocates a buffer of shape
(RTo, CTo)
, possibly reusing a previously allocated buffer
buf
. Data stored by buf
are linearly copied to the output: Read moresource§impl<T: Scalar, RFrom: DimName, CTo: Dim> Reallocator<T, RFrom, Dyn, Dyn, CTo> for DefaultAllocator
impl<T: Scalar, RFrom: DimName, CTo: Dim> Reallocator<T, RFrom, Dyn, Dyn, CTo> for DefaultAllocator
source§unsafe fn reallocate_copy(
rto: Dyn,
cto: CTo,
buf: VecStorage<T, RFrom, Dyn>
) -> VecStorage<MaybeUninit<T>, Dyn, CTo>
unsafe fn reallocate_copy( rto: Dyn, cto: CTo, buf: VecStorage<T, RFrom, Dyn> ) -> VecStorage<MaybeUninit<T>, Dyn, CTo>
Reallocates a buffer of shape
(RTo, CTo)
, possibly reusing a previously allocated buffer
buf
. Data stored by buf
are linearly copied to the output: Read moresource§impl<T: Scalar, RFrom: DimName, RTo: DimName> Reallocator<T, RFrom, Dyn, RTo, Dyn> for DefaultAllocator
impl<T: Scalar, RFrom: DimName, RTo: DimName> Reallocator<T, RFrom, Dyn, RTo, Dyn> for DefaultAllocator
source§unsafe fn reallocate_copy(
rto: RTo,
cto: Dyn,
buf: VecStorage<T, RFrom, Dyn>
) -> VecStorage<MaybeUninit<T>, RTo, Dyn>
unsafe fn reallocate_copy( rto: RTo, cto: Dyn, buf: VecStorage<T, RFrom, Dyn> ) -> VecStorage<MaybeUninit<T>, RTo, Dyn>
Reallocates a buffer of shape
(RTo, CTo)
, possibly reusing a previously allocated buffer
buf
. Data stored by buf
are linearly copied to the output: Read moresource§impl<T, C1, C2> ReshapableStorage<T, Dyn, C1, Dyn, C2> for VecStorage<T, Dyn, C1>
impl<T, C1, C2> ReshapableStorage<T, Dyn, C1, Dyn, C2> for VecStorage<T, Dyn, C1>
§type Output = VecStorage<T, Dyn, C2>
type Output = VecStorage<T, Dyn, C2>
The reshaped storage type.
source§fn reshape_generic(self, nrows: Dyn, ncols: C2) -> Self::Output
fn reshape_generic(self, nrows: Dyn, ncols: C2) -> Self::Output
Reshapes the storage into the output storage type.
source§impl<T, C1, R2> ReshapableStorage<T, Dyn, C1, R2, Dyn> for VecStorage<T, Dyn, C1>
impl<T, C1, R2> ReshapableStorage<T, Dyn, C1, R2, Dyn> for VecStorage<T, Dyn, C1>
§type Output = VecStorage<T, R2, Dyn>
type Output = VecStorage<T, R2, Dyn>
The reshaped storage type.
source§fn reshape_generic(self, nrows: R2, ncols: Dyn) -> Self::Output
fn reshape_generic(self, nrows: R2, ncols: Dyn) -> Self::Output
Reshapes the storage into the output storage type.
source§impl<T, R1, C2> ReshapableStorage<T, R1, Dyn, Dyn, C2> for VecStorage<T, R1, Dyn>
impl<T, R1, C2> ReshapableStorage<T, R1, Dyn, Dyn, C2> for VecStorage<T, R1, Dyn>
§type Output = VecStorage<T, Dyn, C2>
type Output = VecStorage<T, Dyn, C2>
The reshaped storage type.
source§fn reshape_generic(self, nrows: Dyn, ncols: C2) -> Self::Output
fn reshape_generic(self, nrows: Dyn, ncols: C2) -> Self::Output
Reshapes the storage into the output storage type.
source§impl<T, R1, R2> ReshapableStorage<T, R1, Dyn, R2, Dyn> for VecStorage<T, R1, Dyn>
impl<T, R1, R2> ReshapableStorage<T, R1, Dyn, R2, Dyn> for VecStorage<T, R1, Dyn>
§type Output = VecStorage<T, R2, Dyn>
type Output = VecStorage<T, R2, Dyn>
The reshaped storage type.
source§fn reshape_generic(self, nrows: R2, ncols: Dyn) -> Self::Output
fn reshape_generic(self, nrows: R2, ncols: Dyn) -> Self::Output
Reshapes the storage into the output storage type.
source§impl<D: DimName> SameDimension<D, Dyn> for ShapeConstraint
impl<D: DimName> SameDimension<D, Dyn> for ShapeConstraint
§type Representative = D
type Representative = D
This is either equal to
D1
or D2
, always choosing the one (if any) which is a type-level
constant.source§impl<D: DimName> SameDimension<Dyn, D> for ShapeConstraint
impl<D: DimName> SameDimension<Dyn, D> for ShapeConstraint
§type Representative = D
type Representative = D
This is either equal to
D1
or D2
, always choosing the one (if any) which is a type-level
constant.source§impl<D: DimName> SameNumberOfColumns<D, Dyn> for ShapeConstraint
impl<D: DimName> SameNumberOfColumns<D, Dyn> for ShapeConstraint
§type Representative = D
type Representative = D
This is either equal to
D1
or D2
, always choosing the one (if any) which is a type-level
constant.source§impl<D: DimName> SameNumberOfColumns<Dyn, D> for ShapeConstraint
impl<D: DimName> SameNumberOfColumns<Dyn, D> for ShapeConstraint
§type Representative = D
type Representative = D
This is either equal to
D1
or D2
, always choosing the one (if any) which is a type-level
constant.source§impl<D: DimName> SameNumberOfRows<D, Dyn> for ShapeConstraint
impl<D: DimName> SameNumberOfRows<D, Dyn> for ShapeConstraint
§type Representative = D
type Representative = D
This is either equal to
D1
or D2
, always choosing the one (if any) which is a type-level
constant.source§impl<D: DimName> SameNumberOfRows<Dyn, D> for ShapeConstraint
impl<D: DimName> SameNumberOfRows<Dyn, D> for ShapeConstraint
§type Representative = D
type Representative = D
This is either equal to
D1
or D2
, always choosing the one (if any) which is a type-level
constant.source§impl<T: Scalar, C: Dim> Storage<T, Dyn, C> for VecStorage<T, Dyn, C>
impl<T: Scalar, C: Dim> Storage<T, Dyn, C> for VecStorage<T, Dyn, C>
source§fn into_owned(self) -> Owned<T, Dyn, C>
fn into_owned(self) -> Owned<T, Dyn, C>
Builds a matrix data storage that does not contain any reference.
source§fn clone_owned(&self) -> Owned<T, Dyn, C>
fn clone_owned(&self) -> Owned<T, Dyn, C>
Clones this data storage to one that does not contain any reference.
source§impl<T: Scalar, R: DimName> Storage<T, R, Dyn> for VecStorage<T, R, Dyn>
impl<T: Scalar, R: DimName> Storage<T, R, Dyn> for VecStorage<T, R, Dyn>
source§fn into_owned(self) -> Owned<T, R, Dyn>
fn into_owned(self) -> Owned<T, R, Dyn>
Builds a matrix data storage that does not contain any reference.
source§fn clone_owned(&self) -> Owned<T, R, Dyn>
fn clone_owned(&self) -> Owned<T, R, Dyn>
Clones this data storage to one that does not contain any reference.
impl Copy for Dyn
impl Eq for Dyn
impl IsDynamic for Dyn
impl IsNotStaticOne for Dyn
impl StructuralPartialEq for Dyn
Auto Trait Implementations§
impl Freeze for Dyn
impl RefUnwindSafe for Dyn
impl Send for Dyn
impl Sync for Dyn
impl Unpin for Dyn
impl UnwindSafe for Dyn
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
source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
source§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 moresource§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).source§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.source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.