getfem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Getfem-commits] r4587 - /trunk/getfem/src/getfem_mesh_region.cc


From: andriy . andreykiv
Subject: [Getfem-commits] r4587 - /trunk/getfem/src/getfem_mesh_region.cc
Date: Thu, 03 Apr 2014 16:25:39 -0000

Author: andrico
Date: Thu Apr  3 18:25:38 2014
New Revision: 4587

URL: http://svn.gna.org/viewcvs/getfem?rev=4587&view=rev
Log:
fixed a bug with a wrong partition index

Modified:
    trunk/getfem/src/getfem_mesh_region.cc

Modified: trunk/getfem/src/getfem_mesh_region.cc
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_mesh_region.cc?rev=4587&r1=4586&r2=4587&view=diff
==============================================================================
--- trunk/getfem/src/getfem_mesh_region.cc      (original)
+++ trunk/getfem/src/getfem_mesh_region.cc      Thu Apr  3 18:25:38 2014
@@ -147,9 +147,11 @@
       else return rp().m.end();
     }
     size_type partition_size 
-      = std::ceil(static_cast<scalar_type>(region_size)/
-      static_cast<scalar_type >(num_threads()));
+      =   std::ceil(static_cast<scalar_type>(region_size)/
+          static_cast<scalar_type >(num_threads()));
     size_type index_begin = partition_size * this_thread();
+    if (index_begin >= partition_size ) return  rp().m.end();
+
     const_iterator it = rp().m.begin();
     for (size_type i=0;i<index_begin;++i) ++it;
     return it;
@@ -160,10 +162,13 @@
   {
     size_type region_size = rp().m.size();
     if (region_size < num_threads()) return rp().m.end(); 
+
     size_type partition_size 
       = std::ceil(static_cast<scalar_type>(region_size)/
       static_cast<scalar_type >(num_threads()));
     size_type index_end = partition_size * (this_thread() + 1);
+    if (index_end >= partition_size ) return  rp().m.end();
+
     const_iterator it = rp().m.begin();
     for (size_type i=0;i<index_end && it!=rp().m.end();++i) ++it;
     return it;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]