Class template lagged_fibonacci_engine Boost , The Boost C++ Libraries BoostBook Documentation Subset , Reference
Class template lagged_fibonacci_engine
boost::random::lagged_fibonacci_engine
Synopsis
template < typename UIntType, int w, unsigned int p, unsigned int q>
class lagged_fibonacci_engine {
public :
typedef UIntType result_type ;
lagged_fibonacci_engine ( ) ;
explicit lagged_fibonacci_engine ( UIntType ) ;
template < typename SeedSeq> explicit lagged_fibonacci_engine ( SeedSeq & ) ;
template < typename It> lagged_fibonacci_engine ( It & , It ) ;
static result_type min ( ) ;
static result_type max ( ) ;
void seed ( ) ;
void seed ( UIntType ) ;
template < typename SeedSeq> void seed ( SeedSeq & ) ;
template < typename It> void seed ( It & , It ) ;
result_type operator ( ) ( ) ;
template < typename Iter> void generate ( Iter , Iter ) ;
void discard ( boost :: uintmax_t ) ;
template < typename CharT, typename Traits>
friend std :: basic_ostream < CharT , Traits > &
operator << ( std :: basic_ostream < CharT , Traits > & ,
const lagged_fibonacci_engine & ) ;
template < typename CharT, typename Traits>
friend std :: basic_istream < CharT , Traits > &
operator >> ( std :: basic_istream < CharT , Traits > & ,
const lagged_fibonacci_engine & ) ;
friend bool operator == ( const lagged_fibonacci_engine & ,
const lagged_fibonacci_engine & ) ;
friend bool operator != ( const lagged_fibonacci_engine & ,
const lagged_fibonacci_engine & ) ;
static const bool has_fixed_range ;
static const int word_size ;
static const unsigned int long_lag ;
static const unsigned int short_lag ;
static const UIntType default_seed ;
} ;
Description
Обоснования шаблона класса lagged_fibonacci_engine модели pseudo-случайного генератора чисел . Он использует алгоритм Фибоначчи с двумя лагами p
и q:
x(i) = x(i-p) + x(i-q) (mod 2w ) с p>q.
lagged_fibonacci_engine
public
construct/copy/destruct
lagged_fibonacci_engine
public static functions
static result_type min ( ) ; Возвращает наименьшее значение, которое может произвести генератор.
static result_type max ( ) ; Возвращает наибольшее значение, которое может произвести генератор.
lagged_fibonacci_engine
public member functions
void seed ( ) ; Звонки seed(default_seed)
.
void seed ( UIntType значение ) ; Устанавливает состояние генератора на значения, полученные генератором minstd_rand0
.
template < typename SeedSeq> void seed ( SeedSeq ) ; Устанавливает состояние генератора с использованием значений, полученных seq.
template < typename It> void seed ( It , It Last) ; Устанавливает состояние генератора на значения из диапазона итераторов [первый, последний, последний]. Если в диапазоне не хватает элементов [первый, последний] бросок std::invalid_argument
.
result_type оператор ( ) ; Вернет следующее значение генератора.
template typename Iter> void generate ( Iter first, Iter last; Заполняет диапазон случайными значениями
void discard ( boost :: uintmax_t z) ; Улучшает состояние генератора на z
.
lagged_fibonacci_engine
friend functions
template CharT, TraitsBasic_ostream , CharT > >оператор Basic_ostream < CharT > const lagged_fibonacci_engine & Писает текстовое представление генератора на std::ostream
.
template CharT, typename Traits std<, CharT > оператор >basic_istream <, > > constlagged_fibonacci_engine& std::istream
.
friend bool оператор const lagged_fibonacci_engine , const lagged_fibonacci_engine lagged_fibonacci_engine & ; Возвращается верно, если два генератора будут производить идентичные последовательности выходов.
friend bool оператор != const lagged_fibonacci_engine , const lagged_fibonacci_engine lagged_fibonacci_engine & rhs; Возвращается верно, если два генератора будут производить разные последовательности выходов.
Статья Class template lagged_fibonacci_engine раздела The Boost C++ Libraries BoostBook Documentation Subset Reference может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Reference ::