Пример #1
0
        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));
        }
Пример #2
0
        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]);
            }
        }
Пример #3
0
 internal ArrayView1D(ILGPU.ArrayView <TElem> data, DimTuple1 extent, TDim dim)
 {
     Data   = data;
     Extent = extent;
     Dim    = dim;
 }
Пример #4
0
 public Stride1DGeneral(DimTuple1 stride)
 {
     Stride = stride;
 }