e = pow(x, 8) * pow(pow(x,3)+ pow(x + pow(x,3), 2), -2);
d = pow(x, 4) - 2*pow(x, 5) + Order(pow(x, 6));
result += check_series(e, 0, d, 6);
-
+
e = cos(x) * pow(sin(x)*(pow(x, 5) + 4 * pow(x, 2)), -3);
d = pow(x, -9) / 64 - 3 * pow(x, -6) / 256 - pow(x, -5) / 960 + 535 * pow(x, -3) / 96768
+ pow(x, -2) / 1280 - pow(x, -1) / 14400 - numeric(283, 129024) - 2143 * x / 5322240
+ Order(pow(x, 2));
result += check_series(e, 0, d, 2);
+ e = sqrt(1+x*x) * sqrt(1+2*x*x);
+ d = 1 + Order(pow(x, 2));
+ result += check_series(e, 0, d, 2);
+
symbol a("a");
e = pow(x, 4) * sin(a) + pow(x, 2);
d = pow(x, 2) + Order(pow(x, 3));
const epvector::const_iterator itbeg = seq.begin();
const epvector::const_iterator itend = seq.end();
for (epvector::const_iterator it=itbeg; it!=itend; ++it) {
-
+
ex buf = recombine_pair_to_ex(*it);
-
- int real_ldegree = buf.expand().ldegree(sym-r.rhs());
+
+ int real_ldegree = 0;
+ try {
+ real_ldegree = buf.expand().ldegree(sym-r.rhs());
+ }
+ catch (std::runtime_error) {}
+
if (real_ldegree == 0) {
int orderloop = 0;
do {
}
int degsum = std::accumulate(ldegrees.begin(), ldegrees.end(), 0);
-
+
+ if (degsum>order) {
+ epvector epv;
+ epv.push_back(expair(Order(_ex1), order));
+ return (new pseries(r, epv))->setflag(status_flags::dynallocated);
+ }
+
// Multiply with remaining terms
std::vector<int>::const_iterator itd = ldegrees.begin();
for (epvector::const_iterator it=itbeg; it!=itend; ++it, ++itd) {