)]}'
{
  "commit": "b051873a5580013bc780b64ecfdc8cfdd78d3066",
  "tree": "da73d3ef08bfdd293dc4dbd1616e602da39f97ab",
  "parents": [
    "319ef465e220230adb8ab1a2dff43c689321c7ad"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Tue May 29 00:27:57 2012 -0700"
  },
  "committer": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Tue May 29 19:44:43 2012 -0700"
  },
  "message": "Multiple sparse linear algebra backends.\n\n1. Added support for CXSparse - SparseNormalCholesky and\n   SchurComplementSolver support SuiteSparse and CXSparse now.\n   I am not sure I will add suport for visibility based\n   preconditioning using CXSparse. Its not a high priority.\n\n2. New enum SparseLinearAlgebraLibraryType which allows the user\n   to indicate which sparse linear algebra library should be used.\n\n3. Updated tests for SolverImpl and system_test.\n\n4. Build system changes to automatically detect CXSparse and\n   link to it by default -- just like SuiteSparse.\n\n5. Minor bug fixes dealing in the cmake files and VBP.\n\n6. Changed the order of the system test.\n\n7. Deduped the unsymmetric linear solver test.\n\nChange-Id: I33252a103c87b722ecb7ed7b5f0ae7fd91249244\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "39d4c646eaa2c9d8bcab5910b060250c37fd59fd",
      "old_mode": 33188,
      "old_path": "CMakeLists.txt",
      "new_id": "ab00debf4aeff5d9ba5edf0a4576269b87ba0b58",
      "new_mode": 33188,
      "new_path": "CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "be817687e5d4c5f290618da44dc7e7b29aee4130",
      "old_mode": 33188,
      "old_path": "include/ceres/solver.h",
      "new_id": "701f0b2d10c18133f8aa71de8c59d5547b60af54",
      "new_mode": 33188,
      "new_path": "include/ceres/solver.h"
    },
    {
      "type": "modify",
      "old_id": "a30c79029ace88033244c0516632db9aec183db7",
      "old_mode": 33188,
      "old_path": "include/ceres/types.h",
      "new_id": "61a9a0d04c2daea93d4dd3c48a9ced819ea6ba03",
      "new_mode": 33188,
      "new_path": "include/ceres/types.h"
    },
    {
      "type": "modify",
      "old_id": "2793ee532e53ed9dc896bdea46349b865b217e19",
      "old_mode": 33188,
      "old_path": "internal/ceres/CMakeLists.txt",
      "new_id": "1b8b0d0089046c751211bd09cfb40a9e3d2eb545",
      "new_mode": 33188,
      "new_path": "internal/ceres/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "7221a74e129ebe0bc30933ae4fd9708a436bfecc",
      "old_mode": 33188,
      "old_path": "internal/ceres/linear_solver.cc",
      "new_id": "c08d1f25aa3c2f023aeb0a5e0caf306975eb491b",
      "new_mode": 33188,
      "new_path": "internal/ceres/linear_solver.cc"
    },
    {
      "type": "modify",
      "old_id": "299a54144b03a1f3f93a378e9b70a019c234fbb7",
      "old_mode": 33188,
      "old_path": "internal/ceres/linear_solver.h",
      "new_id": "853abcbf287ff4ac7539f798da0516d3744eacde",
      "new_mode": 33188,
      "new_path": "internal/ceres/linear_solver.h"
    },
    {
      "type": "modify",
      "old_id": "4db7c31cc842ce1d9545dae25566d213a83db8b2",
      "old_mode": 33188,
      "old_path": "internal/ceres/schur_complement_solver.cc",
      "new_id": "b30d6ed166a0c02c7dfb2907c56717b6bea07a3d",
      "new_mode": 33188,
      "new_path": "internal/ceres/schur_complement_solver.cc"
    },
    {
      "type": "modify",
      "old_id": "7cd019a359c7cc7aad14993f5491d7e0ef783529",
      "old_mode": 33188,
      "old_path": "internal/ceres/schur_complement_solver.h",
      "new_id": "b788ce0918be7564f411c6aea8f350d12b33ba64",
      "new_mode": 33188,
      "new_path": "internal/ceres/schur_complement_solver.h"
    },
    {
      "type": "modify",
      "old_id": "5e0cc40f59e5291dd6e1f8792a849bd35826cc1d",
      "old_mode": 33188,
      "old_path": "internal/ceres/schur_complement_solver_test.cc",
      "new_id": "ea5c346606a5c8363be6d4e79d734166519b24a1",
      "new_mode": 33188,
      "new_path": "internal/ceres/schur_complement_solver_test.cc"
    },
    {
      "type": "modify",
      "old_id": "2ec3dee72b12f72f32c13d03ad486aa74d3a66cb",
      "old_mode": 33188,
      "old_path": "internal/ceres/solver_impl.cc",
      "new_id": "6f8fa179958d9c5f5712c696d6ef16a182095b8f",
      "new_mode": 33188,
      "new_path": "internal/ceres/solver_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "2abca63c097e428f212a012f607b23073165f273",
      "old_mode": 33188,
      "old_path": "internal/ceres/solver_impl_test.cc",
      "new_id": "20190f12a745dab95a7ab79ec8745b02865940fd",
      "new_mode": 33188,
      "new_path": "internal/ceres/solver_impl_test.cc"
    },
    {
      "type": "modify",
      "old_id": "d4c2f3d08cedc949a46ae5a9018363b4fafae707",
      "old_mode": 33188,
      "old_path": "internal/ceres/sparse_normal_cholesky_solver.cc",
      "new_id": "5a082de1932ef8c687d26a0c11f2afc72de9e71f",
      "new_mode": 33188,
      "new_path": "internal/ceres/sparse_normal_cholesky_solver.cc"
    },
    {
      "type": "modify",
      "old_id": "ce1d6d285bef34665935671eb35bd4bbbb0056f4",
      "old_mode": 33188,
      "old_path": "internal/ceres/sparse_normal_cholesky_solver.h",
      "new_id": "5445559e69e04ad22ef68388ee01b7eb02135802",
      "new_mode": 33188,
      "new_path": "internal/ceres/sparse_normal_cholesky_solver.h"
    },
    {
      "type": "modify",
      "old_id": "a9a674724af8b69a466bed8aa4244d171072c992",
      "old_mode": 33188,
      "old_path": "internal/ceres/system_test.cc",
      "new_id": "8e2f5ebbab4ce47d7e9880de74cba94e29fc0a65",
      "new_mode": 33188,
      "new_path": "internal/ceres/system_test.cc"
    },
    {
      "type": "modify",
      "old_id": "860f8a43f371bac9ab1a2571a8849cd9ca937c88",
      "old_mode": 33188,
      "old_path": "internal/ceres/types.cc",
      "new_id": "c6c4dea0de501312f5548ca0d7065308221a2823",
      "new_mode": 33188,
      "new_path": "internal/ceres/types.cc"
    },
    {
      "type": "modify",
      "old_id": "be9105621b694ee405c9c0ac014e64490eaf4bd6",
      "old_mode": 33188,
      "old_path": "internal/ceres/unsymmetric_linear_solver_test.cc",
      "new_id": "a7ee23e042f7fb2621814a6acc6a87fdf1d32cde",
      "new_mode": 33188,
      "new_path": "internal/ceres/unsymmetric_linear_solver_test.cc"
    },
    {
      "type": "modify",
      "old_id": "5f148424757967fdba490b119e1f19c3db994914",
      "old_mode": 33188,
      "old_path": "internal/ceres/visibility_based_preconditioner.h",
      "new_id": "c265a0e32425e8fbd3eadc6a0aeb48d2c8db023b",
      "new_mode": 33188,
      "new_path": "internal/ceres/visibility_based_preconditioner.h"
    }
  ]
}
