pub struct StridedView {
pub offset: usize,
pub shape: Vec<usize>,
pub strides: Vec<usize>,
pub element_size: usize,
}Expand description
Strided tensor view for zero-copy reshape and transpose operations
Fields§
§offset: usize§shape: Vec<usize>§strides: Vec<usize>§element_size: usizeImplementations§
Source§impl StridedView
impl StridedView
Sourcepub fn new(
offset: usize,
shape: Vec<usize>,
strides: Vec<usize>,
element_size: usize,
) -> Self
pub fn new( offset: usize, shape: Vec<usize>, strides: Vec<usize>, element_size: usize, ) -> Self
Create a new strided view
Sourcepub fn transpose(&self, axes: &[usize]) -> Result<StridedView>
pub fn transpose(&self, axes: &[usize]) -> Result<StridedView>
Create a strided view for transpose operation
Sourcepub fn reshape(&self, new_shape: &[usize]) -> Result<StridedView>
pub fn reshape(&self, new_shape: &[usize]) -> Result<StridedView>
Create a strided view for reshape operation (zero-copy when possible)
Sourcepub fn is_contiguous(&self) -> bool
pub fn is_contiguous(&self) -> bool
Check if the tensor is contiguous in memory
Sourcepub fn size_bytes(&self) -> usize
pub fn size_bytes(&self) -> usize
Get the total size in bytes
Trait Implementations§
Source§impl Clone for StridedView
impl Clone for StridedView
Source§fn clone(&self) -> StridedView
fn clone(&self) -> StridedView
Returns a duplicate 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 moreAuto Trait Implementations§
impl Freeze for StridedView
impl RefUnwindSafe for StridedView
impl Send for StridedView
impl Sync for StridedView
impl Unpin for StridedView
impl UnsafeUnpin for StridedView
impl UnwindSafe for StridedView
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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more