]> www.ginac.de Git - ginac.git/blobdiff - check/exam_pseries.cpp
fixed another power::series() bug [Alexei Sheplyakov]
[ginac.git] / check / exam_pseries.cpp
index 7ec803f88aa97fcd4d3dfa9c26660507bb475b9b..1e34be780109581d56527c2486927dc8d9c26231 100644 (file)
@@ -43,9 +43,15 @@ static unsigned exam_series1()
 {
        using GiNaC::log;
 
+       symbol a("a");
+       symbol b("b");
        unsigned result = 0;
        ex e, d;
        
+       e = pow(a+b, x);
+       d = 1 + Order(pow(x, 1));
+       result += check_series(e, 0, d, 1);
+
        e = sin(x);
        d = x - pow(x, 3) / 6 + pow(x, 5) / 120 - pow(x, 7) / 5040 + Order(pow(x, 8));
        result += check_series(e, 0, d);
@@ -119,11 +125,18 @@ static unsigned exam_series1()
        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));
        result += check_series(e, 0, d, 3);
 
+       e = log(a*x + b*x*x*log(x));
+       d = log(a*x) + b/a*log(x)*x - pow(b/a, 2)/2*pow(log(x)*x, 2) + Order(pow(x, 3));
+       result += check_series(e, 0, d, 3);
+
+       e = pow((x+a), b);
+       d = pow(a, b) + (pow(a, b)*b/a)*x + (pow(a, b)*b*b/a/a/2 - pow(a, b)*b/a/a/2)*pow(x, 2) + Order(pow(x, 3));
+       result += check_series(e, 0, d, 3);
+
        return result;
 }