diff --git a/src/ComputingTasks.cc b/src/ComputingTasks.cc index 0d96ac5366203c0cebfbd1476eb61bb32dcf9106..cbe7528a41d0baf5741d61ba7d4145451383175a 100644 --- a/src/ComputingTasks.cc +++ b/src/ComputingTasks.cc @@ -291,15 +291,23 @@ PacModelStatement::overwriteGrowth(expr_t new_growth) { if (new_growth == nullptr || growth == nullptr) return; + growth = new_growth; + try { growth_info = growth->matchLinearCombinationOfVariables(); } catch (ExprNode::MatchFailureException &e) { - cerr << "Pac growth must be a linear combination of varibles" << endl; - exit(EXIT_FAILURE); + auto gv = dynamic_cast<const VariableNode *>(growth); + if (gv) + growth_info.push_back({gv->symb_id, gv->lag, -1, 1}); + else + { + cerr << "Pac growth must be a linear combination of varibles" << endl; + exit(EXIT_FAILURE); + } } }