- Lewis-Wester tests D and E now benchmark the time to expand the
authorRichard Kreckel <Richard.Kreckel@uni-mainz.de>
Mon, 29 Jan 2001 18:52:35 +0000 (18:52 +0000)
committerRichard Kreckel <Richard.Kreckel@uni-mainz.de>
Mon, 29 Jan 2001 18:52:35 +0000 (18:52 +0000)
  rational function.  Just assembling it is boring...

check/time_lw_D.cpp
check/time_lw_E.cpp
check/times.ref

index 8581e3fa5d7781bd5ecb46e74a2b88b1584c2909..759f24966be2f05ca63c42f2c80142276bcf0dd3 100644 (file)
@@ -32,7 +32,9 @@ static unsigned test(void)
        for (int i=1; i<=10; ++i)
                s += i*y*pow(t,i)/pow(y + i*t,i);
        
-       if (s.nops()!=10) {
+       s = s.normal();
+       
+       if (s.subs(t==0)!=0) {
                clog << "something very strange happened" << endl;
                return 1;
        }
@@ -46,8 +48,8 @@ unsigned time_lw_D(void)
        timer rolex;
        double time = .0;
        
-       cout << "timing Lewis-Wester test D (sum of rational fcns)" << flush;
-       clog << "-------Lewis-Wester test D (sum of rational fcns)" << endl;
+       cout << "timing Lewis-Wester test D (normalized sum of rational fcns)" << flush;
+       clog << "-------Lewis-Wester test D (normalized sum of rational fcns)" << endl;
        
        rolex.start();
        // correct for very small times:
@@ -63,7 +65,7 @@ unsigned time_lw_D(void)
        } else {
                cout << " failed ";
        }
-       cout << int(100000*(time/count))*0.00001 << 's' << endl;
+       cout << int(1000*(time/count))*0.001 << 's' << endl;
        
        return result;
 }
index 4d85d1c1008bf61802e7cad60c4e15d7826697f3..6cfcd6720df22db44f60ab61b60b70a8056f936f 100644 (file)
@@ -32,7 +32,9 @@ static unsigned test(void)
        for (int i=1; i<=10; ++i)
                s += i*y*pow(t,i)/pow(y + abs(5-i)*t,i);
        
-       if (s.nops()!=10) {
+       s = s.normal();
+       
+       if (s.subs(t==0)!=0) {
                clog << "something very strange happened" << endl;
                return 1;
        }
@@ -46,8 +48,8 @@ unsigned time_lw_E(void)
        timer rolex;
        double time = .0;
        
-       cout << "timing Lewis-Wester test E (sum of rational fcns)" << flush;
-       clog << "-------Lewis-Wester test E (sum of rational fcns)" << endl;
+       cout << "timing Lewis-Wester test E (normalized sum of rational fcns)" << flush;
+       clog << "-------Lewis-Wester test E (normalized sum of rational fcns)" << endl;
        
        rolex.start();
        // correct for very small times:
@@ -63,7 +65,7 @@ unsigned time_lw_E(void)
        } else {
                cout << " failed ";
        }
-       cout << int(100000*(time/count))*0.00001 << 's' << endl;
+       cout << int(1000*(time/count))*0.001 << 's' << endl;
        
        return result;
 }
index 6fa65da8a271e9c5007cff7c0842ac5c6ea63c2b..1e77419b3354895e9b862efced0750f40eb32234 100644 (file)
@@ -12,9 +12,9 @@
 (no output)
 -------Lewis-Wester test C (gcd of big integers)
 (no output)
--------Lewis-Wester test D (sum of rational fcns)
+-------Lewis-Wester test D (normalized sum of rational fcns)
 (no output)
--------Lewis-Wester test E (sum of rational fcns)
+-------Lewis-Wester test E (normalized sum of rational fcns)
 (no output)
 -------Lewis-Wester test F (gcd of 2-var polys)
 (no output)