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) {