bug fix: output not correct for corr(a,b).prior statement

issue#70
Houtan Bastani 2012-04-03 12:59:56 +02:00
parent 11ceb8422e
commit 6006579de8
2 changed files with 6 additions and 6 deletions

View File

@ -1864,13 +1864,13 @@ BasicPriorStatement::writeCommonOutputHelper(ostream &output, const string &fiel
}
void
BasicPriorStatement::writePriorOutput(ostream &output, string &lhs_field) const
BasicPriorStatement::writePriorOutput(ostream &output, string &lhs_field, const string &name2) const
{
if (subsample_name.empty())
lhs_field += ".prior(1)";
else
{
output << "subsamples_indx = get_existing_subsamples_indx('" << name << "','');" << endl
output << "subsamples_indx = get_existing_subsamples_indx('" << name << "','" << name2 << "');" << endl
<< "eisind = get_subsamples_range_indx(subsamples_indx, '" << subsample_name << "');" << endl;
lhs_field += ".subsample_prior(eisind)";
}
@ -1893,7 +1893,7 @@ PriorStatement::writeOutput(ostream &output, const string &basename) const
output << "eifind = get_new_or_existing_ei_index('parameter_prior_index', '"
<< name << "', '');" << endl
<< "estimation_info.parameter_prior_index(eifind) = {'" << name << "'};" << endl;
writePriorOutput(output, lhs_field);
writePriorOutput(output, lhs_field, "");
}
StdPriorStatement::StdPriorStatement(const string &name_arg,
@ -1917,7 +1917,7 @@ StdPriorStatement::writeOutput(ostream &output, const string &basename) const
<< "estimation_info." << lhs_field << "_prior_index(eifind) = {'" << name << "'};" << endl;
lhs_field = "estimation_info." + lhs_field + "(eifind)";
writePriorOutput(output, lhs_field);
writePriorOutput(output, lhs_field, "");
}
CorrPriorStatement::CorrPriorStatement(const string &name_arg1, const string &name_arg2,
@ -1957,7 +1957,7 @@ CorrPriorStatement::writeOutput(ostream &output, const string &basename) const
<< name << ":" << name1 << "'};" << endl;
lhs_field = "estimation_info." + lhs_field + "_corr(eifind)";
writePriorOutput(output, lhs_field);
writePriorOutput(output, lhs_field, name1);
}
PriorEqualStatement::PriorEqualStatement(const string &to_declaration_type_arg,

View File

@ -634,7 +634,7 @@ protected:
void get_base_name(const SymbolType symb_type, string &lhs_field) const;
void writeCommonOutput(ostream &output, const string &lhs_field) const;
void writeCommonOutputHelper(ostream &output, const string &field, const string &lhs_field) const;
void writePriorOutput(ostream &output, string &lhs_field) const;
void writePriorOutput(ostream &output, string &lhs_field, const string &name2) const;
};
class PriorStatement : public BasicPriorStatement