Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
shuffle.h File Reference
#include "Math/Random/Random.h"
#include <Common/assertion.h>
#include <cstddef>
#include <algorithm>
#include <iterator>
#include <utility>

Go to the source code of this file.

Classes

struct  ph::math::detail::shuffle::StandardSwapper< T >
 

Namespaces

namespace  ph
 The root for all renderer implementations.
 
namespace  ph::math
 Math functions and utilities.
 
namespace  ph::math::detail
 
namespace  ph::math::detail::shuffle
 

Functions

template<typename IndexPairConsumer >
void ph::math::shuffle_durstenfeld_index_pairs (const std::size_t beginIndex, const std::size_t endIndex, IndexPairConsumer consumer)
 
template<typename RandomIterator , typename Swapper = detail::shuffle::StandardSwapper<typename std::iterator_traits<RandomIterator>::value_type>>
void ph::math::shuffle_durstenfeld (RandomIterator begin, RandomIterator end, Swapper swapper=Swapper())