[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;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Getfem-commits] r4587 - /trunk/getfem/src/getfem_mesh_region.cc,
andriy . andreykiv <=