]> https://gitweb.dealii.org/ - dealii.git/commitdiff
fixup
authorMatthias Maier <tamiko@43-1.org>
Mon, 4 May 2015 11:53:12 +0000 (13:53 +0200)
committerMatthias Maier <tamiko@43-1.org>
Mon, 4 May 2015 11:57:52 +0000 (13:57 +0200)
tests/lac/block_vector_move_operations.with_cxx11=on.output
tests/lac/vector_move_operations.cc
tests/lac/vector_move_operations.with_cxx11=on.output
tests/trilinos/block_vector_move_operations.cc [new file with mode: 0644]
tests/trilinos/block_vector_move_operations.with_cxx11=on.output [new file with mode: 0644]
tests/trilinos/vector_move_operations.cc
tests/trilinos/vector_move_operations.with_cxx11=on.output

index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..bf0d55296d0e9a3682c5fa9e9f1ed3f8d45a06df 100644 (file)
@@ -0,0 +1,40 @@
+
+DEAL::Block vector: move constructor:
+DEAL::[block 0 ]  0.00000 0.00000 
+DEAL::[block 1 ]  0.00000 0.00000 
+DEAL::[block 2 ]  0.00000 0.00000 
+DEAL::[block 3 ]  0.00000 0.00000 
+DEAL::[block 4 ]  0.00000 0.00000 
+DEAL::
+DEAL::Block vector: BlockVector:
+DEAL::[block 0 ]  0.00000 1.00000 
+DEAL::[block 1 ]  10.0000 11.0000 
+DEAL::[block 2 ]  20.0000 21.0000 
+DEAL::[block 3 ]  30.0000 31.0000 
+DEAL::[block 4 ]  40.0000 41.0000 
+DEAL::Block vector: copy assignemnt:
+DEAL::[block 0 ]  0.00000 1.00000 
+DEAL::[block 1 ]  10.0000 11.0000 
+DEAL::[block 2 ]  20.0000 21.0000 
+DEAL::[block 3 ]  30.0000 31.0000 
+DEAL::[block 4 ]  40.0000 41.0000 
+DEAL::Block vector: old object:
+DEAL::[block 0 ]  0.00000 1.00000 
+DEAL::[block 1 ]  10.0000 11.0000 
+DEAL::[block 2 ]  20.0000 21.0000 
+DEAL::[block 3 ]  30.0000 31.0000 
+DEAL::[block 4 ]  40.0000 41.0000 
+DEAL::Block vector: move assignemnt:
+DEAL::[block 0 ]  0.00000 1.00000 
+DEAL::[block 1 ]  10.0000 11.0000 
+DEAL::[block 2 ]  20.0000 21.0000 
+DEAL::[block 3 ]  30.0000 31.0000 
+DEAL::[block 4 ]  40.0000 41.0000 
+DEAL::old object size: 5
+DEAL::Block vector: move assignemnt:
+DEAL::[block 0 ]  0.00000 1.00000 
+DEAL::[block 1 ]  10.0000 11.0000 
+DEAL::[block 2 ]  20.0000 21.0000 
+DEAL::[block 3 ]  30.0000 31.0000 
+DEAL::[block 4 ]  40.0000 41.0000 
+DEAL::old object size: 0
index 951c5003c4f62ce2faf5c4a9a50cc0863620747a..fbc4b5a3a63cc83ccd78fc20b294b380f7e30d11 100644 (file)
@@ -46,6 +46,7 @@ int main()
     deallog << "old object size: " << u.size() << std::endl;
 
     // and swap again with different sizes
+    u.reinit(0);
     u = std::move(v);
     deallog << "move assignment: " << u;
     deallog << "old object size: " << v.size() << std::endl;
index 25f8614359f9b58d739ec2c0e2a42be56d8a2196..2bd7dd57de3807b2090b4b564c92c8a61160bdaa 100644 (file)
@@ -5,6 +5,6 @@ DEAL::vector:          1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8
 DEAL::copy assignment: 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 
 DEAL::old object:      1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 
 DEAL::move assignment: 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 
-DEAL::old object size: 0
+DEAL::old object size: 10
 DEAL::move assignment: 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 
 DEAL::old object size: 0
