)]}'
{
  "commit": "6e8bd501b25dc308df7b1a5eed16edfd8442002e",
  "tree": "30de06d7d862afa928609b0ff3ff07f6831b3c3c",
  "parents": [
    "1ab7fde626c3d3ac02664183f21fedd397785bea"
  ],
  "author": {
    "name": "Keir Mierle",
    "email": "mierle@gmail.com",
    "time": "Thu May 23 01:49:08 2013 -0700"
  },
  "committer": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Tue Jul 09 06:28:55 2013 +0000"
  },
  "message": "Extend the C API to support loss functions\n\nThis extends the C API to support loss functions. Both\nuser-supplied cost functions as well as the stock Ceres cost\nfunctions (Cauchy, Huber, etc) are supported. In addition, this\nadds a simple unit test for the C API.\n\nSupporting loss functions required changing the signature of the\nceres_add_residual_block() function to also take a thunk for the\nloss function.\n\nChange-Id: Iefa58cf709adbb8f24588e5eb6aed9aef46b6d73\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5e3cd16496792f1162442c94f2e58c60e865e91b",
      "old_mode": 33188,
      "old_path": "examples/curve_fitting.c",
      "new_id": "1d1ec9b4ed25d60cff24dae8c3b494aa08ad75cc",
      "new_mode": 33188,
      "new_path": "examples/curve_fitting.c"
    },
    {
      "type": "modify",
      "old_id": "8d74a2713d2263549b85b56b95ce4bd842d9540c",
      "old_mode": 33188,
      "old_path": "include/ceres/c_api.h",
      "new_id": "8b4eaf55ed727a2e3e88d61081b9b9b55a9e87c4",
      "new_mode": 33188,
      "new_path": "include/ceres/c_api.h"
    },
    {
      "type": "modify",
      "old_id": "3b8b2f06d1980262ba21eeeb0095fe174e8a6354",
      "old_mode": 33188,
      "old_path": "internal/ceres/CMakeLists.txt",
      "new_id": "dfa567c0fbe98f2a8800251b4ae289742488922d",
      "new_mode": 33188,
      "new_path": "internal/ceres/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "4d7d59b17928935765e438b8f10bd6d8d03e49c5",
      "old_mode": 33188,
      "old_path": "internal/ceres/c_api.cc",
      "new_id": "02bc1290d937edd1db1197c2679618d6ca8b3a42",
      "new_mode": 33188,
      "new_path": "internal/ceres/c_api.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c6bfb376f6910420da5f64f0bee0df453042d646",
      "new_mode": 33188,
      "new_path": "internal/ceres/c_api_test.cc"
    }
  ]
}
