Cleanup based on comments by William Rucklidge Change-Id: If269ba8e388965a8ea32260fd6f17a133a19ab9b
diff --git a/docs/source/version_history.rst b/docs/source/version_history.rst index 40e2bcb..a874923 100644 --- a/docs/source/version_history.rst +++ b/docs/source/version_history.rst
@@ -102,6 +102,8 @@ #. ``SCHUR_JACOBI`` can now be used without ``SuiteSparse``. +#. A ``.spec`` file for producing RPMs. (Taylor Braun-Jones) + Bug Fixes --------- #. Fix ``No previous prototype`` warnings. (Sergey Sharybin) @@ -128,6 +130,9 @@ #. Fixed a memory leak in ``cxsparse.cc``. (Alexander Mordvintsev). +#. Fixed the install directory for libraries by correctly handling + ``LIB_SUFFIX``. (Taylor Braun-Jones) + 1.4.0 =====
diff --git a/include/ceres/dynamic_autodiff_cost_function.h b/include/ceres/dynamic_autodiff_cost_function.h index 861164a..e4549c5 100644 --- a/include/ceres/dynamic_autodiff_cost_function.h +++ b/include/ceres/dynamic_autodiff_cost_function.h
@@ -78,7 +78,7 @@ class DynamicAutoDiffCostFunction : public CostFunction { public: explicit DynamicAutoDiffCostFunction(CostFunctor* functor) - : functor_(functor) {} + : functor_(functor) {} virtual ~DynamicAutoDiffCostFunction() {}
diff --git a/include/ceres/problem.h b/include/ceres/problem.h index bccb329..bab3bfe 100644 --- a/include/ceres/problem.h +++ b/include/ceres/problem.h
@@ -345,7 +345,7 @@ // problem. // // NOTE: This vector should contain the same pointers as the ones - // used to add parameter blocks to the Problem. These parmeter + // used to add parameter blocks to the Problem. These parameter // block should NOT point to new memory locations. Bad things will // happen otherwise. vector<double*> parameter_blocks; @@ -390,7 +390,7 @@ // the gradient vector (and the number of columns in the jacobian) // is the sum of the sizes of all the parameter blocks. If a // parameter block has a local parameterization, then it contributes - // "LocalSize" entries to the gradient vecto (and the number of + // "LocalSize" entries to the gradient vector (and the number of // columns in the jacobian). bool Evaluate(const EvaluateOptions& options, double* cost,
diff --git a/internal/ceres/line_search_direction.cc b/internal/ceres/line_search_direction.cc index 2f27a78..1fc4de5 100644 --- a/internal/ceres/line_search_direction.cc +++ b/internal/ceres/line_search_direction.cc
@@ -81,7 +81,7 @@ *search_direction = -current.gradient + beta * previous.search_direction; const double directional_derivative = - current. gradient.dot(*search_direction); + current.gradient.dot(*search_direction); if (directional_derivative > -function_tolerance_) { LOG(WARNING) << "Restarting non-linear conjugate gradients: " << directional_derivative;
diff --git a/internal/ceres/linear_solver.h b/internal/ceres/linear_solver.h index a980514..5aeedcd 100644 --- a/internal/ceres/linear_solver.h +++ b/internal/ceres/linear_solver.h
@@ -106,11 +106,11 @@ // // For example if elimination_groups is a vector of size k, then // the linear solver is informed that it should eliminate the - // parameter blocks 0 - elimination_groups[0] - 1 first, and then - // elimination_groups[0] - elimination_groups[1] and so on. Within - // each elimination group, the linear solver is free to choose how - // the parameter blocks are ordered. Different linear solvers have - // differing requirements on elimination_groups. + // parameter blocks 0 ... elimination_groups[0] - 1 first, and + // then elimination_groups[0] ... elimination_groups[1] - 1 and so + // on. Within each elimination group, the linear solver is free to + // choose how the parameter blocks are ordered. Different linear + // solvers have differing requirements on elimination_groups. // // The most common use is for Schur type solvers, where there // should be at least two elimination groups and the first
diff --git a/internal/ceres/mutex.h b/internal/ceres/mutex.h index 410748f..0c48ed3 100644 --- a/internal/ceres/mutex.h +++ b/internal/ceres/mutex.h
@@ -275,7 +275,8 @@ // "MutexLock(x) COMPILE_ASSERT(false)". To work around this, "Ceres" is // prefixed to the class names; this permits defining the classes. -// CeresMutexLock(mu) acquires mu when constructed and releases it when destroyed. +// CeresMutexLock(mu) acquires mu when constructed and releases it +// when destroyed. class CeresMutexLock { public: explicit CeresMutexLock(Mutex *mu) : mu_(mu) { mu_->Lock(); }
diff --git a/internal/ceres/preconditioner.h b/internal/ceres/preconditioner.h index 5bb077e..894a2e6 100644 --- a/internal/ceres/preconditioner.h +++ b/internal/ceres/preconditioner.h
@@ -70,7 +70,7 @@ // For example if elimination_groups is a vector of size k, then // the linear solver is informed that it should eliminate the // parameter blocks 0 ... elimination_groups[0] - 1 first, and - // then elimination_groups[0] ... elimination_groups[1] and so + // then elimination_groups[0] ... elimination_groups[1] - 1 and so // on. Within each elimination group, the linear solver is free to // choose how the parameter blocks are ordered. Different linear // solvers have differing requirements on elimination_groups.
diff --git a/internal/ceres/problem_impl.cc b/internal/ceres/problem_impl.cc index bc378aa..1fb9e39 100644 --- a/internal/ceres/problem_impl.cc +++ b/internal/ceres/problem_impl.cc
@@ -657,8 +657,8 @@ gradient != NULL ? &(*gradient)[0] : NULL, tmp_jacobian.get()); - // Make the parameter blocks that were temporarirly marked - // constant, variable again. + // Make the parameter blocks that were temporarily marked constant, + // variable again. for (int i = 0; i < variable_parameter_blocks.size(); ++i) { variable_parameter_blocks[i]->SetVarying(); }
diff --git a/internal/ceres/problem_test.cc b/internal/ceres/problem_test.cc index 130148d..888eb7c 100644 --- a/internal/ceres/problem_test.cc +++ b/internal/ceres/problem_test.cc
@@ -769,7 +769,7 @@ // Simple cost function used for testing Problem::Evaluate. // // r_i = i - (j + 1) * x_ij^2 -template <int kNumResiduals, int kNumParameterBlocks > +template <int kNumResiduals, int kNumParameterBlocks> class QuadraticCostFunction : public CostFunction { public: QuadraticCostFunction() {
diff --git a/internal/ceres/solver.cc b/internal/ceres/solver.cc index 6436d2d..45e6865 100644 --- a/internal/ceres/solver.cc +++ b/internal/ceres/solver.cc
@@ -204,7 +204,7 @@ StringAppendF(&report, "\n"); StringAppendF(&report, "\n"); - StringAppendF(&report, "%45s %21s\n", "Given", "Used"); + StringAppendF(&report, "%45s %21s\n", "Given", "Used"); StringAppendF(&report, "Linear solver %25s%25s\n", LinearSolverTypeToString(linear_solver_type_given), LinearSolverTypeToString(linear_solver_type_used)); @@ -299,15 +299,15 @@ // LINE_SEARCH StringAppendF(&report, "\nMinimizer %19s\n", "LINE_SEARCH"); if (line_search_direction_type == LBFGS) { - StringAppendF(&report, "Line search direction %19s(%d)\n", + StringAppendF(&report, "Line search direction %19s(%d)\n", LineSearchDirectionTypeToString(line_search_direction_type), max_lbfgs_rank); } else { - StringAppendF(&report, "Line search direction %19s\n", + StringAppendF(&report, "Line search direction %19s\n", LineSearchDirectionTypeToString( line_search_direction_type)); } - StringAppendF(&report, "Line search type %19s\n", + StringAppendF(&report, "Line search type %19s\n", LineSearchTypeToString(line_search_type)); StringAppendF(&report, "\n");
diff --git a/internal/ceres/visibility.cc b/internal/ceres/visibility.cc index 8e80fd1..371bdfa 100644 --- a/internal/ceres/visibility.cc +++ b/internal/ceres/visibility.cc
@@ -139,7 +139,8 @@ const int count = it->second; // Static cast necessary for Windows. const double weight = static_cast<double>(count) / - (sqrt(static_cast<double>(visibility[camera1].size() * visibility[camera2].size()))); + (sqrt(static_cast<double>( + visibility[camera1].size() * visibility[camera2].size()))); graph->AddEdge(camera1, camera2, weight); }
diff --git a/internal/ceres/visibility_based_preconditioner.h b/internal/ceres/visibility_based_preconditioner.h index 8a09c78..dae4987 100644 --- a/internal/ceres/visibility_based_preconditioner.h +++ b/internal/ceres/visibility_based_preconditioner.h
@@ -38,7 +38,8 @@ // documented here can be found in // // Visibility Based Preconditioning for Bundle Adjustment -// A. Kushal & S. Agarwal, submitted to CVPR 2012 +// A. Kushal & S. Agarwal, CVPR 2012. +// // http://www.cs.washington.edu/homes/sagarwal/vbp.pdf // // The two preconditioners share enough code that its most efficient
diff --git a/scripts/make_docs.py b/scripts/make_docs.py index 41879cb..8f7e718 100644 --- a/scripts/make_docs.py +++ b/scripts/make_docs.py
@@ -32,9 +32,9 @@ # # Note: You will need Sphinx and Pygments installed for this to work. -import sys -import os import glob +import os +import sys if len(sys.argv) < 3: print "make_docs.py src_root destination_root" @@ -63,5 +63,8 @@ print "Postprocessing: ", name fptr = open(name) out = fptr.read().replace(input_pattern, output_pattern) - open(name, "w").write(out) - fptr.close(); + fptr.close() + + fptr = open(name, "w") + fptr.write(out) + fptr.close()