Build cleanup
1. Remove unused variable.
2. Make inner_product_computer compatible with older versions of Eigen,
which don't have a named enum for Eigen::Upper/Lower.
Change-Id: I927af297f93fc74f7f4b29b39e400ef2d75edbd4
diff --git a/internal/ceres/inner_product_computer.cc b/internal/ceres/inner_product_computer.cc
index 052bd5a..83a48cd 100644
--- a/internal/ceres/inner_product_computer.cc
+++ b/internal/ceres/inner_product_computer.cc
@@ -223,7 +223,6 @@
void InnerProductComputer::ComputeOffsetsAndCreateResultMatrix(
const CompressedRowSparseMatrix::StorageType product_storage_type,
const std::vector<InnerProductComputer::ProductTerm>& product_terms) {
- const int num_cols = m_.num_cols();
const std::vector<Block>& col_blocks = m_.block_structure()->cols;
std::vector<int> row_block_nnz;
diff --git a/internal/ceres/inner_product_computer_test.cc b/internal/ceres/inner_product_computer_test.cc
index a4c81bc..fa667b1 100644
--- a/internal/ceres/inner_product_computer_test.cc
+++ b/internal/ceres/inner_product_computer_test.cc
@@ -44,46 +44,38 @@
namespace ceres {
namespace internal {
-template <enum Eigen::UpLoType T>
-void CompareTriangularPartOfMatrices(const Matrix& expected,
- const Matrix& actual) {
- EXPECT_EQ(actual.rows(), actual.cols());
- EXPECT_EQ(expected.rows(), expected.cols());
- EXPECT_EQ(actual.rows(), expected.rows());
-
- const Matrix expected_t = expected.triangularView<T>();
- const Matrix actual_t = actual.triangularView<T>();
-
- // TODO(sameeragarwal): Foo
- CHECK_LE((expected_t - actual_t).norm() / actual_t.norm(),
- 100 * std::numeric_limits<double>::epsilon())
- << "expected: \n"
- << expected_t << "\nactual: \n"
- << actual_t;
-}
-
-#define COMPUTE_AND_COMPARE \
- { \
- inner_product_computer->Compute(); \
- CompressedRowSparseMatrix* actual_product_crsm = \
- inner_product_computer->mutable_result(); \
- Matrix actual_inner_product = \
- Eigen::MappedSparseMatrix<double, Eigen::ColMajor>( \
- actual_product_crsm->num_rows(), \
- actual_product_crsm->num_rows(), \
- actual_product_crsm->num_nonzeros(), \
- actual_product_crsm->mutable_rows(), \
- actual_product_crsm->mutable_cols(), \
- actual_product_crsm->mutable_values()); \
- (actual_product_crsm->storage_type() == \
- CompressedRowSparseMatrix::LOWER_TRIANGULAR) \
- ? CompareTriangularPartOfMatrices<Eigen::Upper>( \
- expected_inner_product, actual_inner_product) \
- : CompareTriangularPartOfMatrices<Eigen::Lower>( \
- expected_inner_product, actual_inner_product); \
+#define COMPUTE_AND_COMPARE \
+ { \
+ inner_product_computer->Compute(); \
+ CompressedRowSparseMatrix* actual_product_crsm = \
+ inner_product_computer->mutable_result(); \
+ Matrix actual_inner_product = \
+ Eigen::MappedSparseMatrix<double, Eigen::ColMajor>( \
+ actual_product_crsm->num_rows(), \
+ actual_product_crsm->num_rows(), \
+ actual_product_crsm->num_nonzeros(), \
+ actual_product_crsm->mutable_rows(), \
+ actual_product_crsm->mutable_cols(), \
+ actual_product_crsm->mutable_values()); \
+ EXPECT_EQ(actual_inner_product.rows(), actual_inner_product.cols()); \
+ EXPECT_EQ(expected_inner_product.rows(), expected_inner_product.cols()); \
+ EXPECT_EQ(actual_inner_product.rows(), expected_inner_product.rows()); \
+ Matrix expected_t, actual_t; \
+ if (actual_product_crsm->storage_type() == \
+ CompressedRowSparseMatrix::LOWER_TRIANGULAR) { \
+ expected_t = expected_inner_product.triangularView<Eigen::Upper>(); \
+ actual_t = actual_inner_product.triangularView<Eigen::Upper>(); \
+ } else { \
+ expected_t = expected_inner_product.triangularView<Eigen::Lower>(); \
+ actual_t = actual_inner_product.triangularView<Eigen::Lower>(); \
+ } \
+ EXPECT_LE((expected_t - actual_t).norm() / actual_t.norm(), \
+ 100 * std::numeric_limits<double>::epsilon()) \
+ << "expected: \n" \
+ << expected_t << "\nactual: \n" \
+ << actual_t; \
}
-
TEST(InnerProductComputer, NormalOperation) {
// "Randomly generated seed."
SetRandomState(29823);