In ginsh:
degree(x^(-1), x^(-1));
1
degree(c*x^(-1), x^(-1));
0
Now degree (and ldegree) should work correct with such arguments.
Note: degree() is still inconsistent, i.e.
degree(c*x^(-2), x^(-1));
0
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;
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;