Class template shuffle_order_engine Boost , The Boost C++ Libraries BoostBook Documentation Subset , Reference
Class template shuffle_order_engine
boost::random::shuffle_order_engine
Synopsis
template < typename UniformRandomNumberGenerator, std :: size_t k>
class shuffle_order_engine {
public :
typedef UniformRandomNumberGenerator base_type ;
typedef base_type :: result_type result_type ;
shuffle_order_engine ( ) ;
explicit shuffle_order_engine ( result_type ) ;
template < typename SeedSeq> explicit shuffle_order_engine ( SeedSeq & ) ;
explicit shuffle_order_engine ( const base_type & ) ;
explicit shuffle_order_engine ( base_type && ) ;
template < typename It> shuffle_order_engine ( It & , It ) ;
void seed ( ) ;
void seed ( result_type ) ;
template < typename SeedSeq> void seed ( SeedSeq & ) ;
template < typename It> void seed ( It & , It ) ;
const base_type & base ( ) const ;
result_type operator ( ) ( ) ;
void discard ( boost :: uintmax_t ) ;
template < typename Iter> void generate ( Iter , Iter ) ;
static result_type min ( ) ;
static result_type max ( ) ;
template < typename CharT, typename Traits>
friend std :: basic_ostream < CharT , Traits > &
operator << ( std :: basic_ostream < CharT , Traits > & ,
const shuffle_order_engine & ) ;
template < typename CharT, typename Traits>
friend std :: basic_istream < CharT , Traits > &
operator >> ( std :: basic_istream < CharT , Traits > & ,
const shuffle_order_engine & ) ;
friend bool operator == ( const shuffle_order_engine & ,
const shuffle_order_engine & ) ;
friend bool operator != ( const shuffle_order_engine & ,
const shuffle_order_engine & ) ;
static const bool has_fixed_range ;
static const std :: size_t buffer_size ;
static const std :: size_t table_size ;
} ;
Description
Введение шаблона класса shuffle_order_engine модели pseudo-случайного генератора чисел . Он смешивает выход некоторых (обычно линейный_конгруэнциальный_двигатель ) однородный генератор случайных чисел , чтобы получить лучшие статистические свойства. Алгоритм описывается в
Выход генератора базы буферизуется в массиве длины k. Каждый вывод X(n) имеет вторую роль: Он дает индекс в массив, где будет извлечен X(n+1). Используемые элементы массива заменяются свежим выходом из базового генератора.
Параметрами шаблона являются базовый генератор и длина матрицы k, которая должна быть около 100.
shuffle_order_engine
public
construct/copy/destruct
shuffle_order_engine ; Создает shuffle_order_engine , вызывая по умолчанию конструктор базового генератора.
Сложность: ровно k+1 вызовы базового генератора.
explicit shuffle_order_engine ( result_type s) ; Создает конструктор shuffle_output_engine, используя семенной параметр.
Сложность: ровно k+1 вызовов базового генератора.
template < typename SeedSeq> explicit shuffle_order_engine
explicit shuffle_order_engine ( const base_type & rng) ; Создает shuffle_output_engine с помощью копии предоставленного генератора.
Предпосылка: Аргумент шаблона UniformRandomNumberGenerator должен обозначать тип CopyConstructible.
Сложность: точно k+1 вызовы базового генератора.
explicit shuffle_order_engine ( base_type && rng;
template < typename It> shuffle_order_engine ( It , Last;
shuffle_order_engine public member functions
void seed ( ) ;
void seed ( result_type seed) ; Взывает метод одноаргументного семени базового генератора с параметром seed и повторно инициирует внутренний буферный массив.
Комплексность: ровно k+1 вызовов базового генератора.
template typename SeedSeq> void seed SeedSeq & seq; Взывает метод одноаргументного семени базового генератора с параметром seq и повторно инициирует внутренний буферный массив.
Комплексность: Ровно k+1 вызовы базового генератора.
template < typename It> void seed ( It , It Last;
const base_type & base const ;
result_type оператор ( ) ;
void discard ( boost :: uintmax_t z) ; Передвигает генератор по шагам z.
template < typename Iter> void generate ( Iter first, Iter last) ; Заполняет диапазон псевдослучайными значениями.
shuffle_order_engine public static functions
static result_type min ( ) ; Возвращает наименьшее значение, которое может произвести генератор.
static result_type max ( ) ; Возвращает наибольшее значение, которое может произвести генератор.
shuffle_order_engine friend functions
template typename CharT, Traitsbasic_ostream >, > оператор basic_ostream<, > os, const &>;2>shuffle_order_engineWrites a to std::ostream
template typename CharT, TraitsBasic_istream > > оператор Basic_istream< > > > constshuffle_order_engineЧитает из std::istream:8>
friend bool оператор const shuffle_order_engine , const shuffle_order_engine & ; Возвращается верно, если два генератора будут производить идентичные последовательности.
friend bool оператор != constshuffle_order_engine , const shuffle_order_engine, shuffle_order_engine& rhs; Вернется верно, если два генератора будут производить разные последовательности.
Статья Class template shuffle_order_engine раздела The Boost C++ Libraries BoostBook Documentation Subset Reference может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Reference ::