]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Another test.
authorbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 19 Nov 2009 04:25:56 +0000 (04:25 +0000)
committerbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 19 Nov 2009 04:25:56 +0000 (04:25 +0000)
git-svn-id: https://svn.dealii.org/trunk@20137 0785d39b-7218-0410-832d-ea1e28bc413d

tests/base/index_set_14.cc [new file with mode: 0644]
tests/base/index_set_14/cmp/generic [new file with mode: 0644]

diff --git a/tests/base/index_set_14.cc b/tests/base/index_set_14.cc
new file mode 100644 (file)
index 0000000..6df7c99
--- /dev/null
@@ -0,0 +1,79 @@
+//-----------------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2009 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//-----------------------------------------------------------------------------
+
+// test IndexSet::operator &
+
+#include "../tests.h"
+#include <iomanip>
+#include <iomanip>
+#include <fstream>
+#include <cmath>
+#include <stdlib.h>
+
+#include <base/index_set.h>
+
+
+void test ()
+{
+  IndexSet is1 (100);
+  IndexSet is2 (100);
+
+                                  // randomly add 90 elements to each
+                                  // set, some of which may be
+                                  // repetitions of previous ones
+  for (unsigned int i=0; i<9*is1.size()/10; ++i)
+    {
+      is1.add_index (rand() % is1.size());
+      is2.add_index (rand() % is2.size());
+    }
+
+  IndexSet is3 = is1 & is2;
+
+  deallog << "Set sizes: "
+         << is1.n_elements() << ' '
+         << is2.n_elements() << ' '
+         << is3.n_elements() << std::endl;
+
+  for (unsigned int i=0; i<is3.size(); ++i)
+    {
+      deallog << i << ' ' << (is3.is_element(i) ? "true" : "false")
+             << std::endl;
+
+      Assert ((is1.is_element(i) && is2.is_element(i))
+             ==
+             is3.is_element(i),
+             ExcInternalError());
+    }
+
+                                  // some sanity tests
+  Assert ((is1 & is2) == (is2 & is1), ExcInternalError());
+  Assert ((is1 & is3) == (is2 & is3), ExcInternalError());
+  Assert ((is1 & is3) == is3, ExcInternalError());
+  Assert ((is3 & is1) == is3, ExcInternalError());
+  Assert ((is3 & is3) == is3, ExcInternalError());
+
+  deallog << "OK" << std::endl;
+}
+
+
+
+
+int main()
+{
+  std::ofstream logfile("index_set_14/output");
+  deallog.attach(logfile);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);
+
+  test ();
+}
diff --git a/tests/base/index_set_14/cmp/generic b/tests/base/index_set_14/cmp/generic
new file mode 100644 (file)
index 0000000..7e821d0
--- /dev/null
@@ -0,0 +1,103 @@
+
+DEAL::Set sizes: 61 56 30
+DEAL::0 false
+DEAL::1 true
+DEAL::2 false
+DEAL::3 false
+DEAL::4 false
+DEAL::5 true
+DEAL::6 false
+DEAL::7 false
+DEAL::8 true
+DEAL::9 false
+DEAL::10 false
+DEAL::11 false
+DEAL::12 false
+DEAL::13 false
+DEAL::14 true
+DEAL::15 true
+DEAL::16 false
+DEAL::17 true
+DEAL::18 false
+DEAL::19 true
+DEAL::20 false
+DEAL::21 true
+DEAL::22 false
+DEAL::23 false
+DEAL::24 true
+DEAL::25 false
+DEAL::26 true
+DEAL::27 true
+DEAL::28 true
+DEAL::29 true
+DEAL::30 false
+DEAL::31 false
+DEAL::32 false
+DEAL::33 false
+DEAL::34 false
+DEAL::35 false
+DEAL::36 true
+DEAL::37 false
+DEAL::38 false
+DEAL::39 true
+DEAL::40 false
+DEAL::41 true
+DEAL::42 false
+DEAL::43 false
+DEAL::44 false
+DEAL::45 false
+DEAL::46 false
+DEAL::47 false
+DEAL::48 false
+DEAL::49 true
+DEAL::50 false
+DEAL::51 false
+DEAL::52 false
+DEAL::53 false
+DEAL::54 false
+DEAL::55 false
+DEAL::56 true
+DEAL::57 false
+DEAL::58 false
+DEAL::59 true
+DEAL::60 false
+DEAL::61 false
+DEAL::62 false
+DEAL::63 false
+DEAL::64 true
+DEAL::65 true
+DEAL::66 false
+DEAL::67 true
+DEAL::68 false
+DEAL::69 false
+DEAL::70 true
+DEAL::71 false
+DEAL::72 false
+DEAL::73 false
+DEAL::74 false
+DEAL::75 false
+DEAL::76 false
+DEAL::77 false
+DEAL::78 false
+DEAL::79 false
+DEAL::80 false
+DEAL::81 true
+DEAL::82 false
+DEAL::83 true
+DEAL::84 true
+DEAL::85 false
+DEAL::86 true
+DEAL::87 false
+DEAL::88 true
+DEAL::89 false
+DEAL::90 false
+DEAL::91 true
+DEAL::92 false
+DEAL::93 false
+DEAL::94 false
+DEAL::95 true
+DEAL::96 false
+DEAL::97 false
+DEAL::98 false
+DEAL::99 false
+DEAL::OK

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.