)]}'
{
  "commit": "4b8c731d8a4f3fda53c642ff14a25fab6c233918",
  "tree": "60379b114e7d3007f6198dcf32cc15b7396574e3",
  "parents": [
    "5cb5b35a930c1702278083c75769dbb4e5801045"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Fri Jul 31 10:05:52 2020 -0700"
  },
  "committer": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Fri Jul 31 10:05:52 2020 -0700"
  },
  "message": "Fix a bug in DynamicAutoDiffCostFunction\n\nDynamicAutoDiffCostFunction::Evaluate when provided with a jacobians\narray that was non-empty but all its entries are nullptr, would\ncompute num_active_parameters \u003d 0, and then skip over all the loops\nthat evaluated the CostFunctor.\n\nThe fix is to check if num_active_parameters \u003d\u003d 0, and then treat\nit as the case where jacobians array is null.\n\nThanks to Ky Waegel for reporting and providing a reproduction for this.\n\nChange-Id: Ib86930c2c3f722724d249f662bf88238679bbf98\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7b75150b5ceb3a8e41eecd87caf344f625547a04",
      "old_mode": 33188,
      "old_path": "include/ceres/dynamic_autodiff_cost_function.h",
      "new_id": "10270643ba58b353845040c182d96b799322b64a",
      "new_mode": 33188,
      "new_path": "include/ceres/dynamic_autodiff_cost_function.h"
    },
    {
      "type": "modify",
      "old_id": "bec31c530b81364e7508aa9cae7c0f8165d47734",
      "old_mode": 33188,
      "old_path": "internal/ceres/dynamic_autodiff_cost_function_test.cc",
      "new_id": "6b57fd39f206ef7879e721df6b22b1bd04170451",
      "new_mode": 33188,
      "new_path": "internal/ceres/dynamic_autodiff_cost_function_test.cc"
    }
  ]
}
