19 #ifndef LIBMESH_PARALLEL_BIN_SORTER_H 20 #define LIBMESH_PARALLEL_BIN_SORTER_H 48 template <
typename KeyType,
typename IdxType=
unsigned int>
52 typedef typename std::vector<KeyType>::const_iterator
IterType;
59 const std::vector<KeyType> & d);
66 void binsort (
const IdxType nbins,
78 const std::vector<KeyType> &
data;
86 template <
typename KeyType,
typename IdxType>
90 libmesh_assert_less ((bin+1), bin_iters.size());
94 return cast_int<IdxType>
95 (std::distance (bin_iters[bin], bin_iters[bin+1]));
102 #endif // LIBMESH_PARALLEL_BIN_SORTER_H std::vector< IterType > bin_iters
BinSorter(const Parallel::Communicator &comm, const std::vector< KeyType > &d)
const std::vector< KeyType > & data
const Parallel::Communicator & comm() const
long double max(long double a, double b)
Parallel bin sorting object.
An object whose state is distributed along a set of processors.
IdxType sizeof_bin(const IdxType bin) const
std::vector< KeyType >::const_iterator IterType
long double min(long double a, double b)
void binsort(const IdxType nbins, KeyType max, KeyType min)