conditional_forecast_paths: add support to write JSON output
parent
8dad93964d
commit
7b6f23c55a
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2003-2017 Dynare Team
|
* Copyright (C) 2003-2019 Dynare Team
|
||||||
*
|
*
|
||||||
* This file is part of Dynare.
|
* This file is part of Dynare.
|
||||||
*
|
*
|
||||||
|
@ -484,6 +484,32 @@ ConditionalForecastPathsStatement::writeOutput(ostream &output, const string &ba
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
ConditionalForecastPathsStatement::writeJsonOutput(ostream &output) const
|
||||||
|
{
|
||||||
|
output << "{\"statementName\": \"conditional_forecast_paths\""
|
||||||
|
<< ", \"paths\": [";
|
||||||
|
for (auto it = paths.begin(); it != paths.end(); it++)
|
||||||
|
{
|
||||||
|
if (it != paths.begin())
|
||||||
|
output << ", ";
|
||||||
|
output << "{\"var\": \"" << symbol_table.getName(it->first) << "\", "
|
||||||
|
<< "\"values\": [";
|
||||||
|
for (auto it1 = it->second.begin(); it1 != it->second.end(); it1++)
|
||||||
|
{
|
||||||
|
if (it1 != it->second.begin())
|
||||||
|
output << ", ";
|
||||||
|
output << "{\"period1\": " << it1->period1 << ", "
|
||||||
|
<< "\"period2\": " << it1->period2 << ", "
|
||||||
|
<< "\"value\": \"";
|
||||||
|
it1->value->writeJsonOutput(output, {}, {});
|
||||||
|
output << "\"}";
|
||||||
|
}
|
||||||
|
output << "]}";
|
||||||
|
}
|
||||||
|
output << "]}";
|
||||||
|
}
|
||||||
|
|
||||||
MomentCalibration::MomentCalibration(constraints_t constraints_arg,
|
MomentCalibration::MomentCalibration(constraints_t constraints_arg,
|
||||||
const SymbolTable &symbol_table_arg)
|
const SymbolTable &symbol_table_arg)
|
||||||
: constraints{move(constraints_arg)}, symbol_table{symbol_table_arg}
|
: constraints{move(constraints_arg)}, symbol_table{symbol_table_arg}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2003-2017 Dynare Team
|
* Copyright (C) 2003-2019 Dynare Team
|
||||||
*
|
*
|
||||||
* This file is part of Dynare.
|
* This file is part of Dynare.
|
||||||
*
|
*
|
||||||
|
@ -103,6 +103,7 @@ public:
|
||||||
const SymbolTable &symbol_table_arg);
|
const SymbolTable &symbol_table_arg);
|
||||||
void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings) override;
|
void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings) override;
|
||||||
void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const override;
|
void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const override;
|
||||||
|
void writeJsonOutput(ostream &output) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class MomentCalibration : public Statement
|
class MomentCalibration : public Statement
|
||||||
|
|
Loading…
Reference in New Issue