- updated for class series->class pseries
authorChristian Bauer <Christian.Bauer@uni-mainz.de>
Wed, 19 Jan 2000 22:42:36 +0000 (22:42 +0000)
committerChristian Bauer <Christian.Bauer@uni-mainz.de>
Wed, 19 Jan 2000 22:42:36 +0000 (22:42 +0000)
- added one additional check for the behavior of the order term during the
  series expansion of a simple polynomial

check/Makefile.in
check/differentiation.cpp
check/series_expansion.cpp

index f9d3cf4598476019cb1c6e54c096935eeb3cfee8..bcb32424ba673a7a6ef5f2bcc10e49dc18ebc99b 100644 (file)
@@ -59,6 +59,8 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+ARCHIVE_AGE = @ARCHIVE_AGE@
+ARCHIVE_VERSION = @ARCHIVE_VERSION@
 AS = @AS@
 CC = @CC@
 CXX = @CXX@
 AS = @AS@
 CC = @CC@
 CXX = @CXX@
@@ -246,7 +248,7 @@ distdir: $(DISTFILES)
        @for file in $(DISTFILES); do \
          d=$(srcdir); \
          if test -d $$d/$$file; then \
        @for file in $(DISTFILES); do \
          d=$(srcdir); \
          if test -d $$d/$$file; then \
-           cp -pr $$d/$$file $(distdir)/$$file; \
+           cp -pr $$/$$file $(distdir)/$$file; \
          else \
            test -f $(distdir)/$$file \
            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
          else \
            test -f $(distdir)/$$file \
            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
index d5fda588164ab990fa2d17d7222475e97c53b63c..5b5f12dc614af1506589a0356c7b9cdfd221ad44 100644 (file)
@@ -261,8 +261,8 @@ static unsigned differentiation6(void)
     e = sin(x).series(x, 0, 8);
     d = cos(x).series(x, 0, 7);
     ed = e.diff(x);
     e = sin(x).series(x, 0, 8);
     d = cos(x).series(x, 0, 7);
     ed = e.diff(x);
-    ed = static_cast<series *>(ed.bp)->convert_to_poly();
-    d = static_cast<series *>(d.bp)->convert_to_poly();
+    ed = series_to_poly(ed);
+    d = series_to_poly(d);
     
     if ((ed - d).compare(ex(0)) != 0) {
         clog << "derivative of " << e << " by " << x << " returned "
     
     if ((ed - d).compare(ex(0)) != 0) {
         clog << "derivative of " << e << " by " << x << " returned "
index bd7cbbb348e9da37928f6ef194fef6046d927f38..00998fd519b17259696d24e56dd9f9590f14942e 100644 (file)
@@ -31,7 +31,7 @@ static symbol x("x");
 static unsigned check_series(const ex &e, const ex &point, const ex &d, int order = 8)
 {
     ex es = e.series(x, point, order);
 static unsigned check_series(const ex &e, const ex &point, const ex &d, int order = 8)
 {
     ex es = e.series(x, point, order);
-    ex ep = static_cast<series *>(es.bp)->convert_to_poly();
+    ex ep = static_cast<const pseries &>(*es.bp).convert_to_poly();
     if (!(ep - d).is_zero()) {
         clog << "series expansion of " << e << " at " << point
              << " erroneously returned " << ep << " (instead of " << d
     if (!(ep - d).is_zero()) {
         clog << "series expansion of " << e << " at " << point
              << " erroneously returned " << ep << " (instead of " << d
@@ -131,8 +131,28 @@ static unsigned series3(void)
     return result;
 }
 
     return result;
 }
 
-// Series of special functions
+// Order term handling
 static unsigned series4(void)
 static unsigned series4(void)
+{
+    unsigned result = 0;
+    ex e, d;
+
+    e = 1 + x + pow(x, 2) + pow(x, 3);
+    d = Order(1);
+    result += check_series(e, 0, d, 0);
+    d = 1 + Order(x);
+    result += check_series(e, 0, d, 1);
+    d = 1 + x + Order(pow(x, 2));
+    result += check_series(e, 0, d, 2);
+    d = 1 + x + pow(x, 2) + Order(pow(x, 3));
+    result += check_series(e, 0, d, 3);
+    d = 1 + x + pow(x, 2) + pow(x, 3);
+    result += check_series(e, 0, d, 4);
+    return result;
+}
+
+// Series of special functions
+static unsigned series5(void)
 {
     unsigned result = 0;
     ex e, d;
 {
     unsigned result = 0;
     ex e, d;
@@ -190,6 +210,7 @@ unsigned series_expansion(void)
     result += series2();
     result += series3();
     result += series4();
     result += series2();
     result += series3();
     result += series4();
+    result += series5();
     
     if (!result) {
         cout << " passed ";
     
     if (!result) {
         cout << " passed ";