Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Class template piecewise_constant_distribution

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Reference

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Class template piecewise_constant_distribution

boost::random::piecewise_constant_distribution

Synopsis

// In header: <boost/random/piecewise_constant_distribution.hpp>
template<typename RealType = double, typename WeightType = double> 
class piecewise_constant_distribution {
public:
  // types
  typedef std::size_t input_type; 
  typedef RealType    result_type;
  // member classes/structs/unions
  class param_type {
  public:
    // types
    typedef piecewise_constant_distribution distribution_type;
    // construct/copy/destruct
    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);
    // friend functions
    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 &);
    // public member functions
    std::vector< RealType > intervals() const;
    std::vector< RealType > densities() const;
  };
  // construct/copy/destruct
  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 &);
  // public member functions
  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();
  // friend functions
  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

  1. piecewise_constant_distribution();

    Создает новый piecewise_constant_distribution с одним интервалом, [0, 1].

  2. templatetypenameIntervalIter, typenameWeightIter>piecewise_constant_distribution, IntervalIter last_interval, WeightIter first_weight;2>;

    Конструирует piecewise_constant_distribution из двух диапазонов итераторов, содержащих границы интервала и веса интервала. Если границ меньше двух, то это эквивалентно конструктору по умолчанию и создает единый интервал, [0, 1].

    Значения границ интервала должны строго возрастать, а количество весов должно быть на один меньше числа границ интервала. Если есть лишние веса, они игнорируются.

    Например,

     ,>> 

  3. templatetypename T, typename F> piecewise_constant_distribution::initializer_list<  il, F f;

    Построение piecewise_constant_distribution из списка инициализаторов, содержащего границы интервала и унарную функцию, определяющую веса. Каждый вес определяется путем вызова функции в середине соответствующего интервала.

    Если список инициализатора содержит менее двух элементов, это эквивалентно конструктору по умолчанию, и распределение будет производить значения, равномерно распределенные в диапазоне [0, 1].

  4. templatetypenameIntervalsRange,WeightsRange>piecewise_constant_distributionIntervalsRange , constWeightsRange & weights_arg;

    Строит из Boost piecewise_constant_distribution. Диапазоны, удерживающие границы интервала и веса. Если границ интервала меньше двух, это эквивалентно конструктору по умолчанию, и распределение будет производить значения, равномерно распределенные в диапазоне [0, 1]. Количество весов должно быть на один меньше, чем количество интервальных границ.

  5. templatetypename F>piecewise_constant_distribution::size_t nw,  xmin,  xmax, F f;

    Создает piecewise_constant_distribution, который приблизительно соответствует функции. Диапазон распределения — [xmin, xmax]. Этот диапазон делится на равные по размеру интервалы nw, и веса обнаруживаются путем вызова унарной функции f на средних точках интервалов.

  6. explicit piecewise_constant_distribution(const param_type & param);

    Построение piecewise_constant_distribution из его параметров.

piecewise_constant_distribution public member functions

  1. template<typename URNG> RealType оператор()URNG  urng) const;

    Вернет значение, распределенное по параметрам piecewist_constant_distribution.

  2. templatetypename URNG> RealTypeоператор()URNG & constparam_type &const;

    Вернет значение, распределенное по параметрам, указанным парамом.

  3. result_type min() const;

    Возвращает наименьшее значение, которое может произвести распределение.

  4. result_type max() const;

    Возвращает наибольшее значение, которое может произвести распределение.

  5. std::< RealType > плотности()конст;

    Вернет вектор, содержащий плотность вероятности за каждый интервал.

  6. std::векторRealType > интервалы()конст;

    Вернет вектор, содержащий границы интервала.

  7. param_type param() const;

    Возвращает параметры распределения.

  8. void param(const param_type & param);

    Устанавливает параметры распределения.

  9. void reset();

    Последующие применения распределения не зависят от значений, произведенных каким-либо двигателем до вызова сброса.

piecewise_constant_distribution friend functions

  1. templatetypename CharT,Traitsstd,CharT>> операторBasic_ostream<CharT>  os,const&

    Написывает распределение на std::ostream

  2. templatetypename CharT,TraitsBasic_istream,CharT> операторBasic_istream,>>constconstant_distribution
    std::istream

  3. friend boolоператор(constpiecewise_constant_distribution , constpiecewise_constant_distribution& rhs;

    Вернет истинность, если два распределения будут возвращать одну и ту же последовательность значений, при прохождении равных генераторов.

  4. friend boolоператор!=constpiecewise_constant_distribution , constpiecewise_constant_distribution & rhs;

    Вернет истинность, если два распределения могут возвращать разные последовательности значений, при прохождении равных генераторов.


PrevUpHomeNext

Статья Class template piecewise_constant_distribution раздела The Boost C++ Libraries BoostBook Documentation Subset Reference может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Reference ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 18:11:46/0.0078949928283691/0