22 for (
auto var : varsFunction) {
23 auto varsManager = manager->getVariables();
24 bool found = find_if(varsManager.begin(), varsManager.end(), [&](
auto val) ->
bool { return val.getName() == var.name(); }) != varsManager.end();
26 manager->declareRationalVariable(var.name());
30 auto denominator = function.denominator();
31 if (!denominator.isConstant()) {
36 if (function.isConstant()) {
39 auto nominator = function.nominatorAsPolynomial().polynomialWithCoefficient();
41 for (
auto itr = nominator.begin(); itr != nominator.end(); ++itr) {
43 itr->gatherVariables(varsFunction);
47 for (
auto var : varsFunction) {
53 if (varsFunction.size() >= 1) {
54 result = result + nominatorPartExpr;
59 result = result / denominatorVal;