)]}'
{
  "commit": "5010421bb78efdadd1f7f7f576afc419aaf35730",
  "tree": "1e09f9e7db481e7597f5e89729d2f2ea655afeda",
  "parents": [
    "f4dc670ee819ea30b1d636167e5be0d67d60241c"
  ],
  "author": {
    "name": "Darius Rueckert",
    "email": "darius.rueckert@fau.de",
    "time": "Tue Dec 03 17:47:30 2019 +0100"
  },
  "committer": {
    "name": "Darius Rueckert",
    "email": "darius.rueckert@fau.de",
    "time": "Mon Dec 09 17:13:05 2019 +0100"
  },
  "message": "Add the expression return type as a member to Expression\n\nBefore this patch the return type was implicitly defined by the\nExpressionType. This patch separates this connection and allows\neach Expression to have one of the predefined types (scalar,\nboolean, void).\n\nThis patch is required to add support for the functions isfinite,\nisinf, isnan, and isnormal. These are function taking a double and\nreturning a bool.\n\nThis also moves some complexity of the code generator to the\nExpression, because the generator can direclty get the c++ type.\n\nChange-Id: I8b32bab1bfab2f668875e506d6f3b789a5d1f3fd\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "808d741925c95eff97df809e2789ee7fbd873b81",
      "old_mode": 33188,
      "old_path": "include/ceres/codegen/internal/expression.h",
      "new_id": "f75a0aae606e815c4ad4e63f550b43441ec16bac",
      "new_mode": 33188,
      "new_path": "include/ceres/codegen/internal/expression.h"
    },
    {
      "type": "modify",
      "old_id": "c888739669e24bb3288f28311a6f3ba779d7b89e",
      "old_mode": 33188,
      "old_path": "include/ceres/codegen/internal/expression_ref.h",
      "new_id": "6a04edb5c6207a590e9cbf2f3fdbe46e655dcf38",
      "new_mode": 33188,
      "new_path": "include/ceres/codegen/internal/expression_ref.h"
    },
    {
      "type": "modify",
      "old_id": "aeb9d2b207fd9b90ac007231d69fe4f0e3fb9d05",
      "old_mode": 33188,
      "old_path": "internal/ceres/codegen/expression_ref_test.cc",
      "new_id": "6d6971ec7fea368da54e6a9714b8869226cb14d5",
      "new_mode": 33188,
      "new_path": "internal/ceres/codegen/expression_ref_test.cc"
    },
    {
      "type": "modify",
      "old_id": "395bbafee5dcd6a28dd86ea88edde06e49672347",
      "old_mode": 33188,
      "old_path": "internal/ceres/codegen/expression_test.cc",
      "new_id": "ae96ea057f737b73ba5f0bff2c0b753618f4e13f",
      "new_mode": 33188,
      "new_path": "internal/ceres/codegen/expression_test.cc"
    },
    {
      "type": "modify",
      "old_id": "27e15cbf96538e5d1d1fda62bd018c432e25ede5",
      "old_mode": 33188,
      "old_path": "internal/ceres/expression.cc",
      "new_id": "406899db535e62d6915632105ce6a115d781e517",
      "new_mode": 33188,
      "new_path": "internal/ceres/expression.cc"
    },
    {
      "type": "modify",
      "old_id": "d9b33e9885dcb18780a742aba905428002257d5e",
      "old_mode": 33188,
      "old_path": "internal/ceres/expression_graph.cc",
      "new_id": "7bae8d22dac84582d83bfe9f6219ae14ee278d39",
      "new_mode": 33188,
      "new_path": "internal/ceres/expression_graph.cc"
    },
    {
      "type": "modify",
      "old_id": "2738b0826b2d4a6718191d45e17085e500da9d38",
      "old_mode": 33188,
      "old_path": "internal/ceres/expression_ref.cc",
      "new_id": "7c43595a5dd63603c837894774190e58574cd1c5",
      "new_mode": 33188,
      "new_path": "internal/ceres/expression_ref.cc"
    }
  ]
}
