29
Numerics library
[numerics]
29.5
Random number generation
[rand]
29.5.9
Random number distribution class templates
[rand.dist]
29.5.9.5
Normal distributions
[rand.dist.norm]
29.5.9.5.6
Class template
student_
t_
distribution
[rand.dist.norm.t]
1
#
A
student_
t_
distribution
random number distribution produces random numbers
x
distributed according to the probability density function in Formula
29.18
.
p
(
x
|
n
)
=
1
√
n
π
⋅
Γ
(
(
n
+
1
)
/
2
)
Γ
(
n
/
2
)
⋅
(
1
+
x
2
n
)
−
(
n
+
1
)
/
2
(29.18)
🔗
namespace
std
{
template
<
class
RealType
=
double
>
class
student_t_distribution
{
public
:
// types
using
result_type
=
RealType;
using
param_type
=
unspecified
;
// constructor and reset functions
student_t_distribution
(
)
:
student_t_distribution
(
1.0
)
{
}
explicit
student_t_distribution
(
RealType n
)
;
explicit
student_t_distribution
(
const
param_type
&
parm
)
;
void
reset
(
)
;
// equality operators
friend
bool
operator
=
=
(
const
student_t_distribution
&
x,
const
student_t_distribution
&
y
)
;
// 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 n
(
)
const
; param_type param
(
)
const
;
void
param
(
const
param_type
&
parm
)
; result_type min
(
)
const
; result_type max
(
)
const
;
// inserters and extractors
template
<
class
charT,
class
traits
>
friend
basic_ostream
<
charT, traits
>
&
operator
<
<
(
basic_ostream
<
charT, traits
>
&
os,
const
student_t_distribution
&
x
)
;
template
<
class
charT,
class
traits
>
friend
basic_istream
<
charT, traits
>
&
operator
>
>
(
basic_istream
<
charT, traits
>
&
is, student_t_distribution
&
x
)
;
}
;
}
🔗
explicit
student_t_distribution
(
RealType n
)
;
2
#
Preconditions
:
0
<
n
.
3
#
Remarks
:
n
corresponds to the parameter of the distribution
.
🔗
RealType n
(
)
const
;
4
#
Returns
: The value of the
n
parameter with which the object was constructed
.