]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Fix problem with zero chunk size.
authorkronbichler <kronbichler@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 12 Oct 2009 08:04:17 +0000 (08:04 +0000)
committerkronbichler <kronbichler@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 12 Oct 2009 08:04:17 +0000 (08:04 +0000)
git-svn-id: https://svn.dealii.org/trunk@19813 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/examples/step-37/step-37.cc

index 7197b6c8e0e9d1f03b84c526534b5e68b6ae8c66..a29ab473dad73170cb73baa31e0100a65fe115f6 100644 (file)
@@ -822,17 +822,20 @@ reinit (const unsigned int        n_dofs_in,
 
   const unsigned int chunk_size = (matrix_sizes.n_cells/n_chunks +
                                   (matrix_sizes.n_cells%n_chunks>0));
-  matrix_sizes.chunks.resize (n_chunks);
+
+  std::pair<unsigned int, unsigned int> chunk;
   for (unsigned int i=0; i<n_chunks; ++i)
     {
-      matrix_sizes.chunks[i].first = i*chunk_size;
+      chunk.first = i*chunk_size;
       if ((i+1)*chunk_size > matrix_sizes.n_cells)
-       {
-         matrix_sizes.chunks[i].second = matrix_sizes.n_cells;
-         break;
-       }
+       chunk.second = matrix_sizes.n_cells;
+      else
+       chunk.second = (i+1)*chunk_size;
+
+      if (chunk.second > chunk.first)
+       matrix_sizes.chunks.push_back(chunk);
       else
-       matrix_sizes.chunks[i].second = (i+1)*chunk_size;
+       break;
     }
 }
 

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.