]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Extend the test cases to be used also in the case PetscScalar=float.
authorhartmann <hartmann@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 8 Jun 2005 17:18:08 +0000 (17:18 +0000)
committerhartmann <hartmann@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 8 Jun 2005 17:18:08 +0000 (17:18 +0000)
git-svn-id: https://svn.dealii.org/trunk@10851 0785d39b-7218-0410-832d-ea1e28bc413d

14 files changed:
tests/bits/petsc_08.cc
tests/bits/petsc_18.cc
tests/bits/petsc_27.cc
tests/bits/petsc_28.cc
tests/bits/petsc_31.cc
tests/bits/petsc_32.cc
tests/bits/petsc_33.cc
tests/bits/petsc_48.cc
tests/bits/petsc_51.cc
tests/bits/petsc_full_matrix_08.cc
tests/bits/petsc_full_matrix_vector_05.cc
tests/bits/petsc_full_matrix_vector_06.cc
tests/bits/petsc_sparse_matrix_vector_05.cc
tests/bits/petsc_sparse_matrix_vector_06.cc

index 233d0e59cc2463cfd02b8e2ff6f805ea2bdaa371..7ca2e860db99e16288ee6fc69dc448abdf86bf76 100644 (file)
@@ -24,7 +24,7 @@ void test (PETScWrappers::SparseMatrix &m)
 {
                                    // first set a few entries. count how many
                                    // entries we have
-  double norm = 0;
+  PetscScalar norm = 0;
   for (unsigned int i=0; i<m.m(); ++i)
     for (unsigned int j=0; j<m.m(); ++j)
       if ((i+2*j+1) % 3 == 0)
index c3355d6185cd0bea96c49d5c7d09e8a2694ba9a2..74703f1f4876e9a45786ee0a1f8b29725a8294af 100644 (file)
@@ -24,7 +24,7 @@
 void test (PETScWrappers::Vector &v)
 {
                                    // set some elements of the vector
-  double norm = 0;
+  PetscScalar norm = 0;
   for (unsigned int i=0; i<v.size(); i+=1+i)
     {
       v(i) = i;
@@ -32,8 +32,9 @@ void test (PETScWrappers::Vector &v)
     }
   v.compress ();
 
-                                   // then check the norm  
-  Assert (fabs(v.l2_norm()-std::sqrt(norm))<1e-14, ExcInternalError());
+                                   // then check the norm
+  const double eps=sizeof(PetscScalar)==8 ? 1e-14 : 1e-5;
+  Assert (fabs(v.l2_norm()-std::sqrt(norm))<eps, ExcInternalError());
 
   deallog << "OK" << std::endl;
 }
index 292133495714801455d9255e0f1e494e8c74313d..5292eda4522f688fa7976a1e949637da7872f8a0 100644 (file)
@@ -36,7 +36,8 @@ void test (PETScWrappers::Vector &v)
                                    // make sure they're equal
   deallog << v*w << ' ' << v.l2_norm() * w.l2_norm()
           << ' ' << v*w - v.l2_norm() * w.l2_norm() << std::endl;
-  Assert (std::fabs(v*w - v.l2_norm() * w.l2_norm()) < 1e-14*(v*w),
+  const double eps=sizeof(PetscScalar)==8 ? 1e-14 : 1e-5;
+  Assert (std::fabs(v*w - v.l2_norm() * w.l2_norm()) < eps*(v*w),
           ExcInternalError());
 
   deallog << "OK" << std::endl;
index 5ef7c53f92f67958e5a7d2994e01f02c14189f23..89df2537afc3b33018e82d8a07d7070e3250d34d 100644 (file)
@@ -38,7 +38,8 @@ void test (PETScWrappers::Vector &v)
                                    // make sure they're equal
   deallog << v*w << ' ' << v.l2_norm() * w.l2_norm()
           << ' ' << v*w - v.l2_norm() * w.l2_norm() << std::endl;
-  Assert (std::fabs(v*w - v.l2_norm() * w.l2_norm()) < 1e-14*(v*w),
+  const double eps=sizeof(PetscScalar)==8 ? 1e-14 : 1e-5;
+  Assert (std::fabs(v*w - v.l2_norm() * w.l2_norm()) < eps*(v*w),
           ExcInternalError());
 
   deallog << "OK" << std::endl;
index 0d865a9d248fb1978f0849f85889b0ec4edee8c9..95604c0196f0b729994a8f5862e62132de43eb42 100644 (file)
@@ -24,7 +24,7 @@
 void test (PETScWrappers::Vector &v)
 {
                                    // set some elements of the vector
-  double norm = 0;
+  PetscScalar norm = 0;
   for (unsigned int i=0; i<v.size(); i+=1+i)
     {
       v(i) = i;
@@ -33,7 +33,8 @@ void test (PETScWrappers::Vector &v)
   v.compress ();
 
                                    // then check the norm
-  Assert (std::fabs(v.norm_sqr() - norm) < 1e-14*norm,
+  const double eps=sizeof(PetscScalar)==8 ? 1e-14 : 1e-5;
+  Assert (std::fabs(v.norm_sqr() - norm) < eps*norm,
           ExcInternalError());
 
   deallog << "OK" << std::endl;
index 46edfa02015c66f0380f51e8f5969b82ea671089..3ca8aafb7470dc33369a6142ff1025098ae1e8ff 100644 (file)
@@ -24,7 +24,7 @@
 void test (PETScWrappers::Vector &v)
 {
                                    // set some elements of the vector
-  double sum = 0;
+  PetscScalar sum = 0;
   for (unsigned int i=0; i<v.size(); i+=1+i)
     {
       v(i) = i;
@@ -33,7 +33,8 @@ void test (PETScWrappers::Vector &v)
   v.compress ();
 
                                    // then check the norm
-  Assert (std::fabs(v.mean_value() - sum/v.size()) < 1e-14*sum/v.size(),
+  const double eps=sizeof(PetscScalar)==8 ? 1e-14 : 1e-5;
+  Assert (std::fabs(v.mean_value() - sum/v.size()) < eps*sum/v.size(),
           ExcInternalError());
 
   deallog << "OK" << std::endl;
index 3e5831425b1bf49978e8629481325231e0d1f8d6..b63d65e4608dc10f33948c4fc1cbc4bf22c2b5d3 100644 (file)
@@ -24,7 +24,7 @@
 void test (PETScWrappers::Vector &v)
 {
                                    // set some elements of the vector
-  double sum = 0;
+  PetscScalar sum = 0;
   for (unsigned int i=0; i<v.size(); i+=1+i)
     {
       v(i) = i;
@@ -33,8 +33,9 @@ void test (PETScWrappers::Vector &v)
   v.compress ();
 
                                    // then check the norm
+  const double eps=sizeof(PetscScalar)==8 ? 1e-14 : 1e-5;
   Assert (std::fabs(v.lp_norm(3) - std::pow(sum, 1./3.)) <
-          1e-14*std::pow(sum, 1./3.),
+          eps*std::pow(sum, 1./3.),
           ExcInternalError());
 
   deallog << "OK" << std::endl;
index a8427200385b73bb9bf836ce3acec847d4d19034..c710fe07a277b3b34def45d73269171d1748a2af 100644 (file)
@@ -39,11 +39,12 @@ void test (PETScWrappers::Vector &v,
   v.ratio (w, x);
 
                                    // make sure we get the expected result
+  const double eps=sizeof(PetscScalar)==8 ? 1e-14 : 1e-5;
   for (unsigned int i=0; i<v.size(); ++i)
     {
       Assert (w(i) == i+1., ExcInternalError());
       Assert (x(i) == i+2., ExcInternalError());
-      Assert (std::fabs(v(i) - (i+1.)/(i+2.)) < 1e-14*v(i),
+      Assert (std::fabs(v(i) - (i+1.)/(i+2.)) < eps*v(i),
               ExcInternalError());
     }
 
index 59fd00305360e512c5701420247f81b751150718..fc2a2060e809e4c09b5703a15ede830b8d3b5f72 100644 (file)
@@ -36,7 +36,8 @@ void test (PETScWrappers::Vector &v)
                                    // make sure they're equal
   deallog << v*w << ' ' << v.l2_norm() * w.l2_norm()
           << ' ' << v*w - v.l2_norm() * w.l2_norm() << std::endl;
-  Assert (std::fabs(v*w - v.l2_norm() * w.l2_norm()) < 1e-14*(v*w),
+  const double eps=sizeof(PetscScalar)==8 ? 1e-14 : 1e-5;
+  Assert (std::fabs(v*w - v.l2_norm() * w.l2_norm()) < eps*(v*w),
           ExcInternalError());
 
   deallog << "OK" << std::endl;
index bdcacc20b7470401535ad01ebca2568b70ca5909..36029b555c89a2ed6313809f03e6019fa0171f3c 100644 (file)
@@ -24,7 +24,7 @@ void test (PETScWrappers::FullMatrix &m)
 {
                                    // first set a few entries. count how many
                                    // entries we have
-  double norm = 0;
+  PetscScalar norm = 0;
   for (unsigned int i=0; i<m.m(); ++i)
     for (unsigned int j=0; j<m.m(); ++j)
       if ((i+2*j+1) % 3 == 0)
index 0461fc2c11d256bd660c7972518a4922066de51b..ce86d04b04dbb49b50367f85bc95e628b4221528 100644 (file)
@@ -41,7 +41,7 @@ void test (PETScWrappers::Vector &v,
   w.compress ();
 
                                    // <w,Mv>
-  const double s = m.matrix_scalar_product (w,v);
+  const PetscScalar s = m.matrix_scalar_product (w,v);
 
                                    // make sure we get the expected result
   for (unsigned int i=0; i<v.size(); ++i)
@@ -50,7 +50,7 @@ void test (PETScWrappers::Vector &v,
       Assert (w(i) == i+1, ExcInternalError());
     }
 
-  double result = 0;
+  PetscScalar result = 0;
   for (unsigned int i=0; i<m.m(); ++i)
     for (unsigned int j=0; j<m.m(); ++j)
       result += (i+2*j)*j*(i+1);
index 91b369300de69cdb08be5da173a9bce4a2267f15..f2a8cc0bccd259ccdd8237c6308e5da5ef2c487f 100644 (file)
@@ -36,13 +36,13 @@ void test (PETScWrappers::Vector &v)
   v.compress ();
 
                                    // <w,Mv>
-  const double s = m.matrix_norm_square (v);
+  const PetscScalar s = m.matrix_norm_square (v);
 
                                    // make sure we get the expected result
   for (unsigned int i=0; i<v.size(); ++i)
     Assert (v(i) == i, ExcInternalError());
 
-  double result = 0;
+  PetscScalar result = 0;
   for (unsigned int i=0; i<m.m(); ++i)
     for (unsigned int j=0; j<m.m(); ++j)
       result += (i+2*j)*j*i;
@@ -65,7 +65,7 @@ int main (int argc, char **argv)
     {
       PetscInitialize(&argc,&argv,0,0);
       {
-        PETScWrappers::Vector v (100);
+        PETScWrappers::Vector v (30);
         test (v);
       }
       PetscFinalize ();
index 855991c849931e2301f9cd90991bc8a37aa01e66..f113c9710c4ca63ace3eb3fb725e8c836336c134 100644 (file)
@@ -41,7 +41,7 @@ void test (PETScWrappers::Vector &v,
   w.compress ();
 
                                    // <w,Mv>
-  const double s = m.matrix_scalar_product (w,v);
+  const PetscScalar s = m.matrix_scalar_product (w,v);
 
                                    // make sure we get the expected result
   for (unsigned int i=0; i<v.size(); ++i)
@@ -50,7 +50,7 @@ void test (PETScWrappers::Vector &v,
       Assert (w(i) == i+1, ExcInternalError());
     }
 
-  double result = 0;
+  PetscScalar result = 0;
   for (unsigned int i=0; i<m.m(); ++i)
     for (unsigned int j=0; j<m.m(); ++j)
       result += (i+2*j)*j*(i+1);
index b512aa6fb1c799cee21595c9b659c710ba799e25..6e088495534cadd2164796661ebb071f5df67b76 100644 (file)
@@ -36,13 +36,13 @@ void test (PETScWrappers::Vector &v)
   v.compress ();
 
                                    // <w,Mv>
-  const double s = m.matrix_norm_square (v);
+  const PetscScalar s = m.matrix_norm_square (v);
 
                                    // make sure we get the expected result
   for (unsigned int i=0; i<v.size(); ++i)
     Assert (v(i) == i, ExcInternalError());
 
-  double result = 0;
+  PetscScalar result = 0;
   for (unsigned int i=0; i<m.m(); ++i)
     for (unsigned int j=0; j<m.m(); ++j)
       result += (i+2*j)*j*i;
@@ -65,7 +65,7 @@ int main (int argc, char **argv)
     {
       PetscInitialize(&argc,&argv,0,0);
       {
-        PETScWrappers::Vector v (100);
+        PETScWrappers::Vector v (30);
         test (v);
       }
       PetscFinalize ();

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.