26
Numerics library
[numerics]
26.6
Random number generation
[rand]
26.6.9
Random number distribution class templates
[rand.dist]
26.6.9.4
Poisson distributions
[rand.dist.pois]
26.6.9.4.4
Class template
weibull_distribution
[rand.dist.pois.weibull]
1
#
A
weibull_distribution
random number distribution produces random numbers
x
≥
0
distributed according to the probability density function
p
(
x
|
a
,
b
)
=
a
b
⋅
(
x
b
)
a
−
1
⋅
exp
(
−
(
x
b
)
a
)
.
🔗
template
<
class
RealType
=
double
>
class
weibull_distribution
{
public
:
// types
using
result_type
=
RealType;
using
param_type
=
unspecified
;
// constructor and reset functions
weibull_distribution
(
)
:
weibull_distribution
(
1.0
)
{
}
explicit
weibull_distribution
(
RealType a, RealType b
=
1.0
)
;
explicit
weibull_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
RealType a
(
)
const
; RealType b
(
)
const
; param_type param
(
)
const
;
void
param
(
const
param_type
&
parm
)
; result_type min
(
)
const
; result_type max
(
)
const
;
}
;
🔗
explicit
weibull_distribution
(
RealType a, RealType b
=
1.0
)
;
2
#
Preconditions
:
0
<
a
and
0
<
b
.
3
#
Remarks
:
a
and
b
correspond to the respective parameters of the distribution
.
🔗
RealType a
(
)
const
;
4
#
Returns
: The value of the
a
parameter with which the object was constructed
.
🔗
RealType b
(
)
const
;
5
#
Returns
: The value of the
b
parameter with which the object was constructed
.