]> www.ginac.de Git - ginac.git/blobdiff - check/exam_pseries.cpp
Patch by Stefan Weinzierl that fixes a bug in series expansion.
[ginac.git] / check / exam_pseries.cpp
index b0ccac3eba904839a21499b0fcbd39812fa7510e..1c8acd939712ddacb3e8dee733907dc76e027783 100644 (file)
@@ -348,6 +348,18 @@ static unsigned exam_series12()
        return result;
 }
 
        return result;
 }
 
+// Test of the patch of Stefan Weinzierl that prevents an infinite loop if
+// a factor in a product is a complicated way of writing zero.
+static unsigned exam_series13()
+{
+       unsigned result = 0;
+
+       ex e = pow(2,x)*( 1/x*(-(1+x)/(1-x)) + (1+x)/x/(1-x));
+       ex d = Order(x);
+       result += check_series(e,0,d,1);
+
+       return result;
+}
 
 unsigned exam_pseries()
 {
 
 unsigned exam_pseries()
 {
@@ -368,6 +380,7 @@ unsigned exam_pseries()
        result += exam_series10();  cout << '.' << flush;
        result += exam_series11();  cout << '.' << flush;
        result += exam_series12();  cout << '.' << flush;
        result += exam_series10();  cout << '.' << flush;
        result += exam_series11();  cout << '.' << flush;
        result += exam_series12();  cout << '.' << flush;
+       result += exam_series13();  cout << '.' << flush;
        
        if (!result) {
                cout << " passed " << endl;
        
        if (!result) {
                cout << " passed " << endl;