Fixed type issue. NaN cannot be used if Int is expected.

issue#70
Stéphane Adjemian(Charybdis) 2018-04-11 09:17:43 +00:00
parent 70ec52a6cc
commit 38fc19f9d3
1 changed files with 8 additions and 7 deletions

View File

@ -1059,32 +1059,33 @@ SymbolTable::writeJuliaOutput(ostream &output) const throw (NotYetFrozenExceptio
{ {
case avEndoLead: case avEndoLead:
case avExoLead: case avExoLead:
break;
case avEndoLag: case avEndoLag:
case avExoLag: case avExoLag:
case avVarModel: case avVarModel:
output << getTypeSpecificID(aux_vars[i].get_orig_symb_id()) + 1 << ", " output << getTypeSpecificID(aux_vars[i].get_orig_symb_id()) + 1 << ", "
<< aux_vars[i].get_orig_lead_lag() << ", NaN, NaN"; << aux_vars[i].get_orig_lead_lag() << ", typemin(Int), string()";
break; break;
case avDiff: case avDiff:
if (aux_vars[i].get_orig_symb_id() >= 0) if (aux_vars[i].get_orig_symb_id() >= 0)
output << getTypeSpecificID(aux_vars[i].get_orig_symb_id()) + 1 << ", " output << getTypeSpecificID(aux_vars[i].get_orig_symb_id()) + 1 << ", "
<< aux_vars[i].get_orig_lead_lag() << ", NaN, NaN"; << aux_vars[i].get_orig_lead_lag() << ", typemin(Int), string()";
break; break;
case avMultiplier: case avMultiplier:
output << "NaN, NaN, " << aux_vars[i].get_equation_number_for_multiplier() + 1 output << "typemin(Int), typemin(Int), " << aux_vars[i].get_equation_number_for_multiplier() + 1
<< ", NaN"; << ", string()";
break; break;
case avDiffForward: case avDiffForward:
output << getTypeSpecificID(aux_vars[i].get_orig_symb_id())+1 << ", NaN, "; output << getTypeSpecificID(aux_vars[i].get_orig_symb_id())+1 << ", typemin(Int), typemin(Int), string()";
break; break;
case avExpectation: case avExpectation:
output << "NaN, NaN, NaN, \"\\mathbb{E}_{t" output << "typemin(Int), typemin(Int), typemin(Int), \"\\mathbb{E}_{t"
<< (aux_vars[i].get_information_set() < 0 ? "" : "+") << (aux_vars[i].get_information_set() < 0 ? "" : "+")
<< aux_vars[i].get_information_set() << "}("; << aux_vars[i].get_information_set() << "}(";
aux_vars[i].get_expr_node()->writeOutput(output, oLatexDynamicModel); aux_vars[i].get_expr_node()->writeOutput(output, oLatexDynamicModel);
output << ")\""; output << ")\"";
break; break;
default:
output << " typemin(Int), typemin(Int), typemin(Int), string()";
} }
output << ")" << endl; output << ")" << endl;
} }