)]}'
{
  "commit": "4247d420fa7a7b6f43c39bb7ff4ce6d2baec7708",
  "tree": "7ff0c97d84a728eb4a04f23d87275b5557679cd3",
  "parents": [
    "ba62397d80b2d7d34c3cca5e75f1f154ad8e41bb"
  ],
  "author": {
    "name": "Darius Rueckert",
    "email": "darius.rueckert@fau.de",
    "time": "Wed Oct 02 12:45:59 2019 +0200"
  },
  "committer": {
    "name": "Darius Rueckert",
    "email": "darius.rueckert@fau.de",
    "time": "Wed Oct 16 07:54:23 2019 +0800"
  },
  "message": "Autodiff Codegen Part 1: Expressions\n\nThis patch adds the \u0027Expression\u0027 class, which is a fundamental\nbuilding block of automatic code generation. The expressions can\nbe used as scalar types for cost functors as well as Jets.\nDynamic branching is not yet supported.\n\nChange-Id: I8c61bee5c307e0eec20fd39382683ea90f720dff\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c990d93b1990b9156620ed7b021629a094aa9fbe",
      "new_mode": 33188,
      "new_path": "include/ceres/internal/expression.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "446fddb4337248a07238baa1ed57122a24e41699",
      "new_mode": 33188,
      "new_path": "include/ceres/internal/expression_graph.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "67ff22760476dbdaf7ba53db0da8d6c0fa2ca9e5",
      "new_mode": 33188,
      "new_path": "include/ceres/internal/expression_ref.h"
    },
    {
      "type": "modify",
      "old_id": "8d83563f8c5e1d97bc715ea215e9f93b3f6a2569",
      "old_mode": 33188,
      "old_path": "include/ceres/jet.h",
      "new_id": "25d11e65681e7b3fc2f21caff6aae632e6d49f02",
      "new_mode": 33188,
      "new_path": "include/ceres/jet.h"
    },
    {
      "type": "modify",
      "old_id": "e452f4854451495e4689cea4080aff44de8e75fe",
      "old_mode": 33188,
      "old_path": "internal/ceres/CMakeLists.txt",
      "new_id": "01c23ca474bbbbe77f314376bb3478a83e1a50fc",
      "new_mode": 33188,
      "new_path": "internal/ceres/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3edcc7db92634cc942b5f2749faa56d621bcec62",
      "new_mode": 33188,
      "new_path": "internal/ceres/expression.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0757b97478bdde5f7b440c70f06ee4b72ddce47b",
      "new_mode": 33188,
      "new_path": "internal/ceres/expression_graph.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ee06f1a9d3f1d6a0011075be9e2d35788b03b804",
      "new_mode": 33188,
      "new_path": "internal/ceres/expression_graph_test.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "75a7723da566dd48cb3ab75ca6f87d2cac0afbb2",
      "new_mode": 33188,
      "new_path": "internal/ceres/expression_ref.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3e683c121ccf2c2dc5af2014350df3fd25d087fd",
      "new_mode": 33188,
      "new_path": "internal/ceres/expression_test.cc"
    }
  ]
}
