Merge branch 'master' into ecb-master
commit
69b22be5ac
|
@ -3812,7 +3812,14 @@ DynamicModel::cloneDynamic(DynamicModel &dynamic_model) const
|
||||||
|
|
||||||
// Convert equations
|
// Convert equations
|
||||||
for (size_t i = 0; i < equations.size(); i++)
|
for (size_t i = 0; i < equations.size(); i++)
|
||||||
dynamic_model.addEquation(equations[i]->cloneDynamic(dynamic_model), equations_lineno[i]);
|
{
|
||||||
|
vector<pair<string, string> > eq_tags;
|
||||||
|
for (vector<pair<int, pair<string, string> > >::const_iterator it = equation_tags.begin();
|
||||||
|
it != equation_tags.end(); ++it)
|
||||||
|
if (it->first == i)
|
||||||
|
eq_tags.push_back(it->second);
|
||||||
|
dynamic_model.addEquation(equations[i]->cloneDynamic(dynamic_model), equations_lineno[i], eq_tags);
|
||||||
|
}
|
||||||
|
|
||||||
// Convert auxiliary equations
|
// Convert auxiliary equations
|
||||||
for (deque<BinaryOpNode *>::const_iterator it = aux_equations.begin();
|
for (deque<BinaryOpNode *>::const_iterator it = aux_equations.begin();
|
||||||
|
@ -5634,6 +5641,12 @@ DynamicModel::writeJsonXrefs(ostream &output) const
|
||||||
output << "]}" << endl;
|
output << "]}" << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
DynamicModel::writeJsonOriginalModelOutput(ostream &output) const
|
||||||
|
{
|
||||||
|
writeJsonModelEquations(output, false);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
DynamicModel::writeJsonComputingPassOutput(ostream &output, bool writeDetails) const
|
DynamicModel::writeJsonComputingPassOutput(ostream &output, bool writeDetails) const
|
||||||
{
|
{
|
||||||
|
|
|
@ -244,6 +244,9 @@ public:
|
||||||
//! Write JSON Output
|
//! Write JSON Output
|
||||||
void writeJsonOutput(ostream &output) const;
|
void writeJsonOutput(ostream &output) const;
|
||||||
|
|
||||||
|
//! Write JSON Output representation of original dynamic model
|
||||||
|
void writeJsonOriginalModelOutput(ostream &output) const;
|
||||||
|
|
||||||
//! Write JSON Output representation of dynamic model after computing pass
|
//! Write JSON Output representation of dynamic model after computing pass
|
||||||
void writeJsonComputingPassOutput(ostream &output, bool writeDetails) const;
|
void writeJsonComputingPassOutput(ostream &output, bool writeDetails) const;
|
||||||
|
|
||||||
|
|
12
ModFile.cc
12
ModFile.cc
|
@ -1394,6 +1394,11 @@ ModFile::writeJsonComputingPassOutput(const string &basename, JsonFileOutputType
|
||||||
dynamic_model.writeJsonComputingPassOutput(dynamic_output, false);
|
dynamic_model.writeJsonComputingPassOutput(dynamic_output, false);
|
||||||
dynamic_output << "}" << endl;
|
dynamic_output << "}" << endl;
|
||||||
|
|
||||||
|
ostringstream original_model_output;
|
||||||
|
original_model_output << "{";
|
||||||
|
original_model.writeJsonOriginalModelOutput(original_model_output);
|
||||||
|
original_model_output << "}" << endl;
|
||||||
|
|
||||||
ostringstream tmp_out, static_paramsd_output, static_paramsd_detail_output;
|
ostringstream tmp_out, static_paramsd_output, static_paramsd_detail_output;
|
||||||
tmp_out << "";
|
tmp_out << "";
|
||||||
static_paramsd_output << "";
|
static_paramsd_output << "";
|
||||||
|
@ -1434,7 +1439,8 @@ ModFile::writeJsonComputingPassOutput(const string &basename, JsonFileOutputType
|
||||||
|
|
||||||
if (json_output_mode == standardout)
|
if (json_output_mode == standardout)
|
||||||
{
|
{
|
||||||
cout << static_output.str() << endl
|
cout << original_model_output.str() << endl
|
||||||
|
<< static_output.str() << endl
|
||||||
<< dynamic_output.str() << endl;
|
<< dynamic_output.str() << endl;
|
||||||
|
|
||||||
if (!static_paramsd_output.str().empty())
|
if (!static_paramsd_output.str().empty())
|
||||||
|
@ -1463,10 +1469,12 @@ ModFile::writeJsonComputingPassOutput(const string &basename, JsonFileOutputType
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
string fname_static, fname_dynamic;
|
string fname_original, fname_static, fname_dynamic;
|
||||||
|
fname_original = basename + "_original.json";
|
||||||
fname_static = basename + "_static.json";
|
fname_static = basename + "_static.json";
|
||||||
fname_dynamic = basename + "_dynamic.json";
|
fname_dynamic = basename + "_dynamic.json";
|
||||||
|
|
||||||
|
writeJsonFileHelper(fname_original, original_model_output);
|
||||||
writeJsonFileHelper(fname_static, static_output);
|
writeJsonFileHelper(fname_static, static_output);
|
||||||
writeJsonFileHelper(fname_dynamic, dynamic_output);
|
writeJsonFileHelper(fname_dynamic, dynamic_output);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue