@Test
public void testGemm() throws Exception {

    DenseMatrix m32 = DenseMatrix.rand(3, 2);
    DenseMatrix m24 = DenseMatrix.rand(2, 4);
    DenseMatrix m34 = DenseMatrix.rand(3, 4);
    DenseMatrix m42 = DenseMatrix.rand(4, 2);
    DenseMatrix m43 = DenseMatrix.rand(4, 3);
    DenseMatrix a34 = DenseMatrix.zeros(3, 4);
    BLAS.gemm(1.0, m32, false, m24, false, 0., a34);
    Assert.assertArrayEquals(a34.getData(), simpleMM(m32, m24).getData(), TOL);
    BLAS.gemm(1.0, m32, false, m42, true, 0., a34);
    Assert.assertArrayEquals(a34.getData(), simpleMM(m32, m42.transpose()).getData(), TOL);
    DenseMatrix a24 = DenseMatrix.zeros(2, 4);
    BLAS.gemm(1.0, m32, true, m34, false, 0., a24);
    Assert.assertArrayEquals(a24.getData(), simpleMM(m32.transpose(), m34).getData(), TOL);
    BLAS.gemm(1.0, m32, true, m43, true, 0., a24);
    Assert.assertArrayEquals(a24.getData(), simpleMM(m32.transpose(), m43.transpose()).getData(), TOL);
}