コード例 #1
0
Uint MergedParallelDistribution::subhash_of_obj(const Uint obj) const
{
  Uint part = part_of_obj(obj);
  Uint start_idx_of_obj_part = start_idx_in_part( part );
  Uint offset = obj - start_idx_of_obj_part;

  Uint psize = 0;
  Uint i=0;
  boost_foreach(Handle< ParallelDistribution > hash, m_subhash)
  {
    psize += hash->nb_objects_in_part(part);
    if (offset < psize)
      return i;
    ++i;
  }
コード例 #2
0
ファイル: CMixedHash.cpp プロジェクト: Ivor23/coolfluid3
Uint CMixedHash::subhash_of_obj(const Uint obj) const
{
  Uint part = part_of_obj(obj);
  Uint start_idx_of_obj_part = start_idx_in_part( part );
  Uint offset = obj - start_idx_of_obj_part;

  Uint psize = 0;
  Uint i=0;
  boost_foreach(CHash::ConstPtr hash, m_subhash)
  {
    psize += hash->nb_objects_in_part(part);
    if (offset < psize)
      return i;
    ++i;
  }
コード例 #3
0
Uint MergedParallelDistribution::start_idx_in_proc(const Uint proc) const
{
  Uint part_begin = m_nb_parts/PE::Comm::instance().size()*proc;
  return start_idx_in_part(part_begin);
}
コード例 #4
0
Uint MergedParallelDistribution::nb_objects_in_part(const Uint part) const
{
  return end_idx_in_part(part) - start_idx_in_part(part);
}
コード例 #5
0
ファイル: CMixedHash.cpp プロジェクト: Ivor23/coolfluid3
Uint CMixedHash::start_idx_in_proc(const Uint proc) const
{
  Uint part_begin = m_nb_parts/Comm::PE::instance().size()*proc;
  return start_idx_in_part(part_begin);
}
コード例 #6
0
ファイル: CMixedHash.cpp プロジェクト: Ivor23/coolfluid3
Uint CMixedHash::nb_objects_in_part(const Uint part) const
{
  return end_idx_in_part(part) - start_idx_in_part(part);
}