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  >, > оператор <, >   os,  const &>;2>shuffle_order_engineWrites a std::ostream
    template typename  CharT, TraitsBasic_istream  >  >  оператор < > > > constshuffle_order_engineЧитает std::istream:8>  friend  bool оператор 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  ::