diff --git a/tests/trilinos/block_vector_move_operations.cc b/tests/trilinos/block_vector_move_operations.cc
new file mode 100644 (file)
index 0000000..3fedf64
--- /dev/null
@@ -0,0 +1,68 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2012 - 2015 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+#include "../tests.h"
+#include <deal.II/lac/trilinos_vector.h>
+#include <deal.II/lac/trilinos_parallel_block_vector.h>
+
+#define PRINTBLOCK(name, var)                                \
+  deallog << "Block vector: " name << ":" << std::endl;      \
+  for (unsigned int i = 0; i < var.n_blocks(); ++i)          \
+    {                                                        \
+      deallog << "[block " << i << " ]  ";                   \
+      for (unsigned int j = 0; j < var.block(i).size(); ++j) \
+        deallog << var.block(i)[j] << " ";                   \
+      deallog << std::endl;                                  \
+    }
+
+
+int main (int argc, char **argv)
+{
+  initlog();
+
+  Utilities::MPI::MPI_InitFinalize mpi_initialization (argc, argv, numbers::invalid_unsigned_int);
+
+  {
+    std::vector<IndexSet> local_owned(5);
+    for (auto &index : local_owned)
+      {
+        index.set_size(2);
+        index.add_range(0,2);
+      }
+
+    TrilinosWrappers::MPI::BlockVector temp(local_owned, MPI_COMM_WORLD);
+    for (unsigned int i = 0; i < 5; ++i)
+      for (unsigned int j = 0; j < 2; ++j)
+        temp.block(i)[j] = (double)(10 * i + j);
+
+    PRINTBLOCK("BlockVector", temp);
+
+    TrilinosWrappers::MPI::BlockVector u(std::move(temp));
+    PRINTBLOCK("move constructor", u);
+
+    TrilinosWrappers::MPI::BlockVector v;
+    v = u;
+    PRINTBLOCK("copy assignemnt", v);
+    PRINTBLOCK("old object", u);
+
+    v.reinit(0);
+    v = std::move(u);
+    PRINTBLOCK("move assignemnt", v);
+    deallog << "old object size: " << u.n_blocks() << std::endl;
+  }
+}
+
+
diff --git a/tests/trilinos/block_vector_move_operations.with_cxx11=on.output b/tests/trilinos/block_vector_move_operations.with_cxx11=on.output
new file mode 100644 (file)
index 0000000..c944639
--- /dev/null
@@ -0,0 +1,32 @@
+
+DEAL::Block vector: BlockVector:
+DEAL::[block 0 ]  0.00000 1.00000 
+DEAL::[block 1 ]  10.0000 11.0000 
+DEAL::[block 2 ]  20.0000 21.0000 
+DEAL::[block 3 ]  30.0000 31.0000 
+DEAL::[block 4 ]  40.0000 41.0000 
+DEAL::Block vector: move constructor:
+DEAL::[block 0 ]  0.00000 1.00000 
+DEAL::[block 1 ]  10.0000 11.0000 
+DEAL::[block 2 ]  20.0000 21.0000 
+DEAL::[block 3 ]  30.0000 31.0000 
+DEAL::[block 4 ]  40.0000 41.0000 
+DEAL::Block vector: copy assignemnt:
+DEAL::[block 0 ]  0.00000 1.00000 
+DEAL::[block 1 ]  10.0000 11.0000 
+DEAL::[block 2 ]  20.0000 21.0000 
+DEAL::[block 3 ]  30.0000 31.0000 
+DEAL::[block 4 ]  40.0000 41.0000 
+DEAL::Block vector: old object:
+DEAL::[block 0 ]  0.00000 1.00000 
+DEAL::[block 1 ]  10.0000 11.0000 
+DEAL::[block 2 ]  20.0000 21.0000 
+DEAL::[block 3 ]  30.0000 31.0000 
+DEAL::[block 4 ]  40.0000 41.0000 
+DEAL::Block vector: move assignemnt:
+DEAL::[block 0 ]  0.00000 1.00000 
+DEAL::[block 1 ]  10.0000 11.0000 
+DEAL::[block 2 ]  20.0000 21.0000 
+DEAL::[block 3 ]  30.0000 31.0000 
+DEAL::[block 4 ]  40.0000 41.0000 
+DEAL::old object size: 0
index 97e495da8613907b37a8e7169bab5035c06285f8..5e6b5fd8d6026669cfd5561c01fa6a99e034e551 100644 (file)
     deallog << var[i] << " ";                              \
   deallog << std::endl;
 
