STLdoc
STLdocumentation
|
Parallel implementation of std::random_shuffle(). This file is a GNU parallel extension to the Standard C++ Library. More...
#include <limits>
#include <bits/stl_numeric.h>
#include <parallel/parallel.h>
#include <parallel/random_number.h>
Go to the source code of this file.
Classes | |
struct | __gnu_parallel::_DRandomShufflingGlobalData< _RAIter > |
Data known to every thread participating in __gnu_parallel::__parallel_random_shuffle(). More... | |
struct | __gnu_parallel::_DRSSorterPU< _RAIter, _RandomNumberGenerator > |
Local data for a thread participating in __gnu_parallel::__parallel_random_shuffle(). More... | |
Namespaces | |
__gnu_parallel | |
GNU parallel code for public use. | |
Typedefs | |
typedef unsigned short | __gnu_parallel::_BinIndex |
Type to hold the index of a bin. More... | |
Functions | |
template<typename _RandomNumberGenerator > | |
int | __gnu_parallel::__random_number_pow2 (int __logp, _RandomNumberGenerator &__rng) |
Generate a random number in [0,2^__logp). More... | |
template<typename _RAIter , typename _RandomNumberGenerator > | |
void | __gnu_parallel::__parallel_random_shuffle_drs_pu (_DRSSorterPU< _RAIter, _RandomNumberGenerator > *__pus) |
Random shuffle code executed by each thread. More... | |
template<typename _Tp > | |
_Tp | __gnu_parallel::__round_up_to_pow2 (_Tp __x) |
Round up to the next greater power of 2. More... | |
template<typename _RAIter , typename _RandomNumberGenerator > | |
void | __gnu_parallel::__parallel_random_shuffle_drs (_RAIter __begin, _RAIter __end, typename std::iterator_traits< _RAIter >::difference_type __n, _ThreadIndex __num_threads, _RandomNumberGenerator &__rng) |
Main parallel random shuffle step. More... | |
template<typename _RAIter , typename _RandomNumberGenerator > | |
void | __gnu_parallel::__sequential_random_shuffle (_RAIter __begin, _RAIter __end, _RandomNumberGenerator &__rng) |
Sequential cache-efficient random shuffle. More... | |
template<typename _RAIter , typename _RandomNumberGenerator > | |
void | __gnu_parallel::__parallel_random_shuffle (_RAIter __begin, _RAIter __end, _RandomNumberGenerator __rng=_RandomNumber()) |
Parallel random public call. More... | |
Parallel implementation of std::random_shuffle(). This file is a GNU parallel extension to the Standard C++ Library.