)]}'
{
  "commit": "086ff01acaa3e0891e7dc6ba125f61997cc31758",
  "tree": "4047c6384f7f2dadd70a35831e8ee409cb16884f",
  "parents": [
    "d72e19d9859722421b9cb23089354a5a967cba12"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Mon May 01 17:24:22 2017 -0700"
  },
  "committer": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Mon May 01 22:53:21 2017 -0700"
  },
  "message": "Matrix generation cleanup\n\n1. Convert a CompressedRowSparseMatrix constructor which\ntakes a TripletSparseMatrix as input into a factory method\nwhich allows the input to be transposed.\n\n2. Move the random matrix creation routine for CompressedRowSparseMatrix\nfrom being a standalone function to a static method.\n\n3. Add a corresponding random matrix generation static method to\nTripletSparseMatrix.\n\n4. Add a new constructor to TripletSparseMatrix, which takes as input\nthe row, col and values arrays.\n\nChange-Id: Iec7b184646818f432a5e6822bea3b2f3128a82aa\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9c438f637a0ef26c5921d38c445a044c5f232808",
      "old_mode": 33188,
      "old_path": "internal/ceres/compressed_row_sparse_matrix.cc",
      "new_id": "ccb85bcb50ca30640f7b90d2e455c9d2d0a9dc7f",
      "new_mode": 33188,
      "new_path": "internal/ceres/compressed_row_sparse_matrix.cc"
    },
    {
      "type": "modify",
      "old_id": "bf677374b8581c4c11c4afde42f61e9b593e371b",
      "old_mode": 33188,
      "old_path": "internal/ceres/compressed_row_sparse_matrix.h",
      "new_id": "1e26f7c28e8c0447e9cc760c2a0d7e0685c67c69",
      "new_mode": 33188,
      "new_path": "internal/ceres/compressed_row_sparse_matrix.h"
    },
    {
      "type": "modify",
      "old_id": "66e2390272f1ed3dd12484fdce7af973ad2e26a2",
      "old_mode": 33188,
      "old_path": "internal/ceres/compressed_row_sparse_matrix_test.cc",
      "new_id": "bb8456e77e776648172ab9fb3b544e5f3a6308d1",
      "new_mode": 33188,
      "new_path": "internal/ceres/compressed_row_sparse_matrix_test.cc"
    },
    {
      "type": "modify",
      "old_id": "d27385a087a9f0c04c9c75f8e1d9be39320bdf2d",
      "old_mode": 33188,
      "old_path": "internal/ceres/dynamic_compressed_row_sparse_matrix_test.cc",
      "new_id": "40301423c63fe81869cc9dca65e088af82dc8548",
      "new_mode": 33188,
      "new_path": "internal/ceres/dynamic_compressed_row_sparse_matrix_test.cc"
    },
    {
      "type": "modify",
      "old_id": "81e0d46c1894cfd4d4b71a175402a6219450c343",
      "old_mode": 33188,
      "old_path": "internal/ceres/schur_complement_solver.cc",
      "new_id": "26c0e89a351f54245925004395573eaa868b607f",
      "new_mode": 33188,
      "new_path": "internal/ceres/schur_complement_solver.cc"
    },
    {
      "type": "modify",
      "old_id": "8df405ca115089f86f303a4cfd62d9e06c14095b",
      "old_mode": 33188,
      "old_path": "internal/ceres/triplet_sparse_matrix.cc",
      "new_id": "a7df060ea56a5fa0189e45bd0ecc4f5988324803",
      "new_mode": 33188,
      "new_path": "internal/ceres/triplet_sparse_matrix.cc"
    },
    {
      "type": "modify",
      "old_id": "f3f5370df6f471161ec226c2def715fea5694542",
      "old_mode": 33188,
      "old_path": "internal/ceres/triplet_sparse_matrix.h",
      "new_id": "1d82e14d4ac2978dbbf9dcef292adad68e01db3d",
      "new_mode": 33188,
      "new_path": "internal/ceres/triplet_sparse_matrix.h"
    },
    {
      "type": "modify",
      "old_id": "95797c52e318b53ca8fd1b264ceda37c9449ae8a",
      "old_mode": 33188,
      "old_path": "internal/ceres/unsymmetric_linear_solver_test.cc",
      "new_id": "a670f006516081de10688d5ba8fe520100268bf7",
      "new_mode": 33188,
      "new_path": "internal/ceres/unsymmetric_linear_solver_test.cc"
    }
  ]
}
