26
Numerics library
[numerics]
26.6
Random number generation
[rand]
26.6.9
Random number distribution class templates
[rand.dist]
26.6.9.3
Bernoulli distributions
[rand.dist.bern]
26.6.9.3.1
Class
bernoulli_distribution
[rand.dist.bern.bernoulli]
1
#
A
bernoulli_distribution
random number distribution produces
bool
values
b
distributed according to the discrete probability function
P
(
b
|
p
)
=
{
p
if
b
=
true
, or
1
−
p
if
b
=
false
.
🔗
class
bernoulli_distribution
{
public
:
// types
using
result_type
=
bool
;
using
param_type
=
unspecified
;
// constructors and reset functions
bernoulli_distribution
(
)
:
bernoulli_distribution
(
0.5
)
{
}
explicit
bernoulli_distribution
(
double
p
)
;
explicit
bernoulli_distribution
(
const
param_type
&
parm
)
;
void
reset
(
)
;
// generating functions
template
<
class
URBG
>
result_type
operator
(
)
(
URBG
&
g
)
;
template
<
class
URBG
>
result_type
operator
(
)
(
URBG
&
g,
const
param_type
&
parm
)
;
// property functions
double
p
(
)
const
; param_type param
(
)
const
;
void
param
(
const
param_type
&
parm
)
; result_type min
(
)
const
; result_type max
(
)
const
;
}
;
🔗
explicit
bernoulli_distribution
(
double
p
)
;
2
#
Preconditions
:
0
≤
p
≤
1
.
3
#
Remarks
:
p
corresponds to the parameter of the distribution
.
🔗
double
p
(
)
const
;
4
#
Returns
: The value of the
p
parameter with which the object was constructed
.