GNU g++  v5.2.1
GNU Standard C++
random_shuffle.h File Reference

Parallel implementation of std::random_shuffle(). More...

#include <limits>
#include <bits/stl_numeric.h>
#include <parallel/parallel.h>
#include <parallel/random_number.h>
Include dependency graph for random_shuffle.h:
This graph shows which files directly or indirectly include 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 _RAIter , typename _RandomNumberGenerator >
void __gnu_parallel::__parallel_random_shuffle (_RAIter __begin, _RAIter __end, _RandomNumberGenerator __rng=_RandomNumber())
 Parallel random public call. 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::__parallel_random_shuffle_drs_pu (_DRSSorterPU< _RAIter, _RandomNumberGenerator > *__pus)
 Random shuffle code executed by each thread. More...
 
template<typename _RandomNumberGenerator >
int __gnu_parallel::__random_number_pow2 (int __logp, _RandomNumberGenerator &__rng)
 Generate a random number in [0,2^__logp). 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::__sequential_random_shuffle (_RAIter __begin, _RAIter __end, _RandomNumberGenerator &__rng)
 Sequential cache-efficient random shuffle. More...
 

Detailed Description

Parallel implementation of std::random_shuffle().

This file is a GNU parallel extension to the Standard C++ Library.