STD::POISSON_DISTRIBUTION(3)
π NAME π
std::poisson_distribution< _IntType > β bestie, it's a discrete Poisson random number distribution, no cap. That's the whole vibe. And this page? It's from the libstdc++ Library Functions Manual, section 3, so you already know it's giving "I'm C++ and I'm iconic".
β¨ SYNOPSIS β¨
#include <random>
π Classes
struct param_type
π Public Types
typedef _IntType result_type
π Public Member Functions
poisson_distribution (const param_type &__p)poisson_distribution (double __mean)template<typename _ForwardIterator, typename _UniformRandomNumberGenerator> void __generate (_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator &__urng)template<typename _ForwardIterator, typename _UniformRandomNumberGenerator> void __generate (_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator &__urng, const param_type &__p)template<typename _UniformRandomNumberGenerator> void __generate (result_type *__f, result_type *__t, _UniformRandomNumberGenerator &__urng, const param_type &__p)result_type max () constβ Returns the least upper bound value of the distribution.double mean () constβ Returns the distribution parameter mean.result_type min () constβ Returns the greatest lower bound value of the distribution.template<typename _UniformRandomNumberGenerator> result_type operator() (_UniformRandomNumberGenerator &__urng)β Generating functions. πtemplate<typename _UniformRandomNumberGenerator> result_type operator() (_UniformRandomNumberGenerator &__urng, const param_type &__p)param_type param () constβ Returns the parameter set of the distribution.void param (const param_type &__param)β Sets the parameter set of the distribution.void reset ()β Resets the distribution state.
π Friends
template<typename _IntType1, typename _CharT, typename _Traits> std::basic_ostream< _CharT, _Traits > & operator<< (std::basic_ostream< _CharT, _Traits > &__os, const std::poisson_distribution< _IntType1 > &__x)β Inserts apoisson_distributionrandom number distribution__xinto the output stream__os.bool operator== (const poisson_distribution &__d1, const poisson_distribution &__d2)β Returntrueif two Poisson distributions have the same parameters and the sequences that would be generated are equal.template<typename _IntType1, typename _CharT, typename _Traits> std::basic_istream< _CharT, _Traits > & operator>> (std::basic_istream< _CharT, _Traits > &__is, std::poisson_distribution< _IntType1 > &__x)β Extracts apoisson_distributionrandom number distribution__xfrom the input stream__is.
πΈ Detailed Description πΈ
template<typename _IntType = int>
class std::poisson_distribution< _IntType >
"A discrete Poisson random number distribution. π
The formula for the Poisson probability density function is $p(i|) = ac{^i}{i!} e^{-}$ where $$ is the parameter of the distribution. (Yes bestie, that's verbatim β do not come for me, I'm just the messenger.)
Since: C++11 β¨
π Member Typedef Documentation π
result_type
template<typename _IntType = int> typedef _IntType
std::poisson_distribution< _IntType >::result_type
The type of the range of the distribution. That's it, that's the whole type. π¦
π«Ά Member Function Documentation π«Ά
max ()
template<typename _IntType = int> result_type std::poisson_distribution<
_IntType >::max () const [inline]
Returns the least upper bound value of the distribution.
mean ()
template<typename _IntType = int> double std::poisson_distribution< _IntType
>::mean () const [inline]
Returns the distribution parameter mean.
min ()
template<typename _IntType = int> result_type std::poisson_distribution<
_IntType >::min () const [inline]
Returns the greatest lower bound value of the distribution.
operator() β the one-argument era
template<typename _IntType = int> template<typename
_UniformRandomNumberGenerator> result_type std::poisson_distribution<
_IntType >::operator() (_UniformRandomNumberGenerator & __urng) [inline]
Generating functions.
Referenced by operator()().
operator() β the one that takes a param set too
template<typename _IntType> template<typename _UniformRandomNumberGenerator>
poisson_distribution< _IntType >::result_type std::poisson_distribution<
_IntType >::operator() (_UniformRandomNumberGenerator & __urng, const
param_type & __param)
Okay so real talk: it's a rejection algorithm when mean >= 12 and a simple method based upon the multiplication of uniform random variates otherwise. NB: The former is available only if _GLIBCXX_USE_C99_MATH_FUNCS is defined. π¨ (Yeah, that's a whole conditional, read it twice.)
Reference: Devroye, L. Non-Uniform Random Variates Generation. Springer-Verlag, New York, 1986, Ch. X, Sects. 3.3 & 3.4 (+ Errata!).
References std::abs(), std::numeric_limits< _Tp >::epsilon(), std::log(), and std::numeric_limits< _Tp >::max().
param () const
template<typename _IntType = int> param_type std::poisson_distribution<
_IntType >::param () const [inline]
Returns the parameter set of the distribution.
param (const param_type & __param)
template<typename _IntType = int> void std::poisson_distribution< _IntType
>::param (const param_type & __param) [inline]
Sets the parameter set of the distribution.
Parameters
__paramβ The new parameter set of the distribution.
reset ()
template<typename _IntType = int> void std::poisson_distribution< _IntType
>::reset () [inline]
Resets the distribution state. Fresh start, clean slate, new era. π§
π Friends And Related Symbol Documentation π
operator<<
template<typename _IntType = int> template<typename _IntType1, typename
_CharT, typename _Traits> std::basic_ostream< _CharT, _Traits > &
operator<< (std::basic_ostream< _CharT, _Traits > & __os, const
std::poisson_distribution< _IntType1 > & __x) [friend]
Inserts a poisson_distribution random number distribution __x into the output stream __os.
Parameters
__osβ An output stream.__xβ Apoisson_distributionrandom number distribution.
Returns
The output stream with the state of __x inserted or in an error state.
operator==
template<typename _IntType = int> bool operator== (const
poisson_distribution< _IntType > & __d1, const poisson_distribution<
_IntType > & __d2) [friend]
Return true if two Poisson distributions have the same parameters and the sequences that would be generated are equal. Twin flame behavior fr fr. π
operator>>
template<typename _IntType = int> template<typename _IntType1, typename
_CharT, typename _Traits> std::basic_istream< _CharT, _Traits > &
operator>> (std::basic_istream< _CharT, _Traits > & __is,
std::poisson_distribution< _IntType1 > & __x) [friend]
Extracts a poisson_distribution random number distribution __x from the input stream __is.
Parameters
__isβ An input stream.__xβ Apoisson_distributionrandom number generator engine.
Returns
The input stream with __x extracted or in an error state.
π Author π
Generated automatically by Doxygen for libstdc++ from the source code.
Not a single human hand touched this prose β it's Doxygen's baby, born straight out of the libstdc++ source code. πΌβ¨
And that's the whole page, bestie. This absolute icon of a manpage (std::poisson_distribution< _IntType >, section 3) ships under the libstdc++ banner β that's the source and the version right there in the footer, and the page name is the same one you scrolled past at the top. Now go generate some random numbers. Slay. π
πΈπ¦
π¦ where this page comes from
- arch rolling: gcc 16.2.1+r23+gd564253eb6c8-1 Β· GPL-3.0-or-later WITH GCC-exception-3.1 AND GFDL-1.3-or-later
- fedora 44: libstdc++-docs 16.0.1-0.10.fc44 Β· GPL-3.0-or-later AND LGPL-3.0-or-later AND (GPL-3.0-or-later WITH GCC-exception-3.1) AND (GPL-3.0-or-later WITH Texinfo-exception) AND (LGPL-2.1-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GNU-compiler-exception) AND BSL-1.0 AND GFDL-1.3-or-later AND Linux-man-pages-copyleft-2-para AND SunPro AND BSD-1-Clause AND BSD-2-Clause AND BSD-2-Clause-Views AND BSD-3-Clause AND BSD-4-Clause AND BSD-Source-Code AND Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 WITH LLVM-Exception) AND ZPL-2.1 AND ISC AND LicenseRef-Fedora-Public-Domain AND HP-1986 AND curl AND Martin-Birgmeier AND HPND-Markus-Kuhn AND dtoa AND SMLNJ AND AMD-newlib AND OAR AND HPND-merchantability-variant AND HPND-Intel
- fedora 44: libstdc++-docs 16.2.1-2.fc44
- fedora 44: libstdc++-docs 16.2.1-3.fc44 Β· GPL-3.0-or-later AND LGPL-3.0-or-later AND (GPL-3.0-or-later WITH GCC-exception-3.1) AND (GPL-3.0-or-later WITH Texinfo-exception) AND (LGPL-2.1-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GNU-compiler-exception) AND BSL-1.0 AND GFDL-1.3-or-later AND Linux-man-pages-copyleft-2-para AND SunPro AND BSD-1-Clause AND BSD-2-Clause AND BSD-2-Clause-Views AND BSD-3-Clause AND BSD-4-Clause AND BSD-Source-Code AND Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 WITH LLVM-Exception) AND ZPL-2.1 AND ISC AND LicenseRef-Fedora-Public-Domain AND HP-1986 AND curl AND Martin-Birgmeier AND HPND-Markus-Kuhn AND dtoa AND SMLNJ AND AMD-newlib AND OAR AND HPND-merchantability-variant AND HPND-Intel
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms