Trait rust_pathtracer::prelude::base::allocator::Reallocator    
source · pub trait Reallocator<T, RFrom, CFrom, RTo, CTo>: Allocator<T, RFrom, CFrom> + Allocator<T, RTo, CTo>where
    T: Scalar,
    RFrom: Dim,
    CFrom: Dim,
    RTo: Dim,
    CTo: Dim,{
    // Required method
    unsafe fn reallocate_copy(
        nrows: RTo,
        ncols: CTo,
        buf: Self::Buffer
    ) -> Self::BufferUninit;
}Expand description
A matrix reallocator. Changes the size of the memory buffer that initially contains (RFrom ×
CFrom) elements to a smaller or larger size (RTo, CTo).
Required Methods§
sourceunsafe fn reallocate_copy(
    nrows: RTo,
    ncols: CTo,
    buf: Self::Buffer
) -> Self::BufferUninit
 
unsafe fn reallocate_copy( nrows: RTo, ncols: CTo, buf: Self::Buffer ) -> Self::BufferUninit
Reallocates a buffer of shape (RTo, CTo), possibly reusing a previously allocated buffer
buf. Data stored by buf are linearly copied to the output:
Safety
The following invariants must be respected by the implementors of this method:
- The copy is performed as if both were just arrays (without taking into account the matrix structure).
 - If the underlying buffer is being shrunk, the removed elements must not be dropped by this method. Dropping them is the responsibility of the caller.