-#define PRINTBLOCK(name, var)                                \
-  deallog << "Block vector: " name << ":" << std::endl;      \
-  for (unsigned int i = 0; i < var.n_blocks(); ++i)          \
-    {                                                        \
-      deallog << "[block " << i << " ]  ";                   \
-      for (unsigned int j = 0; j < var.block(i).size(); ++j) \
-        deallog << var.block(i)[j] << " ";                   \
-      deallog << std::endl;                                  \
-    }
-
-
 int main (int argc, char **argv)
 {
   initlog();
@@ -64,37 +53,6 @@ int main (int argc, char **argv)
     PRINTME("move assignemnt", v);
     deallog << "old object size: " << u.size() << std::endl;
   }
-
-  deallog << std::endl;
-
-  {
-    std::vector<IndexSet> local_owned(5);
-    for (auto &index : local_owned)
-      {
-        index.set_size(2);
-        index.add_range(0,2);
-      }
-
-    TrilinosWrappers::MPI::BlockVector temp(local_owned, MPI_COMM_WORLD);
-    for (unsigned int i = 0; i < 5; ++i)
-      for (unsigned int j = 0; j < 2; ++j)
-        temp.block(i)[j] = (double)(10 * i + j);
-
-    PRINTBLOCK("BlockVector", temp);
-
-    TrilinosWrappers::MPI::BlockVector u(std::move(temp));
-    PRINTME("move constructor", u);
-
-    TrilinosWrappers::MPI::BlockVector v;
-    v = u;
-    PRINTBLOCK("copy assignemnt", v);
-    PRINTBLOCK("old object", u);
-
-    v.reinit(0);
-    v = std::move(u);
-    PRINTBLOCK("move assignemnt", v);
-    deallog << "old object size: " << u.n_blocks() << std::endl;
-  }
 }
 
 
index 5cee7746072ffa3f497c83136620e5391d9b4f3c..d932a34f435c057608108252ed0331a6692c0c66 100644 (file)
@@ -10,35 +10,3 @@ DEAL::1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10
 DEAL::Vector: move assignemnt:
 DEAL::1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000 10.0000 
 DEAL::old object size: 0
-DEAL::
-DEAL::Block vector: BlockVector:
-DEAL::[block 0 ]  0.00000 1.00000 
-DEAL::[block 1 ]  10.0000 11.0000 
-DEAL::[block 2 ]  20.0000 21.0000 
-DEAL::[block 3 ]  30.0000 31.0000 
-DEAL::[block 4 ]  40.0000 41.0000 
-DEAL::Block vector: move constructor:
-DEAL::[block 0 ]  0.00000 1.00000 
-DEAL::[block 1 ]  10.0000 11.0000 
-DEAL::[block 2 ]  20.0000 21.0000 
-DEAL::[block 3 ]  30.0000 31.0000 
-DEAL::[block 4 ]  40.0000 41.0000 
-DEAL::Block vector: copy assignemnt:
-DEAL::[block 0 ]  0.00000 1.00000 
-DEAL::[block 1 ]  10.0000 11.0000 
-DEAL::[block 2 ]  20.0000 21.0000 
-DEAL::[block 3 ]  30.0000 31.0000 
-DEAL::[block 4 ]  40.0000 41.0000 
-DEAL::Block vector: old object:
-DEAL::[block 0 ]  0.00000 1.00000 
-DEAL::[block 1 ]  10.0000 11.0000 
-DEAL::[block 2 ]  20.0000 21.0000 
-DEAL::[block 3 ]  30.0000 31.0000 
-DEAL::[block 4 ]  40.0000 41.0000 
-DEAL::Block vector: move assignemnt:
-DEAL::[block 0 ]  0.00000 1.00000 
-DEAL::[block 1 ]  10.0000 11.0000 
-DEAL::[block 2 ]  20.0000 21.0000 
-DEAL::[block 3 ]  30.0000 31.0000 
-DEAL::[block 4 ]  40.0000 41.0000 
-DEAL::old object size: 0

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.