# random_shuffle.h File Reference

## Detailed Description

Parallel implementation of std::random_shuffle(). This file is a GNU parallel extension to the Standard C++ Library.

Definition in file random_shuffle.h.

Go to the source code of this file.

## Namespaces

- namespace __gnu_parallel

## Classes

- struct __gnu_parallel::DRandomShufflingGlobalData< RandomAccessIterator >
    Data known to every thread participating in __gnu_parallel::parallel_random_shuffle(). More...
- struct __gnu_parallel::DRSSorterPU< RandomAccessIterator, RandomNumberGenerator >
    Local data for a thread participating in __gnu_parallel::parallel_random_shuffle(). More...

## Defines

- #define _GLIBCXX_PARALLEL_RANDOM_SHUFFLE_H

## Typedefs

- typedef unsigned short __gnu_parallel::bin_index

## Functions

- template<typename RandomAccessIterator, typename RandomNumberGenerator> void __gnu_parallel::parallel_random_shuffle (RandomAccessIterator begin, RandomAccessIterator end, RandomNumberGenerator rng=random_number())
- template<typename RandomAccessIterator, typename RandomNumberGenerator> void __gnu_parallel::parallel_random_shuffle_drs (RandomAccessIterator begin, RandomAccessIterator end, typename std::iterator_traits< RandomAccessIterator >::difference_type n, thread_index_t num_threads, RandomNumberGenerator &rng)
- template<typename RandomAccessIterator, typename RandomNumberGenerator> void __gnu_parallel::parallel_random_shuffle_drs_pu (DRSSorterPU< RandomAccessIterator, RandomNumberGenerator > *pus)
- template<typename RandomNumberGenerator> int __gnu_parallel::random_number_pow2 (int logp, RandomNumberGenerator &rng)
- template<typename T> T __gnu_parallel::round_up_to_pow2 (T x)
- template<typename RandomAccessIterator, typename RandomNumberGenerator> void __gnu_parallel::sequential_random_shuffle (RandomAccessIterator begin, RandomAccessIterator end, RandomNumberGenerator &rng)