Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::bernou...distribution(3) C++ Standard Libarystd::bernou...distribution(3)

NAME
       std::bernoulli_distribution - std::bernoulli_distribution

Synopsis
	  Defined in header <random>
	  class	bernoulli_distribution;	 (since	C++11)

	  Produces  random boolean values, according to	the discrete probabil-
       ity function. The
	  probability of true is

		  P(b|p) =

									     p
       if b == true
		  1  p if b == false

	  std::bernoulli_distribution satisfies	RandomNumberDistribution

Member types
	  Member type	    Definition
	  result_type	    bool
	  param_type(C++11) the	type of	 the  parameter	 set,  see  RandomNum-
       berDistribution.

Member functions
	  constructor	constructs new distribution
	  (C++11)	(public	member function)
	  reset		resets the internal state of the distribution
	  (C++11)	(public	member function)

Generation
	  operator()	generates the next random number in the	distribution
	  (C++11)	(public	member function)

Characteristics
	  p		 returns  the p	distribution parameter (probability of
       generating true)
			(public	member function)
	  param		gets or	sets the distribution parameter	object
	  (C++11)	(public	member function)
	  min		returns	the minimum potentially	generated value
	  (C++11)	(public	member function)
	  max		returns	the maximum potentially	generated value
	  (C++11)	(public	member function)

Non-member functions
	  operator==
	  operator!=		    compares two distribution objects
	  (C++11)		    (function)
	  (C++11)(removed in C++20)
	  operator<<		     performs  stream  input  and  output   on
       pseudo-random number
	  operator>>		    distribution
	  (C++11)		    (function template)

Example
       // Run this code

	#include <iostream>
	#include <iomanip>
	#include <string>
	#include <map>
	#include <random>

	int main()
	{
	    std::random_device rd;
	    std::mt19937 gen(rd());
	    // give "true" 1/4 of the time
	    // give "false" 3/4	of the time
	    std::bernoulli_distribution	d(0.25);

	    std::map<bool, int>	hist;
	    for(int n=0; n<10000; ++n) {
		++hist[d(gen)];
	    }
	    for(auto p : hist) {
		std::cout << std::boolalpha << std::setw(5) << p.first
			  << ' ' << std::string(p.second/500, '*') << '\n';
	    }
	}

Possible output:
	false ***************
	 true ****

External links
	  Weisstein,  Eric W. "Bernoulli Distribution."	From MathWorld--A Wol-
       fram Web	Resource.

http://cppreference.com		  2022.07.31	 std::bernou...distribution(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::bernoulli_distribution&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help