2
0
mirror of https://github.com/boostorg/math.git synced 2026-01-28 19:32:08 +00:00

delta == 0 treated as special case for mean, variance, skewness and kurtosis

== central Student's t

[SVN r80233]
This commit is contained in:
Paul A. Bristow
2012-08-26 09:43:43 +00:00
parent d89b599121
commit a286b00833

View File

@@ -522,8 +522,9 @@ namespace boost
BOOST_MATH_STD_USING
if (v > 1 / boost::math::tools::epsilon<T>() )
{
normal_distribution<T, Policy> n(delta, 1);
return boost::math::mean(n);
//normal_distribution<T, Policy> n(delta, 1);
//return boost::math::mean(n);
return delta;
}
else
{
@@ -539,7 +540,10 @@ namespace boost
{
return 1;
}
if (delta == 0)
{ // == Student's t
return v / (v - 2);
}
T result = ((delta * delta + 1) * v) / (v - 2);
T m = mean(v, delta, pol);
result -= m * m;
@@ -554,6 +558,10 @@ namespace boost
{
return 0;
}
if(delta == 0)
{ // == Student's t
return 0;
}
T mean = boost::math::detail::mean(v, delta, pol);
T l2 = delta * delta;
T var = ((l2 + 1) * v) / (v - 2) - mean * mean;
@@ -572,6 +580,10 @@ namespace boost
{
return 3;
}
if (delta == 0)
{ // == Student's t
return 3;
}
T mean = boost::math::detail::mean(v, delta, pol);
T l2 = delta * delta;
T var = ((l2 + 1) * v) / (v - 2) - mean * mean;