From 7328025d4ac27e66a3e1c396fd37cde8e48bc885 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org> Date: Tue, 12 Jul 2022 17:45:00 +0200 Subject: [PATCH] Fix bug in JSON output for dynamic derivatives w.r.t. parameters Variable and parameter indices were wrong (offset by 1). (cherry picked from commit 6da24fc763256d4223f257a549bd8167a7f31526) --- src/DynamicModel.cc | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc index 1d39cc42..939fe3ed 100644 --- a/src/DynamicModel.cc +++ b/src/DynamicModel.cc @@ -6471,7 +6471,7 @@ DynamicModel::writeJsonParamsDerivativesFile(ostream &output, bool writeDetails) else rp_output << R"({"row": )" << eq + 1; - rp_output << R"(, "param_col": )" << param_col + 1; + rp_output << R"(, "param_col": )" << param_col; if (writeDetails) rp_output << R"(, "param": ")" << symbol_table.getName(getSymbIDByDerivID(param)) << R"(")"; @@ -6504,8 +6504,8 @@ DynamicModel::writeJsonParamsDerivativesFile(ostream &output, bool writeDetails) else gp_output << R"({"row": )" << eq + 1; - gp_output << R"(, "var_col": )" << var_col + 1 - << R"(, "param_col": )" << param_col + 1; + gp_output << R"(, "var_col": )" << var_col + << R"(, "param_col": )" << param_col; if (writeDetails) gp_output << R"(, "var": ")" << symbol_table.getName(getSymbIDByDerivID(var)) << R"(")" @@ -6539,8 +6539,8 @@ DynamicModel::writeJsonParamsDerivativesFile(ostream &output, bool writeDetails) rpp_output << R"({"eq": )" << eq + 1; else rpp_output << R"({"row": )" << eq + 1; - rpp_output << R"(, "param1_col": )" << param1_col + 1 - << R"(, "param2_col": )" << param2_col + 1; + rpp_output << R"(, "param1_col": )" << param1_col + << R"(, "param2_col": )" << param2_col; if (writeDetails) rpp_output << R"(, "param1": ")" << symbol_table.getName(getSymbIDByDerivID(param1)) << R"(")" @@ -6576,9 +6576,9 @@ DynamicModel::writeJsonParamsDerivativesFile(ostream &output, bool writeDetails) else gpp_output << R"({"row": )" << eq + 1; - gpp_output << R"(, "var_col": )" << var_col + 1 - << R"(, "param1_col": )" << param1_col + 1 - << R"(, "param2_col": )" << param2_col + 1; + gpp_output << R"(, "var_col": )" << var_col + << R"(, "param1_col": )" << param1_col + << R"(, "param2_col": )" << param2_col; if (writeDetails) gpp_output << R"(, "var": ")" << symbol_table.getName(getSymbIDByDerivID(var)) << R"(")" @@ -6616,9 +6616,9 @@ DynamicModel::writeJsonParamsDerivativesFile(ostream &output, bool writeDetails) else hp_output << R"({"row": )" << eq + 1; - hp_output << R"(, "var1_col": )" << var1_col + 1 - << R"(, "var2_col": )" << var2_col + 1 - << R"(, "param_col": )" << param_col + 1; + hp_output << R"(, "var1_col": )" << var1_col + << R"(, "var2_col": )" << var2_col + << R"(, "param_col": )" << param_col; if (writeDetails) hp_output << R"(, "var1": ")" << symbol_table.getName(getSymbIDByDerivID(var1)) << R"(")" @@ -6659,10 +6659,10 @@ DynamicModel::writeJsonParamsDerivativesFile(ostream &output, bool writeDetails) else g3p_output << R"({"row": )" << eq + 1; - g3p_output << R"(, "var1_col": )" << var1_col + 1 - << R"(, "var2_col": )" << var2_col + 1 - << R"(, "var3_col": )" << var3_col + 1 - << R"(, "param_col": )" << param_col + 1; + g3p_output << R"(, "var1_col": )" << var1_col + << R"(, "var2_col": )" << var2_col + << R"(, "var3_col": )" << var3_col + << R"(, "param_col": )" << param_col; if (writeDetails) g3p_output << R"(, "var1": ")" << symbol_table.getName(getSymbIDByDerivID(var1)) << R"(")" -- GitLab