]> www.ginac.de Git - ginac.git/blobdiff - ginac/pseries.cpp
- small efficiency fix in mul_series
[ginac.git] / ginac / pseries.cpp
index 277cef18a10253504f6eaf0e708718fba53cb50e..58f8d629c48c02ad535408cf2640fdc021e8817b 100644 (file)
@@ -165,6 +165,9 @@ basic *pseries::duplicate() const
 void pseries::print(ostream &os, unsigned upper_precedence) const
 {
     debugmsg("pseries print", LOGLEVEL_PRINT);
+    // This could be made better, since series expansion at x==1 might print
+    // -1+2*x+Order((-1+x)^2) instead of 1+2*(-1+x)+Order((-1+x)^2), which is
+    // correct but can be rather confusing.
     convert_to_poly().print(os, upper_precedence);
 }
 
@@ -633,7 +636,7 @@ ex pseries::mul_series(const pseries &other) const
             ex a_coeff = coeff(*s, i);
             ex b_coeff = other.coeff(*s, cdeg-i);
             if (!is_order_function(a_coeff) && !is_order_function(b_coeff))
-                co += coeff(*s, i) * other.coeff(*s, cdeg-i);
+                co += a_coeff * b_coeff;
         }
         if (!co.is_zero())
             new_seq.push_back(expair(co, numeric(cdeg)));