Class template piecewise_constant_distribution Boost , The Boost C++ Libraries BoostBook Documentation Subset , Reference
Class template piecewise_constant_distribution
boost::random::piecewise_constant_distribution
Synopsis
template < typename RealType = double , typename WeightType = double >
class piecewise_constant_distribution {
public :
typedef std :: size_t input_type ;
typedef RealType result_type ;
class param_type {
public :
typedef piecewise_constant_distribution distribution_type ;
param_type ( ) ;
template < typename IntervalIter, typename WeightIter>
param_type ( IntervalIter , IntervalIter , WeightIter ) ;
template < typename T, typename F>
param_type ( const std :: initializer_list < T > & , F ) ;
template < typename IntervalRange, typename WeightRange>
param_type ( const IntervalRange & , const WeightRange & ) ;
template < typename F> param_type ( std :: size_t , RealType , RealType , F ) ;
template < typename CharT, typename Traits>
friend std :: basic_ostream < CharT , Traits > &
operator << ( std :: basic_ostream < CharT , Traits > & , const param_type & ) ;
template < typename CharT, typename Traits>
friend std :: basic_istream < CharT , Traits > &
operator >> ( std :: basic_istream < CharT , Traits > & , const param_type & ) ;
friend bool operator == ( const param_type & , const param_type & ) ;
friend bool operator != ( const param_type & , const param_type & ) ;
std :: vector < RealType > intervals ( ) const ;
std :: vector < RealType > densities ( ) const ;
} ;
piecewise_constant_distribution ( ) ;
template < typename IntervalIter, typename WeightIter>
piecewise_constant_distribution ( IntervalIter , IntervalIter , WeightIter ) ;
template < typename T, typename F>
piecewise_constant_distribution ( std :: initializer_list < T > , F ) ;
template < typename IntervalsRange, typename WeightsRange>
piecewise_constant_distribution ( const IntervalsRange & ,
const WeightsRange & ) ;
template < typename F>
piecewise_constant_distribution ( std :: size_t , RealType , RealType , F ) ;
explicit piecewise_constant_distribution ( const param_type & ) ;
template < typename URNG> RealType operator ( ) ( URNG & ) const ;
template < typename URNG>
RealType operator ( ) ( URNG & , const param_type & ) const ;
result_type min ( ) const ;
result_type max ( ) const ;
std :: vector < RealType > densities ( ) const ;
std :: vector < RealType > intervals ( ) const ;
param_type param ( ) const ;
void param ( const param_type & ) ;
void reset ( ) ;
template < typename CharT, typename Traits>
friend std :: basic_ostream < CharT , Traits > &
operator << ( std :: basic_ostream < CharT , Traits > & ,
const piecewise_constant_distribution & ) ;
template < typename CharT, typename Traits>
friend std :: basic_istream < CharT , Traits > &
operator >> ( std :: basic_istream < CharT , Traits > & ,
const piecewise_constant_distribution & ) ;
friend bool operator == ( const piecewise_constant_distribution & ,
const piecewise_constant_distribution & ) ;
friend bool operator != ( const piecewise_constant_distribution & ,
const piecewise_constant_distribution & ) ;
} ;
Description
Класс piecewise_constant_distribution моделирует случайное распределение .
piecewise_constant_distribution
public
construct/copy/destruct
piecewise_constant_distribution ( ) ; Создает новый piecewise_constant_distribution с одним интервалом, [0, 1].
template typename IntervalIter, typename WeightIter> piecewise_constant_distribution , IntervalIter last_interval, WeightIter first_weight;2>; Конструирует piecewise_constant_distribution из двух диапазонов итераторов, содержащих границы интервала и веса интервала. Если границ меньше двух, то это эквивалентно конструктору по умолчанию и создает единый интервал, [0, 1].
Значения границ интервала должны строго возрастать, а количество весов должно быть на один меньше числа границ интервала. Если есть лишние веса, они игнорируются.
Например,
, >>
template typename T, typename F> piecewise_constant_distribution :: initializer_list < il, F f; Построение piecewise_constant_distribution из списка инициализаторов, содержащего границы интервала и унарную функцию, определяющую веса. Каждый вес определяется путем вызова функции в середине соответствующего интервала.
Если список инициализатора содержит менее двух элементов, это эквивалентно конструктору по умолчанию, и распределение будет производить значения, равномерно распределенные в диапазоне [0, 1].
template typename IntervalsRange, WeightsRange> piecewise_constant_distribution IntervalsRange , const WeightsRange & weights_arg; Строит из Boost piecewise_constant_distribution . Диапазоны, удерживающие границы интервала и веса. Если границ интервала меньше двух, это эквивалентно конструктору по умолчанию, и распределение будет производить значения, равномерно распределенные в диапазоне [0, 1]. Количество весов должно быть на один меньше, чем количество интервальных границ.
template typename F> piecewise_constant_distribution :: size_t nw, xmin, xmax, F f; Создает piecewise_constant_distribution , который приблизительно соответствует функции. Диапазон распределения — [xmin, xmax]. Этот диапазон делится на равные по размеру интервалы nw, и веса обнаруживаются путем вызова унарной функции f на средних точках интервалов.
explicit piecewise_constant_distribution ( const param_type & param) ; Построение piecewise_constant_distribution из его параметров.
piecewise_constant_distribution public member functions
template < typename URNG> RealType оператор ( ) URNG urng) const ; Вернет значение, распределенное по параметрам piecewist_constant_distribution.
template typename URNG> RealType оператор ( ) URNG & const param_type & const; Вернет значение, распределенное по параметрам, указанным парамом.
result_type min ( ) const ; Возвращает наименьшее значение, которое может произвести распределение.
result_type max ( ) const ; Возвращает наибольшее значение, которое может произвести распределение.
std :: < RealType > плотности ( ) конст; Вернет вектор, содержащий плотность вероятности за каждый интервал.
std :: вектор RealType > интервалы ( ) конст; Вернет вектор, содержащий границы интервала.
param_type param ( ) const ; Возвращает параметры распределения.
void param ( const param_type & param) ; Устанавливает параметры распределения.
void reset ( ) ; Последующие применения распределения не зависят от значений, произведенных каким-либо двигателем до вызова сброса.
piecewise_constant_distribution friend functions
template typename CharT, Traits std, CharT > > оператор Basic_ostream< CharT > os, const & Написывает распределение на std::ostream
template typename CharT, Traits Basic_istream, CharT > оператор Basic_istream , > > const constant_distribution std::istream
friend bool оператор ( const piecewise_constant_distribution , const piecewise_constant_distribution& rhs; Вернет истинность, если два распределения будут возвращать одну и ту же последовательность значений, при прохождении равных генераторов.
friend bool оператор != constpiecewise_constant_distribution , const piecewise_constant_distribution & rhs; Вернет истинность, если два распределения могут возвращать разные последовательности значений, при прохождении равных генераторов.
Статья Class template piecewise_constant_distribution раздела The Boost C++ Libraries BoostBook Documentation Subset Reference может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Reference ::