)]}'
{
  "commit": "0e2743e24d013b25109396cfa0d8d0f1e8e84964",
  "tree": "ddb1436da6ee053cd63cb1ecd7b1c2af32f1e7a6",
  "parents": [
    "6a2bcaa1d55d38bc10d043f1458657caac2be7a7"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Wed Oct 23 14:51:07 2013 -0700"
  },
  "committer": {
    "name": "Keir Mierle",
    "email": "mierle@gmail.com",
    "time": "Thu Oct 24 19:40:38 2013 +0000"
  },
  "message": "Add BlockRandomAccessDiagonalMatrix.\n\nThis class is used in the SchurJacobiPreconditioner for\nstoring the preconditioner matrix. Using it speeds up\nthe computation of the preconditioner by ~15% due to\nthe elimination of a hash table lookup.\n\nChange-Id: Iba2b34aad0d9eb9bcb7f6e6fad16aa416aac0d2a\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "eee8abfbab00437ebee7d4d7b23221792229cbbb",
      "old_mode": 33188,
      "old_path": "internal/ceres/CMakeLists.txt",
      "new_id": "02a17315473fc479e2cd231e2c3cc708eec6cf26",
      "new_mode": 33188,
      "new_path": "internal/ceres/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d8bf4ef0cb51b4df9cfba74bca8100e462b994bd",
      "new_mode": 33188,
      "new_path": "internal/ceres/block_random_access_diagonal_matrix.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6b3cff2338f26e6a56fb80282167431af006830f",
      "new_mode": 33188,
      "new_path": "internal/ceres/block_random_access_diagonal_matrix.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e19268bef2141240803fe95f241547df3c863937",
      "new_mode": 33188,
      "new_path": "internal/ceres/block_random_access_diagonal_matrix_test.cc"
    },
    {
      "type": "modify",
      "old_id": "a6b5f39a9855d0cee99f3e66bc785a9391281d1a",
      "old_mode": 33188,
      "old_path": "internal/ceres/block_random_access_sparse_matrix.h",
      "new_id": "27b10296d6c8b9fbed5fa4e68e64e2a6b60ad53e",
      "new_mode": 33188,
      "new_path": "internal/ceres/block_random_access_sparse_matrix.h"
    },
    {
      "type": "modify",
      "old_id": "338df715c0a7d333c724018d39bdabc6dfc43221",
      "old_mode": 33188,
      "old_path": "internal/ceres/schur_jacobi_preconditioner.cc",
      "new_id": "5b87e9f25db1cf363b5172699af5ee08f1fc93ae",
      "new_mode": 33188,
      "new_path": "internal/ceres/schur_jacobi_preconditioner.cc"
    },
    {
      "type": "modify",
      "old_id": "f6e7b0d37ef86a14f6221508bc70098b15e3511d",
      "old_mode": 33188,
      "old_path": "internal/ceres/schur_jacobi_preconditioner.h",
      "new_id": "aecb015108370874926de22906b49c2d8efdfa06",
      "new_mode": 33188,
      "new_path": "internal/ceres/schur_jacobi_preconditioner.h"
    },
    {
      "type": "modify",
      "old_id": "49cad307178475c1afeb86c360698591e53e6bb6",
      "old_mode": 33188,
      "old_path": "jni/Android.mk",
      "new_id": "1c6f045225622a285ed90f88185fb172cb804b82",
      "new_mode": 33188,
      "new_path": "jni/Android.mk"
    }
  ]
}
