public static void multiplyCompare(int m, int n, int k) throws Exception {
boolean useJblas = UJMPSettings.getInstance().isUseJBlas();
UJMPSettings.getInstance().setUseJBlas(false);
boolean useBlockMultiply = UJMPSettings.getInstance().isUseBlockMatrixMultiply();
try {
BlockDenseDoubleMatrix2D a = Fixture.createBlockRowLayoutWithGeneratedData(m, n,
BlockOrder.ROWMAJOR);
BlockDenseDoubleMatrix2D b = Fixture.createBlockRowLayoutWithGeneratedData(n, k,
BlockOrder.COLUMNMAJOR);
Matrix d = Fixture.createDenseMatrixWithGeneratedData(m, n);
Matrix e = Fixture.createDenseMatrixWithGeneratedData(n, k);
UJMPSettings.getInstance().setUseBlockMatrixMultiply(false);
Matrix f = multiplyDenseDouble2DMatrix(d, e);
UJMPSettings.getInstance().setUseBlockMatrixMultiply(true);
Matrix c = multiplyBlockMatrix(a, b);
Fixture.compare(f, c);
} finally {
UJMPSettings.getInstance().setUseBlockMatrixMultiply(useBlockMultiply);
UJMPSettings.getInstance().setUseJBlas(useJblas);
}
System.gc();
}