fix bug in collection of ec vars of pac equation
parent
1ae729929b
commit
74dd6a69e9
|
@ -5096,18 +5096,10 @@ BinaryOpNode::getPacOptimizingPartHelper(const expr_t arg1, const expr_t arg2,
|
||||||
{
|
{
|
||||||
auto *testarg2 = dynamic_cast<BinaryOpNode *>(arg2);
|
auto *testarg2 = dynamic_cast<BinaryOpNode *>(arg2);
|
||||||
if (testarg2 != nullptr && testarg2->get_op_code() == BinaryOpcode::minus)
|
if (testarg2 != nullptr && testarg2->get_op_code() == BinaryOpcode::minus)
|
||||||
{
|
if (dynamic_cast<VariableNode *>(testarg2->get_arg1()) != nullptr
|
||||||
auto *test_arg1 = dynamic_cast<VariableNode *>(testarg2->get_arg1());
|
&& dynamic_cast<VariableNode *>(testarg2->get_arg2()) != nullptr)
|
||||||
auto *test_arg2 = dynamic_cast<VariableNode *>(testarg2->get_arg2());
|
for (auto it : endogs)
|
||||||
if (test_arg1 != nullptr && test_arg2 != nullptr)
|
ec_params_and_vars.emplace(*(params.begin()), it);
|
||||||
{
|
|
||||||
test_arg1->collectDynamicVariables(SymbolType::endogenous, endogs);
|
|
||||||
ec_params_and_vars.emplace(*(params.begin()), *(endogs.begin()));
|
|
||||||
endogs.clear();
|
|
||||||
test_arg2->collectDynamicVariables(SymbolType::endogenous, endogs);
|
|
||||||
ec_params_and_vars.emplace(*(params.begin()), *(endogs.begin()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue