)]}'
{
  "commit": "f11c2562657254af63b656d01bca6923e785a163",
  "tree": "b7804b2b4631a80f4e8a221131a99381d7c2cf8a",
  "parents": [
    "b90053f1ad4c7ea84cecb246371916977b75998c"
  ],
  "author": {
    "name": "Alex Stewart",
    "email": "alexs.mac@gmail.com",
    "time": "Sat Jun 04 11:34:07 2022 +0100"
  },
  "committer": {
    "name": "Alex Stewart",
    "email": "alexs.mac@gmail.com",
    "time": "Wed Jun 22 14:19:55 2022 +0100"
  },
  "message": "Fix fmin/fmax() to use Jet averaging on equality\n\n- Prior to 48cb54d1, Ceres\u0027 fmin/fmax() for Jets followed the convention\n  of std::min/max(), and always returned the first argument on equality,\n  irrespective of whether this argument was natively a scalar or a Jet.\n- After 48cb54d1, Ceres\u0027 fmin/fmax() instead returned the second\n  argument on equality, again irrespective of whether this argument was\n  natively a scalar or a Jet.\n- Now on equality we average the arguments as Jets, which ensures that\n  a consistent answer is produced irrespective of the ordering or type\n  (Jet or scalar) of the input arguments. This also ensures that we\n  preserve a non-zero derivative where it exists, excluding the edge\n  case of two Jet inputs with equal but oppositely signed infinitesimal\n  components.\n- We retain the behaviour introduced in 48cb54d1 whereby NaNs are\n  treated as missing values, following the convention of\n  std::fmin/fmax().\n- Raised as issue #816.\n\nChange-Id: I01217c0e32c1be83be440e4515b57c79dd290923\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2aefdc6092d8b67de64eb31f54d51e75a4744e7d",
      "old_mode": 33188,
      "old_path": "include/ceres/jet.h",
      "new_id": "90f916c28acd54b22b16ca274ea65d50415b5aee",
      "new_mode": 33188,
      "new_path": "include/ceres/jet.h"
    },
    {
      "type": "modify",
      "old_id": "1c85d01be4613fe4facb9e51bb08ccdea4889d9a",
      "old_mode": 33188,
      "old_path": "internal/ceres/jet_test.cc",
      "new_id": "72dff01657f954f9c9ef3193ecc15a0a8fe7bfa6",
      "new_mode": 33188,
      "new_path": "internal/ceres/jet_test.cc"
    }
  ]
}
