private static NArray <T> Slice <T>(NArray <T> array, int chunkIndex, int startIndex, int length) { if (array is ILocalNArray) { return(NMath.CreateNArray <T>((array.Storage as ChunkyStorage <T>).Slice(chunkIndex))); } else { return(array.Slice(startIndex, length)); } }