)]}'
{
  "commit": "310a252fb63b259c8a5730c1dfe4d387997a53e1",
  "tree": "1d11c843d71195b53a0e6d64802ca5e06cf58b43",
  "parents": [
    "357482db701a85f101784a99159d063c5c3fa192"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Fri Aug 04 18:30:52 2023 -0700"
  },
  "committer": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Fri Aug 04 18:35:25 2023 -0700"
  },
  "message": "Deal with infinite initial cost correctly.\n\nPreviously it could be the case that a residual block could return\na residual whose squared norm overflows and generates an infinity\nwhich we did not detect. This would then lead to the trust region\nminimizer incorrectly terminating indicating convergence while\ngenerating a cost delta of NaN.\n\nThis change adds a check for that and also does two minor cosmetic\nchanges.\n\n1. Reduce the level of nesting in program_evaluator.h by adding\n   an early return.\n2. The error message when IterationZero fails now says that the\n   Initial residual and Jacobian failed, to indicate that the\n   optimizer had no chance to do any work.\n\nFixes https://github.com/ceres-solver/ceres-solver/issues/988\n\nThanks to @Ashray-g for reporting this.\n\nChange-Id: I52ae7627a66f637135209dbb2e42935b52c8bc77\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "372b2602bcaa0a399dd0e8001f2ef69e998bf404",
      "old_mode": 33188,
      "old_path": "internal/ceres/program_evaluator.h",
      "new_id": "6e9ce616d742a5d5fa1c69eb0016343f33f0514a",
      "new_mode": 33188,
      "new_path": "internal/ceres/program_evaluator.h"
    },
    {
      "type": "modify",
      "old_id": "a8df3406d32b6e4edba559570189ba32d59b191f",
      "old_mode": 33188,
      "old_path": "internal/ceres/solver_test.cc",
      "new_id": "4f3a8bd2e70e7a7d993f247500f3967fcd025f87",
      "new_mode": 33188,
      "new_path": "internal/ceres/solver_test.cc"
    },
    {
      "type": "modify",
      "old_id": "47f7fd503464bb7286d535971abcda853765afa7",
      "old_mode": 33188,
      "old_path": "internal/ceres/trust_region_minimizer.cc",
      "new_id": "85d85fdfd5e461dce30c39327d6d8b84f697d6cf",
      "new_mode": 33188,
      "new_path": "internal/ceres/trust_region_minimizer.cc"
    }
  ]
}
