Class template subtract_with_carry_01_engine Boost , The Boost C++ Libraries BoostBook Documentation Subset , Reference
Class template subtract_with_carry_01_engine
boost::random::subtract_with_carry_01_engine
Synopsis
template < typename RealType, std :: size_t w, std :: size_t s, std :: size_t r>
class subtract_with_carry_01_engine {
public :
typedef RealType result_type ;
subtract_with_carry_01_engine ( ) ;
explicit subtract_with_carry_01_engine ( boost :: uint32_t ) ;
template < typename SeedSeq> explicit subtract_with_carry_01_engine ( SeedSeq & ) ;
template < typename It> subtract_with_carry_01_engine ( It & , It ) ;
void seed ( ) ;
void seed ( boost :: uint32_t ) ;
template < typename SeedSeq> void seed ( SeedSeq & ) ;
template < typename It> void seed ( It & , It ) ;
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 subtract_with_carry_01_engine & ) ;
template < typename CharT, typename Traits>
friend std :: basic_istream < CharT , Traits > &
operator >> ( std :: basic_istream < CharT , Traits > & ,
const subtract_with_carry_01_engine & ) ;
friend bool operator == ( const subtract_with_carry_01_engine & ,
const subtract_with_carry_01_engine & ) ;
friend bool operator != ( const subtract_with_carry_01_engine & ,
const subtract_with_carry_01_engine & ) ;
static const bool has_fixed_range ;
static const std :: size_t word_size ;
static const std :: size_t long_lag ;
static const std :: size_t short_lag ;
static const boost :: uint32_t default_seed ;
} ;
Description
Обоснованиеsubtract_with_carry_01_engine модель генератора псевдослучайных чисел . Алгоритм описывается в
«Новый класс генераторов случайных чисел», Джордж Марсалья и Ариф Заман, «Анналы прикладной вероятности», том 1, номер 3 (1991), 462-480.
subtract_with_carry_01_engine
public
construct/copy/destruct
<subtract_with_carry_01_engine ( ) ; >Создает новое<subtract_with_carry_01_engine >, используя семя по умолчанию.
<explicit subtract_with_carry_01_engine ( boost :: uint32_t value) ; >Создает новое<subtract_with_carry_01_engine >и сеет его с ценностью.
<template < typename SeedSeq>
explicit subtract_with_carry_01_engine ( SeedSeq & seq) ; >Создает новое<subtract_with_carry_01_engine >и семена со значениями, произведенными seq.generate().
<template < typename It> subtract_with_carry_01_engine ( It & first, It last) ; >Создает новое<subtract_with_carry_01_engine >и сеет его с величинами из диапазона. Достижения сначала указывают на то, что одна из них превышает последнюю потребленную стоимость. Если диапазон не содержит достаточно элементов, чтобы заполнить все состояние, бросает<std::invalid_argument>.
subtract_with_carry_01_engine public member functions
<void seed ( ) ; >Семена генератора с семенем по умолчанию.
<void seed ( boost :: uint32_t value) ; >Засевает генератор<value>
.
<template < typename SeedSeq> void seed ( SeedSeq & seq) ; >Семена генератора со значениями, произведенными<seq.generate()>.
<template < typename It> void seed ( It & first, It last) ; >Семена генератора со значениями из диапазона. Обновления сначала указывают на один из последних потребляемых элементов. Если в диапазоне недостаточно элементов, чтобы заполнить все состояние, бросает<std::invalid_argument>.
<result_type operator ( ) ( ) ; >Возвращает следующее значение генератора.
<void discard ( boost :: uintmax_t z) ; >Улучшает состояние генератора<z>
.
<template < typename Iter> void generate ( Iter first, Iter last) ; >Заполняет диапазон случайными значениями.
subtract_with_carry_01_engine public static functions
<static result_type min ( ) ; >Возвращает наименьшее значение, которое может произвести генератор.
<static result_type max ( ) ; >Возвращает наибольшее значение, которое может произвести генератор.
subtract_with_carry_01_engine friend functions
<template < typename CharT, typename Traits>
friend std :: basic_ostream < CharT , Traits > &
operator << ( std :: basic_ostream < CharT , Traits > & os,
const subtract_with_carry_01_engine & f) ; >Пишет<subtract_with_carry_01_engine ><std::ostream>
.
<template < typename CharT, typename Traits>
friend std :: basic_istream < CharT , Traits > &
operator >> ( std :: basic_istream < CharT , Traits > & is,
const subtract_with_carry_01_engine & f) ; >Читает<subtract_with_carry_01_engine >из<std::istream>.
<friend bool operator == ( const subtract_with_carry_01_engine & x,
const subtract_with_carry_01_engine & y) ; >Возвращается истинно, если два генератора будут производить одинаковые последовательности.
<friend bool operator != ( const subtract_with_carry_01_engine & lhs,
const subtract_with_carry_01_engine & rhs) ; >Возвращается истинно, если два генератора будут производить разные последовательности.
Статья Class template subtract_with_carry_01_engine раздела The Boost C++ Libraries BoostBook Documentation Subset Reference может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Reference ::