]> www.ginac.de Git - ginac.git/blobdiff - ginac/mul.cpp
Improve mul::degree so that degree(c*x^(-1), x^(-1)) gives correct result
[ginac.git] / ginac / mul.cpp
index ab1a042b95fc019165395f5994a4a42f446da68f..e1d5e02ea22f2b411fd21db55f9e4a11fc698856 100644 (file)
@@ -317,7 +317,7 @@ int mul::degree(const ex & s) const
        epvector::const_iterator i = seq.begin(), end = seq.end();
        while (i != end) {
                if (ex_to<numeric>(i->coeff).is_integer())
-                       deg_sum += i->rest.degree(s) * ex_to<numeric>(i->coeff).to_int();
+                       deg_sum += recombine_pair_to_ex(*i).degree(s);
                ++i;
        }
        return deg_sum;
@@ -330,7 +330,7 @@ int mul::ldegree(const ex & s) const
        epvector::const_iterator i = seq.begin(), end = seq.end();
        while (i != end) {
                if (ex_to<numeric>(i->coeff).is_integer())
-                       deg_sum += i->rest.ldegree(s) * ex_to<numeric>(i->coeff).to_int();
+                       deg_sum += recombine_pair_to_ex(*i).ldegree(s);
                ++i;
        }
        return deg_sum;