Lint and other fixes from William Rucklidge

Change-Id: Ic18561a5cdadccc75e97818fa4422bb5d9d43df9
diff --git a/docs/source/modeling.rst b/docs/source/modeling.rst
index 93098f1..95832b1 100644
--- a/docs/source/modeling.rst
+++ b/docs/source/modeling.rst
@@ -350,10 +350,10 @@
         : public SizedCostFunction<M, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9> {
       };
 
-   To get an numerically differentiated :class:`CostFunction`, you
-   must define a class with a ``operator()`` (a functor) that computes
-   the residuals. The functor must write the computed value in the
-   last argument (the only non-``const`` one) and return ``true`` to
+   To get a numerically differentiated :class:`CostFunction`, you must
+   define a class with a ``operator()`` (a functor) that computes the
+   residuals. The functor must write the computed value in the last
+   argument (the only non-``const`` one) and return ``true`` to
    indicate success.  Please see :class:`CostFunction` for details on
    how the return value may be used to impose simple constraints on
    the parameter block. e.g., an object of the form
diff --git a/docs/source/solving.rst b/docs/source/solving.rst
index c992c5b..9b26166 100644
--- a/docs/source/solving.rst
+++ b/docs/source/solving.rst
@@ -1022,7 +1022,7 @@
    1. Compute the Jacobian matrix in some order and then have the
       factorization algorithm permute the columns of the Jacobian.
 
-   2. Compute the Jacobian with it's columns already permuted.
+   2. Compute the Jacobian with its columns already permuted.
 
    The first option incurs a significant memory penalty. The
    factorization algorithm has to make a copy of the permuted Jacobian
@@ -1314,7 +1314,8 @@
 .. class:: IterationSummary
 
    :class:`IterationSummary` describes the state of the optimizer
-   after each iteration of the minimization.
+   after each iteration of the minimization. Note that all times are
+   wall times.
 
    .. code-block:: c++
 
@@ -1524,6 +1525,8 @@
 
 .. class:: Solver::Summary
 
+  Note that all times reported in this struct are wall times.
+
   .. code-block:: c++
 
      struct Summary {
diff --git a/docs/source/tutorial.rst b/docs/source/tutorial.rst
index 3329927..da63e9e 100644
--- a/docs/source/tutorial.rst
+++ b/docs/source/tutorial.rst
@@ -244,7 +244,7 @@
       residuals[0] = 10 - x;
 
       // Compute the Jacobian if asked for.
-      if (jacobians != NULL) {
+      if (jacobians != NULL && jacobians[0] != NULL) {
         jacobians[0][0] = -1;
       }
       return true;
diff --git a/docs/source/version_history.rst b/docs/source/version_history.rst
index a83d098..11e1e46 100644
--- a/docs/source/version_history.rst
+++ b/docs/source/version_history.rst
@@ -31,7 +31,7 @@
 #. Enabling -O4 (link-time optimization) only if compiler/linker support it. (Alex Stewart)
 #. Consistent glog path across files.
 #. ceres-solver.spec: Use cleaner, more conventional Release string (Taylor Braun-Jones)
-#. Fix compile bug on RHEL6 due to missing header (Taylor Braun-Jones 3 weeks ago)
+#. Fix compile bug on RHEL6 due to missing header (Taylor Braun-Jones)
 
 
 1.6.0
diff --git a/include/ceres/iteration_callback.h b/include/ceres/iteration_callback.h
index 0dc4c96..13140c2 100644
--- a/include/ceres/iteration_callback.h
+++ b/include/ceres/iteration_callback.h
@@ -128,6 +128,8 @@
   // Newton step.
   int linear_solver_iterations;
 
+  // All times reported below are wall times.
+
   // Time (in seconds) spent inside the minimizer loop in the current
   // iteration.
   double iteration_time_in_seconds;
diff --git a/include/ceres/jet.h b/include/ceres/jet.h
index 7299a48..4d2a857 100644
--- a/include/ceres/jet.h
+++ b/include/ceres/jet.h
@@ -545,8 +545,8 @@
 Jet<T, N> tanh(const Jet<T, N>& f) {
   Jet<T, N> g;
   g.a = tanh(f.a);
-  double tanh_fa = tanh(f.a);
-  const T tmp = 1 - tanh_fa * tanh_fa;
+  double tanh_a = tanh(f.a);
+  const T tmp = T(1.0) - tanh_a * tanh_a;
   g.v = tmp * f.v;
   return g;
 }
diff --git a/include/ceres/solver.h b/include/ceres/solver.h
index 854df2a..8bf87f9 100644
--- a/include/ceres/solver.h
+++ b/include/ceres/solver.h
@@ -603,6 +603,8 @@
     int num_unsuccessful_steps;
     int num_inner_iteration_steps;
 
+    // All times reported below are wall times.
+
     // When the user calls Solve, before the actual optimization
     // occurs, Ceres performs a number of preprocessing steps. These
     // include error checks, memory allocations, and reorderings. This
diff --git a/internal/ceres/solver.cc b/internal/ceres/solver.cc
index 5acbbfd..9ff2d15 100644
--- a/internal/ceres/solver.cc
+++ b/internal/ceres/solver.cc
@@ -283,7 +283,6 @@
     StringAppendF(&report, "%45s    %21s\n", "Given",  "Used");
     StringAppendF(&report, "Threads             % 25d% 25d\n",
                   num_threads_given, num_threads_used);
-
   }
 
   if (termination_type == DID_NOT_RUN) {