Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Class param_type

boost::random::hyperexponential_distribution::param_type

Synopsis

// In header: <boost/random/hyperexponential_distribution.hpp>



class param_type {
public:
  // types
  typedef hyperexponential_distribution ;

  // construct/copy/destruct
  ();
  template<typename ProbIterT, typename RateIterT> 
    (, , , );
  template<typename ProbRangeT, typename RateRangeT> 
    (, , 
                = );
  template<typename RateIterT> 
    (, , 
                = );
  template<typename RateRangeT> ();
  (, );
  ();

  // public member functions
   () ;
   () ;

  // friend functions
  template<typename CharT, typename Traits> 
     
    (, param_type &);
  template<typename CharT, typename Traits> 
     
    (, param_type &);
   (param_type &, param_type &);
   (param_type &, param_type &);
};

Description

The parameters of a hyperexponential distribution.

Stores the phase probability vector and the rate vector of the hyperexponential distribution.

Marco Guazzone (marco.guazzone@gmail.com)

param_type public construct/copy/destruct

  1. ();

    Constructs a param_type with the default parameters of the distribution.

  2. template<typename ProbIterT, typename RateIterT> 
      ( prob_first,  prob_last,  rate_first, 
                  rate_last);

    Constructs a param_type from the phase probability vector and rate vector parameters of the distribution.

    The phase probability vector parameter is given by the range defined by [prob_first, prob_last) iterator pair, and the rate vector parameter is given by the range defined by [rate_first, rate_last) iterator pair.

    References:

    1. ISO, ISO/IEC 14882-2014: Information technology - Programming languages - C++, 2014

    Parameters:

    prob_first

    The iterator to the beginning of the range of non-negative real elements representing the phase probabilities; if elements don't sum to 1, they are normalized.

    prob_last

    The iterator to the ending of the range of non-negative real elements representing the phase probabilities; if elements don't sum to 1, they are normalized.

    rate_first

    The iterator to the beginning of the range of non-negative real elements representing the rates.

    rate_last

    The iterator to the ending of the range of non-negative real elements representing the rates.

    Template Parameters:

    ProbIterT

    Must meet the requirements of InputIterator concept (ISO,2014,sec. 24.2.3 [input.iterators]).

    RateIterT

    Must meet the requirements of InputIterator concept (ISO,2014,sec. 24.2.3 [input.iterators]).

  3. template<typename ProbRangeT, typename RateRangeT> 
      ( prob_range,  rate_range, 
                  = );

    Constructs a param_type from the phase probability vector and rate vector parameters of the distribution.

    The phase probability vector parameter is given by the range defined by prob_range, and the rate vector parameter is given by the range defined by rate_range.

    [Note] Note

    The final disable_if parameter is an implementation detail that differentiates between this two argument constructor and the iterator-based two argument constructor described below.

    Parameters:

    prob_range

    The range of non-negative real elements representing the phase probabilities; if elements don't sum to 1, they are normalized.

    rate_range

    The range of positive real elements representing the rates.

    Template Parameters:

    ProbRangeT

    Must meet the requirements of Range concept.

    RateRangeT

    Must meet the requirements of Range concept.

  4. template<typename RateIterT> 
      ( rate_first,  rate_last, 
                  = );

    Constructs a param_type from the rate vector parameter of the distribution and with equal phase probabilities.

    The rate vector parameter is given by the range defined by [rate_first, rate_last) iterator pair, and the phase probability vector parameter is set to the equal phase probabilities (i.e., to a vector of the same length of the rate vector and with each element set to ).

    [Note] Note

    The final disable_if parameter is an implementation detail that differentiates between this two argument constructor and the range-based two argument constructor described above.

    References:

    1. ISO, ISO/IEC 14882-2014: Information technology - Programming languages - C++, 2014

    Parameters:

    rate_first

    The iterator to the beginning of the range of non-negative real elements representing the rates.

    rate_last

    The iterator to the ending of the range of non-negative real elements representing the rates.

    Template Parameters:

    RateIterT

    Must meet the requirements of InputIterator concept (ISO,2014,sec. 24.2.3 [input.iterators]).

  5. template<typename RateRangeT> ( rate_range);

    Constructs a param_type from the "rates" parameters of the distribution and with equal phase probabilities.

    The rate vector parameter is given by the range defined by rate_range, and the phase probability vector parameter is set to the equal phase probabilities (i.e., to a vector of the same length of the rate vector and with each element set to ).

    Parameters:

    rate_range

    The range of positive real elements representing the rates.

    Template Parameters:

    RateRangeT

    Must meet the requirements of Range concept.

  6. ( l1, 
                l2);

    Constructs a param_type from the phase probability vector and rate vector parameters of the distribution.

    The phase probability vector parameter is given by the brace-init-list (ISO,2014,sec. 8.5.4 [dcl.init.list]) defined by l1, and the rate vector parameter is given by the brace-init-list (ISO,2014,sec. 8.5.4 [dcl.init.list]) defined by l2.

    References:

    1. ISO, ISO/IEC 14882-2014: Information technology - Programming languages - C++, 2014

    Parameters:

    l1

    The initializer list for inizializing the phase probability vector.

    l2

    The initializer list for inizializing the rate vector.

  7. ( l1);

    Constructs a param_type from the rate vector parameter of the distribution and with equal phase probabilities.

    The rate vector parameter is given by the brace-init-list (ISO,2014,sec. 8.5.4 [dcl.init.list]) defined by l1, and the phase probability vector parameter is set to the equal phase probabilities (i.e., to a vector of the same length of the rate vector and with each element set to ).

    References:

    1. ISO, ISO/IEC 14882-2014: Information technology - Programming languages - C++, 2014

    Parameters:

    l1

    The initializer list for inizializing the rate vector.

param_type public member functions

  1.  () ;

    Gets the phase probability vector parameter of the distribtuion.

    [Note] Note

    The returned probabilities are the normalized version of the ones passed at construction time.

    Returns:

    The phase probability vector parameter of the distribution.

  2.  () ;

    Gets the rate vector parameter of the distribtuion.

    Returns:

    The rate vector parameter of the distribution.

param_type friend functions

  1. template<typename CharT, typename Traits> 
       
      ( os, 
                 param_type & param);

    Writes a param_type to a std::ostream.

  2. template<typename CharT, typename Traits> 
       
      ( is, 
                 param_type & param);

    Reads a param_type from a std::istream.

  3.  (param_type & lhs, param_type & rhs);

    Returns true if the two sets of parameters are the same.

  4.  (param_type & lhs, param_type & rhs);

    Returns true if the two sets of parameters are the different.


PrevUpHomeNext