static void ExtractMatrixBufferFromCube(MemoryTile output, MemoryCube rhs, uint matrix) { Debug.Assert(matrix < rhs.nCubes); output = new MemoryTile(rhs.pointer + (matrix * rhs.nRows * rhs.nCols * rhs.ElementarySize()), rhs.nRows, rhs.nCols, rhs.memorySpace, rhs.mathDomain); }
static void ExtractColumnBufferFromCube(out MemoryBuffer output, MemoryCube rhs, uint matrix, uint column) { Debug.Assert(matrix < rhs.nCubes); Debug.Assert(column < rhs.nCols); output = new MemoryBuffer(rhs.pointer + (rhs.nRows * (matrix * rhs.nCols + column) * rhs.ElementarySize()), rhs.nRows, rhs.memorySpace, rhs.mathDomain); }
public MemoryCube(MemoryCube rhs) : this(rhs.pointer, rhs.nRows, rhs.nCols, rhs.nCubes, rhs.memorySpace, rhs.mathDomain) { }