public ArrayView1D <TElem, TDim> SubView(DimTuple1 offset, DimTuple1 extent) { if (offset.X < 0 || offset.X + extent.X >= Extent.X) { // throw new IndexOutOfRangeException(); } var linearIdx = offset.X * Stride.X; var data = Data.GetSubView(linearIdx); return(new ArrayView1D <TElem, TDim>(data, extent, Dim)); }
public ref TElem this[DimTuple1 idx] { get { if (idx.X < 0 || idx.X >= Extent.X) { // throw new IndexOutOfRangeException(); } var linearIdx = idx.X * Stride.X; return(ref Data[linearIdx]); } }
internal ArrayView1D(ILGPU.ArrayView <TElem> data, DimTuple1 extent, TDim dim) { Data = data; Extent = extent; Dim = dim; }
public Stride1DGeneral(DimTuple1 stride) { Stride = stride; }