Assign parameter values in main julia module.
See PR #1102 by spencerlyon2. Added support for filling in the model.params Vector.issue#70
parent
0751b50a86
commit
d3da9eb990
|
@ -1174,6 +1174,11 @@ ModFile::writeExternalFilesJulia(const string &basename, FileOutputType output)
|
||||||
}
|
}
|
||||||
steady_state_model.writeSteadyStateFile(basename, mod_file_struct.ramsey_model_present, true);
|
steady_state_model.writeSteadyStateFile(basename, mod_file_struct.ramsey_model_present, true);
|
||||||
|
|
||||||
|
// Print statements (includes parameter values)
|
||||||
|
for (vector<Statement *>::const_iterator it = statements.begin();
|
||||||
|
it != statements.end(); it++)
|
||||||
|
(*it)->writeJuliaOutput(jlOutputFile, basename);
|
||||||
|
|
||||||
jlOutputFile << "model_.static = " << basename << "Static.static!" << endl
|
jlOutputFile << "model_.static = " << basename << "Static.static!" << endl
|
||||||
<< "model_.dynamic = " << basename << "Dynamic.dynamic!" << endl
|
<< "model_.dynamic = " << basename << "Dynamic.dynamic!" << endl
|
||||||
<< "if isfile(\"" << basename << "SteadyState.jl" "\")" << endl
|
<< "if isfile(\"" << basename << "SteadyState.jl" "\")" << endl
|
||||||
|
|
|
@ -51,6 +51,18 @@ InitParamStatement::writeOutput(ostream &output, const string &basename, bool mi
|
||||||
output << symbol_table.getName(symb_id) << " = M_.params( " << id << " );" << endl;
|
output << symbol_table.getName(symb_id) << " = M_.params( " << id << " );" << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
InitParamStatement::writeJuliaOutput(ostream &output, const string &basename)
|
||||||
|
{
|
||||||
|
int id = symbol_table.getTypeSpecificID(symb_id) + 1;
|
||||||
|
output << "model_.params[ " << id << " ] = ";
|
||||||
|
param_value->writeOutput(output);
|
||||||
|
output << endl;
|
||||||
|
// Do we really need this?
|
||||||
|
// if (!minimal_workspace)
|
||||||
|
// output << symbol_table.getName(symb_id) << " = model_.params[ " << id << " ]" << endl;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
InitParamStatement::writeCOutput(ostream &output, const string &basename)
|
InitParamStatement::writeCOutput(ostream &output, const string &basename)
|
||||||
{
|
{
|
||||||
|
|
|
@ -41,6 +41,7 @@ public:
|
||||||
const SymbolTable &symbol_table_arg);
|
const SymbolTable &symbol_table_arg);
|
||||||
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
|
||||||
|
virtual void writeJuliaOutput(ostream &output, const string &basename);
|
||||||
virtual void writeCOutput(ostream &output, const string &basename);
|
virtual void writeCOutput(ostream &output, const string &basename);
|
||||||
//! Fill eval context with parameter value
|
//! Fill eval context with parameter value
|
||||||
void fillEvalContext(eval_context_t &eval_context) const;
|
void fillEvalContext(eval_context_t &eval_context) const;
|
||||||
|
|
|
@ -69,6 +69,10 @@ Statement::writeCOutput(ostream &output, const string &basename)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Statement::writeJuliaOutput(ostream &output, const string &basename)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Statement::computingPass()
|
Statement::computingPass()
|
||||||
{
|
{
|
||||||
|
|
|
@ -143,6 +143,7 @@ public:
|
||||||
*/
|
*/
|
||||||
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const = 0;
|
virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const = 0;
|
||||||
virtual void writeCOutput(ostream &output, const string &basename);
|
virtual void writeCOutput(ostream &output, const string &basename);
|
||||||
|
virtual void writeJuliaOutput(ostream &output, const string &basename);
|
||||||
};
|
};
|
||||||
|
|
||||||
class NativeStatement : public Statement
|
class NativeStatement : public Statement
|
||||||
|
|
Loading…
Reference in New Issue