)]}'
{
  "commit": "f86a3bdbeac8cd67b7b905f5c57ac73943689884",
  "tree": "b1f83d8261209eba69822d89c767b41ff8ffdb61",
  "parents": [
    "5f1946879435fc857120a532cfe47bd133a93902"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Mon Aug 29 21:52:30 2022 -0700"
  },
  "committer": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Sun Sep 11 07:31:28 2022 -0700"
  },
  "message": "Unify Block handling across matrix types\n\nPreviously some matrices used Block to keep track of\nrow/column block sizes and some would just use ints, and\nthen compute the position of each row and column from it.\n\nBy uniformly using Block everywhere, we reduce duplicate\ncomputation and data copies.\n\nI also cleaned up a bunch of c++17 related stuff as I edited\nthese files.\n\nChange-Id: I4c86b1593fd4c91f9057fbb38314f62f303e0477\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7aaa605e33edfcd3bd1ea20ff3c5f3ebfb531a57",
      "old_mode": 33188,
      "old_path": "internal/ceres/block_jacobi_preconditioner.cc",
      "new_id": "db70abfeed7146632bcb1750484ecee1f15a9cd5",
      "new_mode": 33188,
      "new_path": "internal/ceres/block_jacobi_preconditioner.cc"
    },
    {
      "type": "modify",
      "old_id": "db60c7b07866b0d761c123f6e3675aae72b24e33",
      "old_mode": 33188,
      "old_path": "internal/ceres/block_jacobi_preconditioner_test.cc",
      "new_id": "fa051e4a782140046c207360c96e8ae9d3423eb4",
      "new_mode": 33188,
      "new_path": "internal/ceres/block_jacobi_preconditioner_test.cc"
    },
    {
      "type": "modify",
      "old_id": "341d7fe6e24234c4a904fde7e812c66a30e5902e",
      "old_mode": 33188,
      "old_path": "internal/ceres/block_random_access_dense_matrix.cc",
      "new_id": "78c214637920e99c6e2f9c0935797e916965dd9e",
      "new_mode": 33188,
      "new_path": "internal/ceres/block_random_access_dense_matrix.cc"
    },
    {
      "type": "modify",
      "old_id": "c8c066af5254381f4ca7c0f974a55677ee6ef5ec",
      "old_mode": 33188,
      "old_path": "internal/ceres/block_random_access_dense_matrix.h",
      "new_id": "085a54de6455509c24915849dfbab56e14c2df2e",
      "new_mode": 33188,
      "new_path": "internal/ceres/block_random_access_dense_matrix.h"
    },
    {
      "type": "modify",
      "old_id": "c85c3887693491502c13be73625abfb9f9b563f1",
      "old_mode": 33188,
      "old_path": "internal/ceres/block_random_access_dense_matrix_test.cc",
      "new_id": "b0cd5b97cc49cdfd3661f674743e1d75bbd28851",
      "new_mode": 33188,
      "new_path": "internal/ceres/block_random_access_dense_matrix_test.cc"
    },
    {
      "type": "modify",
      "old_id": "006713fb50ab9a23970430005bccf5be219eaa9e",
      "old_mode": 33188,
      "old_path": "internal/ceres/block_random_access_diagonal_matrix.cc",
      "new_id": "2e29604f59e44ffd93d786a9c034a884c59df251",
      "new_mode": 33188,
      "new_path": "internal/ceres/block_random_access_diagonal_matrix.cc"
    },
    {
      "type": "modify",
      "old_id": "2a726a0ed132b43a591770d94e5df4990305844c",
      "old_mode": 33188,
      "old_path": "internal/ceres/block_random_access_diagonal_matrix.h",
      "new_id": "d0583966491a0f56ba8fa0d3a9a6de2b2f83b006",
      "new_mode": 33188,
      "new_path": "internal/ceres/block_random_access_diagonal_matrix.h"
    },
    {
      "type": "modify",
      "old_id": "37e1f88331b38a5ab0ad3525d3847187bd2d6c95",
      "old_mode": 33188,
      "old_path": "internal/ceres/block_random_access_diagonal_matrix_test.cc",
      "new_id": "5bf47ff730c7652ac08e4f2af715addf527ee588",
      "new_mode": 33188,
      "new_path": "internal/ceres/block_random_access_diagonal_matrix_test.cc"
    },
    {
      "type": "modify",
      "old_id": "2df4c71f29102c0f9c386283de6d78f071510ffd",
      "old_mode": 33188,
      "old_path": "internal/ceres/block_random_access_sparse_matrix.cc",
      "new_id": "f27fc08ea55eecb66ef67021662992678fa07387",
      "new_mode": 33188,
      "new_path": "internal/ceres/block_random_access_sparse_matrix.cc"
    },
    {
      "type": "modify",
      "old_id": "fe2b13c88e576f43786d12cdf78bbf05e96944c2",
      "old_mode": 33188,
      "old_path": "internal/ceres/block_random_access_sparse_matrix.h",
      "new_id": "7161e99d9a9e4df9795a96b679088aba26b8b48f",
      "new_mode": 33188,
      "new_path": "internal/ceres/block_random_access_sparse_matrix.h"
    },
    {
      "type": "modify",
      "old_id": "605bfbeb649087bc196db6b4b2b133268719a456",
      "old_mode": 33188,
      "old_path": "internal/ceres/block_random_access_sparse_matrix_test.cc",
      "new_id": "78a6c3e029bd7b73ab2a8289ba1fd9f0728993cf",
      "new_mode": 33188,
      "new_path": "internal/ceres/block_random_access_sparse_matrix_test.cc"
    },
    {
      "type": "modify",
      "old_id": "b1447f8de55369711baa740dd87fabd2214b7d5b",
      "old_mode": 33188,
      "old_path": "internal/ceres/block_sparse_matrix.cc",
      "new_id": "0401696cbff7cee14f04d0efe35c3601d36e3706",
      "new_mode": 33188,
      "new_path": "internal/ceres/block_sparse_matrix.cc"
    },
    {
      "type": "modify",
      "old_id": "f6767b48432ab472726dfcc1ff9ae60b7da5de26",
      "old_mode": 33188,
      "old_path": "internal/ceres/block_structure.cc",
      "new_id": "cbc493b66e8e2bf69b9c3d398fcaaa8efff58447",
      "new_mode": 33188,
      "new_path": "internal/ceres/block_structure.cc"
    },
    {
      "type": "modify",
      "old_id": "2ba6b327a9152aeba02c8173f6f85270ad81f6f0",
      "old_mode": 33188,
      "old_path": "internal/ceres/block_structure.h",
      "new_id": "9ee10aff073748fa68b1fc8e02c01f2f8796bc4e",
      "new_mode": 33188,
      "new_path": "internal/ceres/block_structure.h"
    },
    {
      "type": "modify",
      "old_id": "cb6be558fddbdb5846ce5c3ebc831573be9e41d3",
      "old_mode": 33188,
      "old_path": "internal/ceres/compressed_col_sparse_matrix_utils.cc",
      "new_id": "8d94ec29bac2ffabfc74a6e0a81b472695f0ab9d",
      "new_mode": 33188,
      "new_path": "internal/ceres/compressed_col_sparse_matrix_utils.cc"
    },
    {
      "type": "modify",
      "old_id": "608150e29b42d5310593a2667e5a9a59c1abf8c4",
      "old_mode": 33188,
      "old_path": "internal/ceres/compressed_col_sparse_matrix_utils.h",
      "new_id": "fbb0abf35d5cadefb7e961596ced9bc805b5f1ee",
      "new_mode": 33188,
      "new_path": "internal/ceres/compressed_col_sparse_matrix_utils.h"
    },
    {
      "type": "modify",
      "old_id": "3b7f9de077340f8fc5238ca9a8c3b61d953bd321",
      "old_mode": 33188,
      "old_path": "internal/ceres/compressed_col_sparse_matrix_utils_test.cc",
      "new_id": "ef42ee2d478114a4cd0c3fdca748dbcf581258c7",
      "new_mode": 33188,
      "new_path": "internal/ceres/compressed_col_sparse_matrix_utils_test.cc"
    },
    {
      "type": "modify",
      "old_id": "c409872a422eb56e3a1659ca486078873e645b88",
      "old_mode": 33188,
      "old_path": "internal/ceres/compressed_row_jacobian_writer.cc",
      "new_id": "711255496da6f8448680eacaaafad1b566bd4fba",
      "new_mode": 33188,
      "new_path": "internal/ceres/compressed_row_jacobian_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "f2c774714501205c876581fc53df067c6acf217f",
      "old_mode": 33188,
      "old_path": "internal/ceres/compressed_row_sparse_matrix.cc",
      "new_id": "057adfd01f231ac25b02332f41c6eae89a2a3d54",
      "new_mode": 33188,
      "new_path": "internal/ceres/compressed_row_sparse_matrix.cc"
    },
    {
      "type": "modify",
      "old_id": "d98f61f749ee154a8dff40e33553e3a501d05bf6",
      "old_mode": 33188,
      "old_path": "internal/ceres/compressed_row_sparse_matrix.h",
      "new_id": "8668d06b0640b067da6a1e16d9f96e9e7709eaae",
      "new_mode": 33188,
      "new_path": "internal/ceres/compressed_row_sparse_matrix.h"
    },
    {
      "type": "modify",
      "old_id": "718a65933666ac05aed294c1e2bf0667124e91ec",
      "old_mode": 33188,
      "old_path": "internal/ceres/compressed_row_sparse_matrix_test.cc",
      "new_id": "82c982bc26e9bbc02e16789a27ea2a9781827046",
      "new_mode": 33188,
      "new_path": "internal/ceres/compressed_row_sparse_matrix_test.cc"
    },
    {
      "type": "modify",
      "old_id": "f7abca1ac8eaa521b6faea56a6f466c84db62a44",
      "old_mode": 33188,
      "old_path": "internal/ceres/implicit_schur_complement_test.cc",
      "new_id": "f0bbf6d5d2bcc3dc80229906b685326a36645a9c",
      "new_mode": 33188,
      "new_path": "internal/ceres/implicit_schur_complement_test.cc"
    },
    {
      "type": "modify",
      "old_id": "f2d545795a479262d96be5084f7e67862f4a0618",
      "old_mode": 33188,
      "old_path": "internal/ceres/inner_product_computer.cc",
      "new_id": "a1d683287ca30ea254c401b410f1c59adae6f9c3",
      "new_mode": 33188,
      "new_path": "internal/ceres/inner_product_computer.cc"
    },
    {
      "type": "modify",
      "old_id": "631862ced4c3123fab73b397e98039c482d7558e",
      "old_mode": 33188,
      "old_path": "internal/ceres/schur_complement_solver.cc",
      "new_id": "1825559087cbb30fc356b53d78654eb37ed8f937",
      "new_mode": 33188,
      "new_path": "internal/ceres/schur_complement_solver.cc"
    },
    {
      "type": "modify",
      "old_id": "cac96b5ba49e4aa5c944bf7bca86fba5bd9508fa",
      "old_mode": 33188,
      "old_path": "internal/ceres/schur_complement_solver.h",
      "new_id": "bb2cd88b4c77de173f430c95bcd1d7fd26fc0c85",
      "new_mode": 33188,
      "new_path": "internal/ceres/schur_complement_solver.h"
    },
    {
      "type": "modify",
      "old_id": "efd33ec2cba0864939d4cf251028db15f67e885b",
      "old_mode": 33188,
      "old_path": "internal/ceres/schur_eliminator_benchmark.cc",
      "new_id": "271f92a500018acb880ddf17aebc16e41098c479",
      "new_mode": 33188,
      "new_path": "internal/ceres/schur_eliminator_benchmark.cc"
    },
    {
      "type": "modify",
      "old_id": "c5ba328cd0c5b136b683eb7ddbce78c5d7b05928",
      "old_mode": 33188,
      "old_path": "internal/ceres/schur_eliminator_test.cc",
      "new_id": "dd30c23382214d6e28da6c446c11727e980f6756",
      "new_mode": 33188,
      "new_path": "internal/ceres/schur_eliminator_test.cc"
    },
    {
      "type": "modify",
      "old_id": "331792763cd0a1bc0def33904fb80bbc9086d44d",
      "old_mode": 33188,
      "old_path": "internal/ceres/schur_jacobi_preconditioner.cc",
      "new_id": "9870924dc928fa4dc828727e463faba0ace4bb34",
      "new_mode": 33188,
      "new_path": "internal/ceres/schur_jacobi_preconditioner.cc"
    },
    {
      "type": "modify",
      "old_id": "3f091b99c600ee72f38d7955cdc990d622175b25",
      "old_mode": 33188,
      "old_path": "internal/ceres/suitesparse.cc",
      "new_id": "8e12874707381be31036b4a8705fb2299a241856",
      "new_mode": 33188,
      "new_path": "internal/ceres/suitesparse.cc"
    },
    {
      "type": "modify",
      "old_id": "14dd2b1405612b6c00469152dcce4336b2217488",
      "old_mode": 33188,
      "old_path": "internal/ceres/suitesparse.h",
      "new_id": "aeea7b2e27f131a86998a02c12ffda5592754f17",
      "new_mode": 33188,
      "new_path": "internal/ceres/suitesparse.h"
    },
    {
      "type": "modify",
      "old_id": "bdbe3c40a0d90a505f731dca080a3a975ecab68e",
      "old_mode": 33188,
      "old_path": "internal/ceres/visibility_based_preconditioner.cc",
      "new_id": "eb926ee024e107f47a85fec38c976ff1c95f8bbd",
      "new_mode": 33188,
      "new_path": "internal/ceres/visibility_based_preconditioner.cc"
    },
    {
      "type": "modify",
      "old_id": "f27eb9e5f15a9b8be0d370db46fc87fea3bde2ec",
      "old_mode": 33188,
      "old_path": "internal/ceres/visibility_based_preconditioner.h",
      "new_id": "84773f8445ed88bc53c35ed88eb897faedfb40c2",
      "new_mode": 33188,
      "new_path": "internal/ceres/visibility_based_preconditioner.h"
    }
  ]
}
