From 2013056a2c83efbbe83e61994d019c8317a9284f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= Date: Tue, 12 Jul 2022 15:24:20 +0200 Subject: [PATCH] Fix bug in JSON output for derivatives w.r.t. parameters Confusion between a symbol ID and a derivation ID, which could lead to invalid output or crash. --- src/DynamicModel.cc | 2 +- src/StaticModel.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc index 21624ba4..9e17b4c0 100644 --- a/src/DynamicModel.cc +++ b/src/DynamicModel.cc @@ -5616,7 +5616,7 @@ DynamicModel::writeJsonParamsDerivativesFile(ostream &output, bool writeDetails) << R"(, "param2_col": )" << param2_col + 1; if (writeDetails) - gpp_output << R"(, "var": ")" << symbol_table.getName(var) << R"(")" + gpp_output << R"(, "var": ")" << symbol_table.getName(getSymbIDByDerivID(var)) << R"(")" << R"(, "lag": )" << getLagByDerivID(var) << R"(, "param1": ")" << symbol_table.getName(getSymbIDByDerivID(param1)) << R"(")" << R"(, "param2": ")" << symbol_table.getName(getSymbIDByDerivID(param2)) << R"(")"; diff --git a/src/StaticModel.cc b/src/StaticModel.cc index 3b8a78e3..639108e2 100644 --- a/src/StaticModel.cc +++ b/src/StaticModel.cc @@ -2061,7 +2061,7 @@ StaticModel::writeJsonParamsDerivativesFile(ostream &output, bool writeDetails) << R"(, "param2_col": )" << param2_col; if (writeDetails) - third_derivs_output << R"(, "var": ")" << symbol_table.getName(var) << R"(")" + third_derivs_output << R"(, "var": ")" << symbol_table.getName(getSymbIDByDerivID(var)) << R"(")" << R"(, "param1": ")" << symbol_table.getName(getSymbIDByDerivID(param1)) << R"(")" << R"(, "param2": ")" << symbol_table.getName(getSymbIDByDerivID(param2)) << R"(")";