From 560ef46fbd787605dc71aea449df2a72c0bc7245 Mon Sep 17 00:00:00 2001 From: Sameer Agarwal Date: Mon, 8 Aug 2022 20:16:51 -0700 Subject: [PATCH] A bunch of minor fixes. 1. Remove an unused variable from block_sparse_matrix.cc 2. Add explicit types to the distributions to get around -Wctad-maybe-unsupported Change-Id: Ib7d606fbfe2b93ba4fce408f38ee4f7626b74ff0 --- examples/bal_problem.cc | 9 +++++---- examples/robot_pose_mle.cc | 5 +++-- internal/ceres/block_sparse_matrix.cc | 13 ++++++------- internal/ceres/compressed_row_sparse_matrix.cc | 12 ++++++------ internal/ceres/compressed_row_sparse_matrix_test.cc | 6 +++--- internal/ceres/corrector_test.cc | 4 ++-- internal/ceres/gradient_checker_test.cc | 6 +++--- .../ceres/gradient_checking_cost_function_test.cc | 6 +++--- internal/ceres/inner_product_computer_test.cc | 4 ++-- internal/ceres/normal_prior_test.cc | 4 ++-- internal/ceres/sparse_cholesky_test.cc | 2 +- internal/ceres/triplet_sparse_matrix.cc | 4 ++-- 12 files changed, 38 insertions(+), 37 deletions(-) diff --git a/examples/bal_problem.cc b/examples/bal_problem.cc index 2423fb673..c784116e9 100644 --- a/examples/bal_problem.cc +++ b/examples/bal_problem.cc @@ -298,7 +298,7 @@ void BALProblem::Perturb(const double rotation_sigma, CHECK_GE(rotation_sigma, 0.0); CHECK_GE(translation_sigma, 0.0); std::mt19937 prng; - std::normal_distribution point_noise_distribution(0.0, point_sigma); + std::normal_distribution point_noise_distribution(0.0, point_sigma); double* points = mutable_points(); if (point_sigma > 0) { for (int i = 0; i < num_points_; ++i) { @@ -307,9 +307,10 @@ void BALProblem::Perturb(const double rotation_sigma, } } - std::normal_distribution rotation_noise_distribution(0.0, point_sigma); - std::normal_distribution translation_noise_distribution(0.0, - translation_sigma); + std::normal_distribution rotation_noise_distribution(0.0, + point_sigma); + std::normal_distribution translation_noise_distribution( + 0.0, translation_sigma); for (int i = 0; i < num_cameras_; ++i) { double* camera = mutable_cameras() + camera_block_size() * i; diff --git a/examples/robot_pose_mle.cc b/examples/robot_pose_mle.cc index f924bc3cc..5f57a897a 100644 --- a/examples/robot_pose_mle.cc +++ b/examples/robot_pose_mle.cc @@ -247,9 +247,10 @@ void SimulateRobot(vector* odometry_values, static_cast(ceil(CERES_GET_FLAG(FLAGS_corridor_length) / CERES_GET_FLAG(FLAGS_pose_separation))); std::mt19937 prng; - std::normal_distribution odometry_noise( + std::normal_distribution odometry_noise( 0.0, CERES_GET_FLAG(FLAGS_odometry_stddev)); - std::normal_distribution range_noise(0.0, CERES_GET_FLAG(FLAGS_range_stddev)); + std::normal_distribution range_noise( + 0.0, CERES_GET_FLAG(FLAGS_range_stddev)); // The robot starts out at the origin. double robot_location = 0.0; diff --git a/internal/ceres/block_sparse_matrix.cc b/internal/ceres/block_sparse_matrix.cc index 9ae438472..1bfa343ec 100644 --- a/internal/ceres/block_sparse_matrix.cc +++ b/internal/ceres/block_sparse_matrix.cc @@ -183,7 +183,6 @@ void BlockSparseMatrix::ToCRSMatrix(CRSMatrix* crs_matrix) const { for (const auto& row_block : block_structure_->rows) { int row_block_size = row_block.block.size; const vector& cells = row_block.cells; - const int row_start = row_block.block.position; for (int r = 0; r < row_block_size; ++r) { rows.push_back(values.size()); for (const auto& cell : cells) { @@ -383,10 +382,10 @@ std::unique_ptr BlockSparseMatrix::CreateRandomMatrix( CHECK_LE(options.block_density, 1.0); std::mt19937 prng; - std::uniform_int_distribution col_distribution(options.min_col_block_size, - options.max_col_block_size); - std::uniform_int_distribution row_distribution(options.min_row_block_size, - options.max_row_block_size); + std::uniform_int_distribution col_distribution( + options.min_col_block_size, options.max_col_block_size); + std::uniform_int_distribution row_distribution( + options.min_row_block_size, options.max_row_block_size); auto* bs = new CompressedRowBlockStructure(); if (options.col_blocks.empty()) { CHECK_GT(options.num_col_blocks, 0); @@ -406,7 +405,7 @@ std::unique_ptr BlockSparseMatrix::CreateRandomMatrix( } bool matrix_has_blocks = false; - std::uniform_real_distribution uniform01(0.0, 1.0); + std::uniform_real_distribution uniform01(0.0, 1.0); while (!matrix_has_blocks) { VLOG(1) << "Clearing"; bs->rows.clear(); @@ -434,7 +433,7 @@ std::unique_ptr BlockSparseMatrix::CreateRandomMatrix( auto matrix = std::make_unique(bs); double* values = matrix->mutable_values(); - std::normal_distribution standard_normal_distribution; + std::normal_distribution standard_normal_distribution; for (int i = 0; i < matrix->num_nonzeros(); ++i) { values[i] = standard_normal_distribution(prng); } diff --git a/internal/ceres/compressed_row_sparse_matrix.cc b/internal/ceres/compressed_row_sparse_matrix.cc index bd94fdca0..da58b1a16 100644 --- a/internal/ceres/compressed_row_sparse_matrix.cc +++ b/internal/ceres/compressed_row_sparse_matrix.cc @@ -648,12 +648,12 @@ CompressedRowSparseMatrix::CreateRandomMatrix( vector col_blocks; std::mt19937 prng; - std::uniform_int_distribution col_distribution(options.min_col_block_size, - options.max_col_block_size); - std::uniform_int_distribution row_distribution(options.min_row_block_size, - options.max_row_block_size); - std::uniform_real_distribution uniform01(0.0, 1.0); - std::normal_distribution standard_normal_distribution; + std::uniform_int_distribution col_distribution( + options.min_col_block_size, options.max_col_block_size); + std::uniform_int_distribution row_distribution( + options.min_row_block_size, options.max_row_block_size); + std::uniform_real_distribution uniform01(0.0, 1.0); + std::normal_distribution standard_normal_distribution; auto values_dist = std::bind(standard_normal_distribution, std::ref(prng)); // Generate the row block structure. diff --git a/internal/ceres/compressed_row_sparse_matrix_test.cc b/internal/ceres/compressed_row_sparse_matrix_test.cc index db90d8b4d..0f1b94890 100644 --- a/internal/ceres/compressed_row_sparse_matrix_test.cc +++ b/internal/ceres/compressed_row_sparse_matrix_test.cc @@ -405,7 +405,7 @@ TEST_P(RightMultiplyTest, _) { const int kMaxBlockSize = 5; const int kNumTrials = 10; std::mt19937 prng; - std::uniform_real_distribution uniform(0.5, 1.0); + std::uniform_real_distribution uniform(0.5, 1.0); for (int num_blocks = kMinNumBlocks; num_blocks < kMaxNumBlocks; ++num_blocks) { for (int trial = 0; trial < kNumTrials; ++trial) { @@ -475,7 +475,7 @@ TEST_P(LeftMultiplyTest, _) { const int kMaxBlockSize = 5; const int kNumTrials = 10; std::mt19937 prng; - std::uniform_real_distribution uniform(0.5, 1.0); + std::uniform_real_distribution uniform(0.5, 1.0); for (int num_blocks = kMinNumBlocks; num_blocks < kMaxNumBlocks; ++num_blocks) { for (int trial = 0; trial < kNumTrials; ++trial) { @@ -545,7 +545,7 @@ TEST_P(SquaredColumnNormTest, _) { const int kMaxBlockSize = 5; const int kNumTrials = 10; std::mt19937 prng; - std::uniform_real_distribution uniform(0.5, 1.0); + std::uniform_real_distribution uniform(0.5, 1.0); for (int num_blocks = kMinNumBlocks; num_blocks < kMaxNumBlocks; ++num_blocks) { for (int trial = 0; trial < kNumTrials; ++trial) { diff --git a/internal/ceres/corrector_test.cc b/internal/ceres/corrector_test.cc index b1e9bee7a..7f58efa29 100644 --- a/internal/ceres/corrector_test.cc +++ b/internal/ceres/corrector_test.cc @@ -161,7 +161,7 @@ TEST(Corrector, MultidimensionalGaussNewtonApproximation) { Matrix c_hess(2, 2); Vector c_grad(2); std::mt19937 prng; - std::uniform_real_distribution uniform01(0.0, 1.0); + std::uniform_real_distribution uniform01(0.0, 1.0); for (int iter = 0; iter < 10000; ++iter) { // Initialize the jacobian and residual. for (double& jacobian_entry : jacobian) jacobian_entry = uniform01(prng); @@ -229,7 +229,7 @@ TEST(Corrector, MultidimensionalGaussNewtonApproximationZeroResidual) { Vector c_grad(2); std::mt19937 prng; - std::uniform_real_distribution uniform01(0.0, 1.0); + std::uniform_real_distribution uniform01(0.0, 1.0); for (int iter = 0; iter < 10000; ++iter) { // Initialize the jacobian. for (double& jacobian_entry : jacobian) jacobian_entry = uniform01(prng); diff --git a/internal/ceres/gradient_checker_test.cc b/internal/ceres/gradient_checker_test.cc index 5de477881..3c5f5da78 100644 --- a/internal/ceres/gradient_checker_test.cc +++ b/internal/ceres/gradient_checker_test.cc @@ -61,7 +61,7 @@ class GoodTestTerm : public CostFunction { public: GoodTestTerm(int arity, int const* dim) : arity_(arity), return_value_(true) { std::mt19937 prng; - std::uniform_real_distribution distribution(-1.0, 1.0); + std::uniform_real_distribution distribution(-1.0, 1.0); // Make 'arity' random vectors. a_.resize(arity_); @@ -123,7 +123,7 @@ class BadTestTerm : public CostFunction { public: BadTestTerm(int arity, int const* dim) : arity_(arity) { std::mt19937 prng; - std::uniform_real_distribution distribution(-1.0, 1.0); + std::uniform_real_distribution distribution(-1.0, 1.0); // Make 'arity' random vectors. a_.resize(arity_); for (int j = 0; j < arity_; ++j) { @@ -209,7 +209,7 @@ TEST(GradientChecker, SmokeTest) { // Make a random set of blocks. FixedArray parameters(num_parameters); std::mt19937 prng; - std::uniform_real_distribution distribution(-1.0, 1.0); + std::uniform_real_distribution distribution(-1.0, 1.0); for (int j = 0; j < num_parameters; ++j) { parameters[j] = new double[parameter_sizes[j]]; for (int u = 0; u < parameter_sizes[j]; ++u) { diff --git a/internal/ceres/gradient_checking_cost_function_test.cc b/internal/ceres/gradient_checking_cost_function_test.cc index 99e07275d..caf4f2594 100644 --- a/internal/ceres/gradient_checking_cost_function_test.cc +++ b/internal/ceres/gradient_checking_cost_function_test.cc @@ -71,7 +71,7 @@ class TestTerm : public CostFunction { // of blocks desired, and the size of each block. TestTerm(int arity, int const* dim) : arity_(arity) { std::mt19937 prng; - std::uniform_real_distribution uniform01(-1.0, 1.0); + std::uniform_real_distribution uniform01(-1.0, 1.0); // Make 'arity' random vectors. a_.resize(arity_); for (int j = 0; j < arity_; ++j) { @@ -139,7 +139,7 @@ TEST(GradientCheckingCostFunction, ResidualsAndJacobiansArePreservedTest) { // Make a random set of blocks. vector parameters(arity); std::mt19937 prng; - std::uniform_real_distribution uniform01(-1.0, 1.0); + std::uniform_real_distribution uniform01(-1.0, 1.0); for (int j = 0; j < arity; ++j) { parameters[j] = new double[dim[j]]; for (int u = 0; u < dim[j]; ++u) { @@ -196,7 +196,7 @@ TEST(GradientCheckingCostFunction, SmokeTest) { // Make a random set of blocks. vector parameters(arity); std::mt19937 prng; - std::uniform_real_distribution uniform01(-1.0, 1.0); + std::uniform_real_distribution uniform01(-1.0, 1.0); for (int j = 0; j < arity; ++j) { parameters[j] = new double[dim[j]]; for (int u = 0; u < dim[j]; ++u) { diff --git a/internal/ceres/inner_product_computer_test.cc b/internal/ceres/inner_product_computer_test.cc index 9c0382bcf..5bd4c50f4 100644 --- a/internal/ceres/inner_product_computer_test.cc +++ b/internal/ceres/inner_product_computer_test.cc @@ -81,7 +81,7 @@ TEST(InnerProductComputer, NormalOperation) { const int kMaxNumColBlocks = 10; const int kNumTrials = 10; std::mt19937 prng; - std::uniform_real_distribution distribution(0.01, 1.0); + std::uniform_real_distribution distribution(0.01, 1.0); // Create a random matrix, compute its outer product using Eigen and // ComputeOuterProduct. Convert both matrices to dense matrices and @@ -145,7 +145,7 @@ TEST(InnerProductComputer, SubMatrix) { const int kNumColBlocks = 20; const int kNumTrials = 5; std::mt19937 prng; - std::uniform_real_distribution distribution(0.01, 1.0); + std::uniform_real_distribution distribution(0.01, 1.0); // Create a random matrix, compute its outer product using Eigen and // ComputeInnerProductComputer. Convert both matrices to dense matrices and diff --git a/internal/ceres/normal_prior_test.cc b/internal/ceres/normal_prior_test.cc index 9c84555d8..25e6322cd 100644 --- a/internal/ceres/normal_prior_test.cc +++ b/internal/ceres/normal_prior_test.cc @@ -41,7 +41,7 @@ namespace internal { TEST(NormalPriorTest, ResidualAtRandomPosition) { std::mt19937 prng; - std::uniform_real_distribution distribution(-1.0, 1.0); + std::uniform_real_distribution distribution(-1.0, 1.0); for (int num_rows = 1; num_rows < 5; ++num_rows) { for (int num_cols = 1; num_cols < 5; ++num_cols) { Vector b(num_cols); @@ -76,7 +76,7 @@ TEST(NormalPriorTest, ResidualAtRandomPosition) { TEST(NormalPriorTest, ResidualAtRandomPositionNullJacobians) { std::mt19937 prng; - std::uniform_real_distribution distribution(-1.0, 1.0); + std::uniform_real_distribution distribution(-1.0, 1.0); for (int num_rows = 1; num_rows < 5; ++num_rows) { for (int num_cols = 1; num_cols < 5; ++num_cols) { Vector b(num_cols); diff --git a/internal/ceres/sparse_cholesky_test.cc b/internal/ceres/sparse_cholesky_test.cc index e99d59bc2..73e1455c6 100644 --- a/internal/ceres/sparse_cholesky_test.cc +++ b/internal/ceres/sparse_cholesky_test.cc @@ -171,7 +171,7 @@ TEST_P(SparseCholeskyTest, FactorAndSolve) { const int kMinBlockSize = 1; const int kMaxBlockSize = 5; std::mt19937 prng; - std::uniform_real_distribution distribution(0.1, 1.0); + std::uniform_real_distribution distribution(0.1, 1.0); for (int num_blocks = kMinNumBlocks; num_blocks < kMaxNumBlocks; ++num_blocks) { diff --git a/internal/ceres/triplet_sparse_matrix.cc b/internal/ceres/triplet_sparse_matrix.cc index c5ff2e586..b8f43adbd 100644 --- a/internal/ceres/triplet_sparse_matrix.cc +++ b/internal/ceres/triplet_sparse_matrix.cc @@ -318,8 +318,8 @@ std::unique_ptr TripletSparseMatrix::CreateRandomMatrix( std::vector cols; std::vector values; std::mt19937 prng; - std::uniform_real_distribution uniform01(0.0, 1.0); - std::uniform_real_distribution standard_normal; + std::uniform_real_distribution uniform01(0.0, 1.0); + std::normal_distribution standard_normal; while (rows.empty()) { rows.clear(); cols.clear();