Fix tests not executing - The operator() wasn't called and tests where not executed. - Fill test matrices with non-constant data. Change-Id: Iacc9e8cb47d8539aded05bb821d3ce2f08a740d6
diff --git a/internal/ceres/small_blas_test.cc b/internal/ceres/small_blas_test.cc index f8b5668..d0312ec 100644 --- a/internal/ceres/small_blas_test.cc +++ b/internal/ceres/small_blas_test.cc
@@ -72,15 +72,24 @@ #undef MATRIX_FUN_TY +// Initializes matrix entires. +void initMatrix(Matrix &mat) { + for (int i = 0; i < mat.rows(); ++i) { + for (int j = 0; j < mat.cols(); ++j) { + mat(i, j) = i + j + 1; + } + } +} + template <int kRowA, int kColA, int kColB, DimType kDimType, template <int, int, int, int, int, DimType> class FunctorTy> struct TestMatrixFunctions { void operator()() { Matrix A(kRowA, kColA); - A.setOnes(); + initMatrix(A); const int kRowB = kColA; Matrix B(kRowB, kColB); - B.setOnes(); + initMatrix(B); for (int row_stride_c = kRowA; row_stride_c < 3 * kRowA; ++row_stride_c) { for (int col_stride_c = kColB; col_stride_c < 3 * kColB; ++col_stride_c) { @@ -100,7 +109,7 @@ for (int start_col_c = 0; start_col_c + kColB < col_stride_c; ++start_col_c) { C_plus_ref.block(start_row_c, start_col_c, kRowA, kColB) += A * B; - FunctorTy<kRowA, kColA, kRowB, kColB, 1, kDimType>( + FunctorTy<kRowA, kColA, kRowB, kColB, 1, kDimType>()( A.data(), kRowA, kColA, B.data(), kRowB, kColB, C_plus.data(), start_row_c, start_col_c, row_stride_c, col_stride_c); @@ -116,7 +125,7 @@ << C_plus; C_minus_ref.block(start_row_c, start_col_c, kRowA, kColB) -= A * B; - FunctorTy<kRowA, kColA, kRowB, kColB, -1, kDimType>( + FunctorTy<kRowA, kColA, kRowB, kColB, -1, kDimType>()( A.data(), kRowA, kColA, B.data(), kRowB, kColB, C_minus.data(), start_row_c, start_col_c, row_stride_c, col_stride_c); @@ -133,7 +142,7 @@ C_assign_ref.block(start_row_c, start_col_c, kRowA, kColB) = A * B; - FunctorTy<kRowA, kColA, kRowB, kColB, 0, kDimType>( + FunctorTy<kRowA, kColA, kRowB, kColB, 0, kDimType>()( A.data(), kRowA, kColA, B.data(), kRowB, kColB, C_assign.data(), start_row_c, start_col_c, row_stride_c, col_stride_c); @@ -159,10 +168,10 @@ struct TestMatrixTransposeFunctions { void operator()() { Matrix A(kRowA, kColA); - A.setOnes(); + initMatrix(A); const int kRowB = kRowA; Matrix B(kRowB, kColB); - B.setOnes(); + initMatrix(B); for (int row_stride_c = kColA; row_stride_c < 3 * kColA; ++row_stride_c) { for (int col_stride_c = kColB; col_stride_c < 3 * kColB; ++col_stride_c) { @@ -183,7 +192,7 @@ C_plus_ref.block(start_row_c, start_col_c, kColA, kColB) += A.transpose() * B; - FunctorTy<kRowA, kColA, kRowB, kColB, 1, kDimType>( + FunctorTy<kRowA, kColA, kRowB, kColB, 1, kDimType>()( A.data(), kRowA, kColA, B.data(), kRowB, kColB, C_plus.data(), start_row_c, start_col_c, row_stride_c, col_stride_c); @@ -201,7 +210,7 @@ C_minus_ref.block(start_row_c, start_col_c, kColA, kColB) -= A.transpose() * B; - FunctorTy<kRowA, kColA, kRowB, kColB, -1, kDimType>( + FunctorTy<kRowA, kColA, kRowB, kColB, -1, kDimType>()( A.data(), kRowA, kColA, B.data(), kRowB, kColB, C_minus.data(), start_row_c, start_col_c, row_stride_c, col_stride_c); @@ -219,7 +228,7 @@ C_assign_ref.block(start_row_c, start_col_c, kColA, kColB) = A.transpose() * B; - FunctorTy<kRowA, kColA, kRowB, kColB, 0, kDimType>( + FunctorTy<kRowA, kColA, kRowB, kColB, 0, kDimType>()( A.data(), kRowA, kColA, B.data(), kRowB, kColB, C_assign.data(), start_row_c, start_col_c, row_stride_c, col_stride_c); @@ -241,111 +250,117 @@ }; TEST(BLAS, MatrixMatrixMultiply_5_3_7) { - TestMatrixFunctions<5, 3, 7, DimType::Static, MatrixMatrixMultiplyTy>(); + TestMatrixFunctions<5, 3, 7, DimType::Static, MatrixMatrixMultiplyTy>()(); } TEST(BLAS, MatrixMatrixMultiply_5_3_7_Dynamic) { - TestMatrixFunctions<5, 3, 7, DimType::Dynamic, MatrixMatrixMultiplyTy>(); + TestMatrixFunctions<5, 3, 7, DimType::Dynamic, MatrixMatrixMultiplyTy>()(); } TEST(BLAS, MatrixMatrixMultiply_1_1_1) { - TestMatrixFunctions<1, 1, 1, DimType::Static, MatrixMatrixMultiplyTy>(); + TestMatrixFunctions<1, 1, 1, DimType::Static, MatrixMatrixMultiplyTy>()(); } TEST(BLAS, MatrixMatrixMultiply_1_1_1_Dynamic) { - TestMatrixFunctions<1, 1, 1, DimType::Dynamic, MatrixMatrixMultiplyTy>(); + TestMatrixFunctions<1, 1, 1, DimType::Dynamic, MatrixMatrixMultiplyTy>()(); } TEST(BLAS, MatrixMatrixMultiply_9_9_9) { - TestMatrixFunctions<9, 9, 9, DimType::Static, MatrixMatrixMultiplyTy>(); + TestMatrixFunctions<9, 9, 9, DimType::Static, MatrixMatrixMultiplyTy>()(); } TEST(BLAS, MatrixMatrixMultiply_9_9_9_Dynamic) { - TestMatrixFunctions<9, 9, 9, DimType::Dynamic, MatrixMatrixMultiplyTy>(); + TestMatrixFunctions<9, 9, 9, DimType::Dynamic, MatrixMatrixMultiplyTy>()(); } TEST(BLAS, MatrixMatrixMultiplyNaive_5_3_7) { - TestMatrixFunctions<5, 3, 7, DimType::Static, MatrixMatrixMultiplyNaiveTy>(); + TestMatrixFunctions<5, 3, 7, DimType::Static, + MatrixMatrixMultiplyNaiveTy>()(); } TEST(BLAS, MatrixMatrixMultiplyNaive_5_3_7_Dynamic) { - TestMatrixFunctions<5, 3, 7, DimType::Dynamic, MatrixMatrixMultiplyNaiveTy>(); + TestMatrixFunctions<5, 3, 7, DimType::Dynamic, + MatrixMatrixMultiplyNaiveTy>()(); } TEST(BLAS, MatrixMatrixMultiplyNaive_1_1_1) { - TestMatrixFunctions<1, 1, 1, DimType::Static, MatrixMatrixMultiplyNaiveTy>(); + TestMatrixFunctions<1, 1, 1, DimType::Static, + MatrixMatrixMultiplyNaiveTy>()(); } TEST(BLAS, MatrixMatrixMultiplyNaive_1_1_1_Dynamic) { - TestMatrixFunctions<1, 1, 1, DimType::Dynamic, MatrixMatrixMultiplyNaiveTy>(); + TestMatrixFunctions<1, 1, 1, DimType::Dynamic, + MatrixMatrixMultiplyNaiveTy>()(); } TEST(BLAS, MatrixMatrixMultiplyNaive_9_9_9) { - TestMatrixFunctions<9, 9, 9, DimType::Static, MatrixMatrixMultiplyNaiveTy>(); + TestMatrixFunctions<9, 9, 9, DimType::Static, + MatrixMatrixMultiplyNaiveTy>()(); } TEST(BLAS, MatrixMatrixMultiplyNaive_9_9_9_Dynamic) { - TestMatrixFunctions<9, 9, 9, DimType::Dynamic, MatrixMatrixMultiplyNaiveTy>(); + TestMatrixFunctions<9, 9, 9, DimType::Dynamic, + MatrixMatrixMultiplyNaiveTy>()(); } TEST(BLAS, MatrixTransposeMatrixMultiply_5_3_7) { TestMatrixTransposeFunctions<5, 3, 7, DimType::Static, - MatrixTransposeMatrixMultiplyTy>(); + MatrixTransposeMatrixMultiplyTy>()(); } TEST(BLAS, MatrixTransposeMatrixMultiply_5_3_7_Dynamic) { TestMatrixTransposeFunctions<5, 3, 7, DimType::Dynamic, - MatrixTransposeMatrixMultiplyTy>(); + MatrixTransposeMatrixMultiplyTy>()(); } TEST(BLAS, MatrixTransposeMatrixMultiply_1_1_1) { TestMatrixTransposeFunctions<1, 1, 1, DimType::Static, - MatrixTransposeMatrixMultiplyTy>(); + MatrixTransposeMatrixMultiplyTy>()(); } TEST(BLAS, MatrixTransposeMatrixMultiply_1_1_1_Dynamic) { TestMatrixTransposeFunctions<1, 1, 1, DimType::Dynamic, - MatrixTransposeMatrixMultiplyTy>(); + MatrixTransposeMatrixMultiplyTy>()(); } TEST(BLAS, MatrixTransposeMatrixMultiply_9_9_9) { TestMatrixTransposeFunctions<9, 9, 9, DimType::Static, - MatrixTransposeMatrixMultiplyTy>(); + MatrixTransposeMatrixMultiplyTy>()(); } TEST(BLAS, MatrixTransposeMatrixMultiply_9_9_9_Dynamic) { TestMatrixTransposeFunctions<9, 9, 9, DimType::Dynamic, - MatrixTransposeMatrixMultiplyTy>(); + MatrixTransposeMatrixMultiplyTy>()(); } TEST(BLAS, MatrixTransposeMatrixMultiplyNaive_5_3_7) { TestMatrixTransposeFunctions<5, 3, 7, DimType::Static, - MatrixTransposeMatrixMultiplyNaiveTy>(); + MatrixTransposeMatrixMultiplyNaiveTy>()(); } TEST(BLAS, MatrixTransposeMatrixMultiplyNaive_5_3_7_Dynamic) { TestMatrixTransposeFunctions<5, 3, 7, DimType::Dynamic, - MatrixTransposeMatrixMultiplyNaiveTy>(); + MatrixTransposeMatrixMultiplyNaiveTy>()(); } TEST(BLAS, MatrixTransposeMatrixMultiplyNaive_1_1_1) { TestMatrixTransposeFunctions<1, 1, 1, DimType::Static, - MatrixTransposeMatrixMultiplyNaiveTy>(); + MatrixTransposeMatrixMultiplyNaiveTy>()(); } TEST(BLAS, MatrixTransposeMatrixMultiplyNaive_1_1_1_Dynamic) { TestMatrixTransposeFunctions<1, 1, 1, DimType::Dynamic, - MatrixTransposeMatrixMultiplyNaiveTy>(); + MatrixTransposeMatrixMultiplyNaiveTy>()(); } TEST(BLAS, MatrixTransposeMatrixMultiplyNaive_9_9_9) { TestMatrixTransposeFunctions<9, 9, 9, DimType::Static, - MatrixTransposeMatrixMultiplyNaiveTy>(); + MatrixTransposeMatrixMultiplyNaiveTy>()(); } TEST(BLAS, MatrixTransposeMatrixMultiplyNaive_9_9_9_Dynamic) { TestMatrixTransposeFunctions<9, 9, 9, DimType::Dynamic, - MatrixTransposeMatrixMultiplyNaiveTy>(); + MatrixTransposeMatrixMultiplyNaiveTy>()(); } TEST(BLAS, MatrixVectorMultiply) {