]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Truncate very small values to reduce hassle with round-off
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Fri, 24 Aug 2007 16:16:41 +0000 (16:16 +0000)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Fri, 24 Aug 2007 16:16:41 +0000 (16:16 +0000)
git-svn-id: https://svn.dealii.org/trunk@15037 0785d39b-7218-0410-832d-ea1e28bc413d

tests/base/functions_01.cc
tests/base/functions_01/cmp/generic

index e60e68373459d96fd7fc08c07e9ec9d78966e9e9..ed1298b3275ad3b934e8e22f1b0a7b0c809761da 100644 (file)
@@ -106,7 +106,14 @@ check_function(const Functions::FlowFunction<dim>& f,
   for (unsigned int i=0;i<values.size();++i)
     for (unsigned int j=0;j<values[i].size();++j)
       {
-       patches[0].data(j, i) = values[i](j);
+                                        // generate data, but
+                                        // truncate too small values
+                                        // to avoid output that
+                                        // depends on round-off
+       if (std::fabs (values[i](j)) > 1e-10)
+         patches[0].data(j, i) = values[i](j);
+       else
+         patches[0].data(j, i) = 0;
        Assert (values[i](j) == values2[j][i], ExcInternalError());
       }
   
index 5cd8b6eca2d57749e3d45975cfe1fdbf0517f364..1ff91be864bbc7b8918794d9476a466f9be061bb 100644 (file)
@@ -10,35 +10,35 @@ DEAL::Laplacians 0.719980
 # For a description of the GNUPLOT format see the GNUPLOT manual.
 #
 # <x> <y> <comp> <comp> <comp> 
--1.00000 -1.00000 0.00000 0.00000 3.74940e-33 
--0.500000 -1.00000 -3.06162e-17 1.87470e-33 3.06162e-17 
-0.00000 -1.00000 -6.12323e-17 0.00000 0.00000 
-0.500000 -1.00000 -3.06162e-17 -1.87470e-33 -3.06162e-17 
-1.00000 -1.00000 0.00000 0.00000 -3.74940e-33 
+-1.00000 -1.00000 0.00000 0.00000 0.00000 
+-0.500000 -1.00000 0.00000 0.00000 0.00000 
+0.00000 -1.00000 0.00000 0.00000 0.00000 
+0.500000 -1.00000 0.00000 0.00000 0.00000 
+1.00000 -1.00000 0.00000 0.00000 0.00000 
 
--1.00000 -0.500000 -1.87470e-33 3.06162e-17 3.06162e-17 
+-1.00000 -0.500000 0.00000 0.00000 0.00000 
 -0.500000 -0.500000 -0.250000 0.250000 0.250000 
 0.00000 -0.500000 -0.500000 0.00000 0.00000 
 0.500000 -0.500000 -0.250000 -0.250000 -0.250000 
-1.00000 -0.500000 -1.87470e-33 -3.06162e-17 -3.06162e-17 
+1.00000 -0.500000 0.00000 0.00000 0.00000 
 
--1.00000 0.00000 0.00000 6.12323e-17 0.00000 
+-1.00000 0.00000 0.00000 0.00000 0.00000 
 -0.500000 0.00000 0.00000 0.500000 0.00000 
 0.00000 0.00000 0.00000 0.00000 0.00000 
 0.500000 0.00000 0.00000 -0.500000 0.00000 
-1.00000 0.00000 0.00000 -6.12323e-17 0.00000 
+1.00000 0.00000 0.00000 0.00000 0.00000 
 
--1.00000 0.500000 1.87470e-33 3.06162e-17 -3.06162e-17 
+-1.00000 0.500000 0.00000 0.00000 0.00000 
 -0.500000 0.500000 0.250000 0.250000 -0.250000 
 0.00000 0.500000 0.500000 0.00000 0.00000 
 0.500000 0.500000 0.250000 -0.250000 0.250000 
-1.00000 0.500000 1.87470e-33 -3.06162e-17 3.06162e-17 
+1.00000 0.500000 0.00000 0.00000 0.00000 
 
--1.00000 1.00000 0.00000 0.00000 -3.74940e-33 
--0.500000 1.00000 3.06162e-17 1.87470e-33 -3.06162e-17 
-0.00000 1.00000 6.12323e-17 0.00000 0.00000 
-0.500000 1.00000 3.06162e-17 -1.87470e-33 3.06162e-17 
-1.00000 1.00000 0.00000 0.00000 3.74940e-33 
+-1.00000 1.00000 0.00000 0.00000 0.00000 
+-0.500000 1.00000 0.00000 0.00000 0.00000 
+0.00000 1.00000 0.00000 0.00000 0.00000 
+0.500000 1.00000 0.00000 0.00000 0.00000 
+1.00000 1.00000 0.00000 0.00000 0.00000 
 
 
 DEAL:: Functions::StokesCosine<3>
@@ -241,129 +241,129 @@ attribute "element type" string "cubes"
 attribute "ref" string "positions"
 object "data" class array type float rank 1 shape 4 items 125 data follows
        0.00000 0.00000 0.00000 0.00000
-       1.87470e-33     0.00000 0.00000 -1.87470e-33
-       3.74940e-33     0.00000 0.00000 0.00000
-       1.87470e-33     0.00000 0.00000 1.87470e-33
-       0.00000 0.00000 0.00000 0.00000
-       0.00000 1.87470e-33     0.00000 -1.87470e-33
-       1.53081e-17     1.53081e-17     -1.87470e-33    -1.53081e-17
-       3.06162e-17     0.00000 0.00000 0.00000
-       1.53081e-17     -1.53081e-17    1.87470e-33     1.53081e-17
-       0.00000 -1.87470e-33    0.00000 1.87470e-33
-       0.00000 3.74940e-33     0.00000 0.00000
-       0.00000 3.06162e-17     0.00000 0.00000
-       0.00000 0.00000 0.00000 0.00000
-       0.00000 -3.06162e-17    0.00000 0.00000
-       0.00000 -3.74940e-33    0.00000 0.00000
-       0.00000 1.87470e-33     0.00000 1.87470e-33
-       -1.53081e-17    1.53081e-17     1.87470e-33     1.53081e-17
-       -3.06162e-17    0.00000 0.00000 0.00000
-       -1.53081e-17    -1.53081e-17    -1.87470e-33    -1.53081e-17
-       0.00000 -1.87470e-33    0.00000 -1.87470e-33
-       0.00000 0.00000 0.00000 0.00000
-       -1.87470e-33    0.00000 0.00000 1.87470e-33
-       -3.74940e-33    0.00000 0.00000 0.00000
-       -1.87470e-33    0.00000 0.00000 -1.87470e-33
-       0.00000 0.00000 0.00000 0.00000
-       0.00000 0.00000 -3.74940e-33    -1.87470e-33
-       1.53081e-17     9.37350e-34     -3.06162e-17    -1.53081e-17
-       3.06162e-17     0.00000 0.00000 0.00000
-       1.53081e-17     -9.37350e-34    3.06162e-17     1.53081e-17
-       0.00000 0.00000 3.74940e-33     1.87470e-33
-       9.37350e-34     1.53081e-17     -3.06162e-17    -1.53081e-17
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
        0.125000        0.125000        -0.250000       -0.125000
        0.250000        0.00000 0.00000 0.00000
        0.125000        -0.125000       0.250000        0.125000
-       9.37350e-34     -1.53081e-17    3.06162e-17     1.53081e-17
-       0.00000 3.06162e-17     0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
        0.00000 0.250000        0.00000 0.00000
        0.00000 0.00000 0.00000 0.00000
        0.00000 -0.250000       0.00000 0.00000
-       0.00000 -3.06162e-17    0.00000 0.00000
-       -9.37350e-34    1.53081e-17     3.06162e-17     1.53081e-17
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
        -0.125000       0.125000        0.250000        0.125000
        -0.250000       0.00000 0.00000 0.00000
        -0.125000       -0.125000       -0.250000       -0.125000
-       -9.37350e-34    -1.53081e-17    -3.06162e-17    -1.53081e-17
-       0.00000 0.00000 3.74940e-33     1.87470e-33
-       -1.53081e-17    9.37350e-34     3.06162e-17     1.53081e-17
-       -3.06162e-17    0.00000 0.00000 0.00000
-       -1.53081e-17    -9.37350e-34    -3.06162e-17    -1.53081e-17
-       0.00000 0.00000 -3.74940e-33    -1.87470e-33
-       0.00000 0.00000 -7.49880e-33    0.00000
-       0.00000 0.00000 -6.12323e-17    0.00000
-       0.00000 0.00000 0.00000 0.00000
-       0.00000 0.00000 6.12323e-17     0.00000
-       0.00000 0.00000 7.49880e-33     0.00000
-       0.00000 0.00000 -6.12323e-17    0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
        0.00000 0.00000 -0.500000       0.00000
        0.00000 0.00000 0.00000 0.00000
        0.00000 0.00000 0.500000        0.00000
-       0.00000 0.00000 6.12323e-17     0.00000
        0.00000 0.00000 0.00000 0.00000
        0.00000 0.00000 0.00000 0.00000
        0.00000 0.00000 0.00000 0.00000
        0.00000 0.00000 0.00000 0.00000
        0.00000 0.00000 0.00000 0.00000
-       0.00000 0.00000 6.12323e-17     0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
        0.00000 0.00000 0.500000        0.00000
        0.00000 0.00000 0.00000 0.00000
        0.00000 0.00000 -0.500000       0.00000
-       0.00000 0.00000 -6.12323e-17    0.00000
-       0.00000 0.00000 7.49880e-33     0.00000
-       0.00000 0.00000 6.12323e-17     0.00000
-       0.00000 0.00000 0.00000 0.00000
-       0.00000 0.00000 -6.12323e-17    0.00000
-       0.00000 0.00000 -7.49880e-33    0.00000
-       0.00000 0.00000 -3.74940e-33    1.87470e-33
-       -1.53081e-17    -9.37350e-34    -3.06162e-17    1.53081e-17
-       -3.06162e-17    0.00000 0.00000 0.00000
-       -1.53081e-17    9.37350e-34     3.06162e-17     -1.53081e-17
-       0.00000 0.00000 3.74940e-33     -1.87470e-33
-       -9.37350e-34    -1.53081e-17    -3.06162e-17    1.53081e-17
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
        -0.125000       -0.125000       -0.250000       0.125000
        -0.250000       0.00000 0.00000 0.00000
        -0.125000       0.125000        0.250000        -0.125000
-       -9.37350e-34    1.53081e-17     3.06162e-17     -1.53081e-17
-       0.00000 -3.06162e-17    0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
        0.00000 -0.250000       0.00000 0.00000
        0.00000 0.00000 0.00000 0.00000
        0.00000 0.250000        0.00000 0.00000
-       0.00000 3.06162e-17     0.00000 0.00000
-       9.37350e-34     -1.53081e-17    3.06162e-17     -1.53081e-17
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
        0.125000        -0.125000       0.250000        -0.125000
        0.250000        0.00000 0.00000 0.00000
        0.125000        0.125000        -0.250000       0.125000
-       9.37350e-34     1.53081e-17     -3.06162e-17    1.53081e-17
-       0.00000 0.00000 3.74940e-33     -1.87470e-33
-       1.53081e-17     -9.37350e-34    3.06162e-17     -1.53081e-17
-       3.06162e-17     0.00000 0.00000 0.00000
-       1.53081e-17     9.37350e-34     -3.06162e-17    1.53081e-17
-       0.00000 0.00000 -3.74940e-33    1.87470e-33
-       0.00000 0.00000 0.00000 0.00000
-       -1.87470e-33    0.00000 0.00000 1.87470e-33
-       -3.74940e-33    0.00000 0.00000 0.00000
-       -1.87470e-33    0.00000 0.00000 -1.87470e-33
-       0.00000 0.00000 0.00000 0.00000
-       0.00000 -1.87470e-33    0.00000 1.87470e-33
-       -1.53081e-17    -1.53081e-17    -1.87470e-33    1.53081e-17
-       -3.06162e-17    0.00000 0.00000 0.00000
-       -1.53081e-17    1.53081e-17     1.87470e-33     -1.53081e-17
-       0.00000 1.87470e-33     0.00000 -1.87470e-33
-       0.00000 -3.74940e-33    0.00000 0.00000
-       0.00000 -3.06162e-17    0.00000 0.00000
-       0.00000 0.00000 0.00000 0.00000
-       0.00000 3.06162e-17     0.00000 0.00000
-       0.00000 3.74940e-33     0.00000 0.00000
-       0.00000 -1.87470e-33    0.00000 -1.87470e-33
-       1.53081e-17     -1.53081e-17    1.87470e-33     -1.53081e-17
-       3.06162e-17     0.00000 0.00000 0.00000
-       1.53081e-17     1.53081e-17     -1.87470e-33    1.53081e-17
-       0.00000 1.87470e-33     0.00000 1.87470e-33
-       0.00000 0.00000 0.00000 0.00000
-       1.87470e-33     0.00000 0.00000 -1.87470e-33
-       3.74940e-33     0.00000 0.00000 0.00000
-       1.87470e-33     0.00000 0.00000 1.87470e-33
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
+       0.00000 0.00000 0.00000 0.00000
        0.00000 0.00000 0.00000 0.00000
 attribute "dep" string "positions"
 object "deal data" class field

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.