Simplify DynamicCompressedRowJacobianWriter::Write

Change-Id: I67aa2959bd479909b5cada79359c5cfdb8a37ef7
diff --git a/internal/ceres/dynamic_compressed_row_jacobian_writer.cc b/internal/ceres/dynamic_compressed_row_jacobian_writer.cc
index acc372a..1749449 100644
--- a/internal/ceres/dynamic_compressed_row_jacobian_writer.cc
+++ b/internal/ceres/dynamic_compressed_row_jacobian_writer.cc
@@ -29,6 +29,7 @@
 // Author: richie.stebbing@gmail.com (Richard Stebbing)
 
 #include "ceres/dynamic_compressed_row_jacobian_writer.h"
+
 #include "ceres/casts.h"
 #include "ceres/compressed_row_jacobian_writer.h"
 #include "ceres/dynamic_compressed_row_sparse_matrix.h"
@@ -82,12 +83,13 @@
     const int parameter_block_jacobian_index =
         evaluated_jacobian_blocks[i].second;
     const int parameter_block_size = parameter_block->LocalSize();
+    const double* parameter_jacobian =
+        jacobians[parameter_block_jacobian_index];
 
     // For each parameter block only insert its non-zero entries.
     for (int r = 0; r < num_residuals; ++r) {
-      for (int c = 0; c < parameter_block_size; ++c) {
-        const double& v = jacobians[parameter_block_jacobian_index]
-                                   [r * parameter_block_size + c];
+      for (int c = 0; c < parameter_block_size; ++c, ++parameter_jacobian) {
+        const double v = *parameter_jacobian;
         // Only insert non-zero entries.
         if (v != 0.0) {
           jacobian->InsertEntry(