| Home | Libraries | People | FAQ | More

## Class param_type

boost::random::generalized_inverse_gaussian_distribution::param_type

## Synopsis

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

    class param_type {
    public:
      // types
      typedef generalized_inverse_gaussian_distribution distribution_type;

      // public member functions
      explicit param_type(RealType = 1.0, RealType = 1.0, RealType = 1.0);
      RealType p() const;
      RealType a() const;
      RealType b() const;

      // friend functions
      template<typename CharT, typename Traits>
        std::basic_ostream< CharT, Traits > &
        operator<<(std::basic_ostream< CharT, Traits > &, const param_type &);
      template<typename CharT, typename Traits>
        std::basic_istream< CharT, Traits > &
        operator>>(std::basic_istream< CharT, Traits > &, const param_type &);
      bool operator==(const param_type &, const param_type &);
      bool operator!=(const param_type &, const param_type &);
    };

## Description

### `param_type` public member functions

1.     explicit param_type(RealType p = 1.0, RealType a = 1.0, RealType b = 1.0);

   Constructs a `param_type` object from the "p", "a", and "b" parameters.

   Requires: a > 0 && b >= 0 if p > 0, a > 0 && b > 0 if p == 0, a >= 0 && b > 0 if p < 0

2.     RealType p() const;

   Returns the "p" parameter of the distribution.

3.     RealType a() const;

   Returns the "a" parameter of the distribution.

4.     RealType b() const;

   Returns the "b" parameter of the distribution.

### `param_type` friend functions

1.     template<typename CharT, typename Traits>
         std::basic_ostream< CharT, Traits > &
         operator<<(std::basic_ostream< CharT, Traits > & os,
                    const param_type & param);

   Writes a `param_type` to a `std::ostream`.

2.     template<typename CharT, typename Traits>
         std::basic_istream< CharT, Traits > &
         operator>>(std::basic_istream< CharT, Traits > & is,
                    const param_type & param);

   Reads a `param_type` from a `std::istream`.

3.     bool operator==(const param_type & lhs, const param_type & rhs);

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

4.     bool operator!=(const param_type & lhs, const param_type & rhs);

   Returns true if the two sets of parameters are different.