strided-view
Core dynamic-rank strided tensor view types and metadata-only transformations.
Scope
StridedView/StridedViewMutStridedArray- Stride/layout helpers (
row_major_strides,col_major_strides) - Zero-copy metadata ops (
permute,transpose_2d,broadcast,diagonal_view)
strided-view does not implement heavy compute kernels by itself.
Use strided-kernel for map/reduce operations.
Core Types
StridedView<'a, T, Op> / StridedViewMut<'a, T>
Dynamic-rank immutable/mutable views over strided data:
T: Element typeOp: Element operation (Identity, Conj, Transpose, Adjoint) -- applied lazily on access
StridedArray<T>
Owned strided multidimensional array with view() and view_mut() methods.
Quick Example
use StridedArray;
let a = from_fn_row_major;
let v = a.view;
let vt = v.permute.unwrap;
assert_eq!;
assert_eq!;
View Operations
use ;
let a = from_fn_row_major;
let v = a.view;
// Transpose (zero-copy, swaps strides)
let vt = v.transpose_2d.unwrap;
assert_eq!;
// General permutation (zero-copy)
let vp = v.permute.unwrap;
assert_eq!;
// Broadcast (stride-0 for size-1 dims)
let row_data = vec!;
let row = new.unwrap;
let broad = row.broadcast.unwrap;