public bool decompose(DMatrixRMaj A) { Ablock.numRows = A.numRows; Ablock.numCols = A.numCols; Ablock.blockLength = blockLength; Ablock.data = A.data; // doing an in-place convert is much more memory efficient at the cost of a little // but of CPU MatrixOps_DDRB.convertRowToBlock(A.numRows, A.numCols, Ablock.blockLength, A.data, workspace); bool ret = alg.decompose(Ablock); // convert it back to the normal format if it wouldn't have been modified if (!alg.inputModified()) { MatrixOps_DDRB.convertBlockToRow(A.numRows, A.numCols, Ablock.blockLength, A.data, workspace); } return(ret); }
public void convertBlockToRow(int numRows, int numCols, double[] data) { MatrixOps_DDRB.convertBlockToRow(numRows, numCols, Ablock.blockLength, data, workspace); }