/usr/include/boost/accumulators/statistics
Edit: /usr/include/boost/accumulators/statistics/error_of_mean.hpp (2193B)
///////////////////////////////////////////////////////////////////////////////
// error_of.hpp
//
// Copyright 2005 Eric Niebler. Distributed under the Boost
// Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#ifndef BOOST_ACCUMULATORS_STATISTICS_ERROR_OF_MEAN_HPP_EAN_27_03_2006
#define BOOST_ACCUMULATORS_STATISTICS_ERROR_OF_MEAN_HPP_EAN_27_03_2006
#include
#include
#include
#include
#include
#include
#include
#include
namespace boost { namespace accumulators
{
namespace impl
{
///////////////////////////////////////////////////////////////////////////////
// error_of_mean_impl
template
struct error_of_mean_impl
: accumulator_base
{
// for boost::result_of
typedef typename numeric::functional::fdiv::result_type result_type;
error_of_mean_impl(dont_care) {}
template
result_type result(Args const &args) const
{
using namespace std;
extractor const variance = {};
return sqrt(numeric::fdiv(variance(args), count(args) - 1));
}
};
} // namespace impl
///////////////////////////////////////////////////////////////////////////////
// tag::error_of
//
namespace tag
{
template<>
struct error_of
: depends_on
{
/// INTERNAL ONLY
///
typedef accumulators::impl::error_of_mean_impl impl;
};
template<>
struct error_of
: depends_on
{
/// INTERNAL ONLY
///
typedef accumulators::impl::error_of_mean_impl impl;
};
}
}} // namespace boost::accumulators
#endif