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