Added boost header
This commit is contained in:
432
test/external/boost/accumulators/statistics_fwd.hpp
vendored
Normal file
432
test/external/boost/accumulators/statistics_fwd.hpp
vendored
Normal file
@@ -0,0 +1,432 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// statistics_fwd.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_STATISTICS_FWD_HPP_EAN_23_11_2005
|
||||
#define BOOST_ACCUMULATORS_STATISTICS_STATISTICS_FWD_HPP_EAN_23_11_2005
|
||||
|
||||
#include <boost/mpl/apply_fwd.hpp> // for mpl::na
|
||||
#include <boost/mpl/print.hpp>
|
||||
#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
|
||||
#include <boost/accumulators/accumulators_fwd.hpp>
|
||||
#include <boost/accumulators/framework/depends_on.hpp>
|
||||
#include <boost/accumulators/framework/extractor.hpp>
|
||||
|
||||
namespace boost { namespace accumulators
|
||||
{
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// base struct and base extractor for quantiles
|
||||
namespace tag
|
||||
{
|
||||
struct quantile
|
||||
: depends_on<>
|
||||
{
|
||||
typedef mpl::print<class ____MISSING_SPECIFIC_QUANTILE_FEATURE_IN_ACCUMULATOR_SET____ > impl;
|
||||
};
|
||||
}
|
||||
namespace extract
|
||||
{
|
||||
extractor<tag::quantile> const quantile = {};
|
||||
|
||||
BOOST_ACCUMULATORS_IGNORE_GLOBAL(quantile)
|
||||
}
|
||||
using extract::quantile;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// base struct and base extractor for *coherent* tail means
|
||||
namespace tag
|
||||
{
|
||||
struct tail_mean
|
||||
: depends_on<>
|
||||
{
|
||||
typedef mpl::print<class ____MISSING_SPECIFIC_TAIL_MEAN_FEATURE_IN_ACCUMULATOR_SET____ > impl;
|
||||
};
|
||||
}
|
||||
namespace extract
|
||||
{
|
||||
extractor<tag::tail_mean> const tail_mean = {};
|
||||
|
||||
BOOST_ACCUMULATORS_IGNORE_GLOBAL(tail_mean)
|
||||
}
|
||||
using extract::tail_mean;
|
||||
|
||||
namespace tag
|
||||
{
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Variates tags
|
||||
struct weights;
|
||||
struct covariate1;
|
||||
struct covariate2;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Statistic tags
|
||||
struct count;
|
||||
template<typename VariateType, typename VariateTag>
|
||||
struct covariance;
|
||||
struct density;
|
||||
template<typename Feature>
|
||||
struct error_of;
|
||||
struct extended_p_square;
|
||||
struct extended_p_square_quantile;
|
||||
struct extended_p_square_quantile_quadratic;
|
||||
struct kurtosis;
|
||||
struct max;
|
||||
struct mean;
|
||||
struct immediate_mean;
|
||||
struct mean_of_weights;
|
||||
struct immediate_mean_of_weights;
|
||||
template<typename VariateType, typename VariateTag>
|
||||
struct mean_of_variates;
|
||||
template<typename VariateType, typename VariateTag>
|
||||
struct immediate_mean_of_variates;
|
||||
struct median;
|
||||
struct with_density_median;
|
||||
struct with_p_square_cumulative_distribution_median;
|
||||
struct min;
|
||||
template<int N>
|
||||
struct moment;
|
||||
template<typename LeftRight>
|
||||
struct peaks_over_threshold;
|
||||
template<typename LeftRight>
|
||||
struct peaks_over_threshold_prob;
|
||||
template<typename LeftRight>
|
||||
struct pot_tail_mean;
|
||||
template<typename LeftRight>
|
||||
struct pot_tail_mean_prob;
|
||||
template<typename LeftRight>
|
||||
struct pot_quantile;
|
||||
template<typename LeftRight>
|
||||
struct pot_quantile_prob;
|
||||
struct p_square_cumulative_distribution;
|
||||
struct p_square_quantile;
|
||||
struct p_square_quantile_for_median;
|
||||
struct skewness;
|
||||
struct sum;
|
||||
struct sum_of_weights;
|
||||
template<typename VariateType, typename VariateTag>
|
||||
struct sum_of_variates;
|
||||
struct sum_kahan;
|
||||
struct sum_of_weights_kahan;
|
||||
template<typename VariateType, typename VariateTag>
|
||||
struct sum_of_variates_kahan;
|
||||
template<typename LeftRight>
|
||||
struct tail;
|
||||
template<typename LeftRight>
|
||||
struct coherent_tail_mean;
|
||||
template<typename LeftRight>
|
||||
struct non_coherent_tail_mean;
|
||||
template<typename LeftRight>
|
||||
struct tail_quantile;
|
||||
template<typename VariateType, typename VariateTag, typename LeftRight>
|
||||
struct tail_variate;
|
||||
template<typename LeftRight>
|
||||
struct tail_weights;
|
||||
template<typename VariateType, typename VariateTag, typename LeftRight>
|
||||
struct right_tail_variate;
|
||||
template<typename VariateType, typename VariateTag, typename LeftRight>
|
||||
struct left_tail_variate;
|
||||
template<typename LeftRight, typename VariateType, typename VariateTag>
|
||||
struct tail_variate_means;
|
||||
template<typename LeftRight, typename VariateType, typename VariateTag>
|
||||
struct absolute_tail_variate_means;
|
||||
template<typename LeftRight, typename VariateType, typename VariateTag>
|
||||
struct relative_tail_variate_means;
|
||||
struct lazy_variance;
|
||||
struct variance;
|
||||
template<typename VariateType, typename VariateTag>
|
||||
struct weighted_covariance;
|
||||
struct weighted_density;
|
||||
struct weighted_kurtosis;
|
||||
struct weighted_mean;
|
||||
struct immediate_weighted_mean;
|
||||
template<typename VariateType, typename VariateTag>
|
||||
struct weighted_mean_of_variates;
|
||||
template<typename VariateType, typename VariateTag>
|
||||
struct immediate_weighted_mean_of_variates;
|
||||
struct weighted_median;
|
||||
struct with_density_weighted_median;
|
||||
struct with_p_square_cumulative_distribution_weighted_median;
|
||||
struct weighted_extended_p_square;
|
||||
struct weighted_extended_p_square_quantile;
|
||||
struct weighted_extended_p_square_quantile_quadratic;
|
||||
template<int N>
|
||||
struct weighted_moment;
|
||||
template<typename LeftRight>
|
||||
struct weighted_peaks_over_threshold;
|
||||
template<typename LeftRight>
|
||||
struct weighted_peaks_over_threshold_prob;
|
||||
template<typename LeftRight>
|
||||
struct weighted_pot_quantile;
|
||||
template<typename LeftRight>
|
||||
struct weighted_pot_quantile_prob;
|
||||
template<typename LeftRight>
|
||||
struct weighted_pot_tail_mean;
|
||||
template<typename LeftRight>
|
||||
struct weighted_pot_tail_mean_prob;
|
||||
struct weighted_p_square_cumulative_distribution;
|
||||
struct weighted_p_square_quantile;
|
||||
struct weighted_p_square_quantile_for_median;
|
||||
struct weighted_skewness;
|
||||
template<typename LeftRight>
|
||||
struct weighted_tail_quantile;
|
||||
template<typename LeftRight>
|
||||
struct non_coherent_weighted_tail_mean;
|
||||
template<typename LeftRight>
|
||||
struct weighted_tail_quantile;
|
||||
template<typename LeftRight, typename VariateType, typename VariateTag>
|
||||
struct weighted_tail_variate_means;
|
||||
template<typename LeftRight, typename VariateType, typename VariateTag>
|
||||
struct absolute_weighted_tail_variate_means;
|
||||
template<typename LeftRight, typename VariateType, typename VariateTag>
|
||||
struct relative_weighted_tail_variate_means;
|
||||
struct lazy_weighted_variance;
|
||||
struct weighted_variance;
|
||||
struct weighted_sum;
|
||||
template<typename VariateType, typename VariateTag>
|
||||
struct weighted_sum_of_variates;
|
||||
struct rolling_window_plus1;
|
||||
struct rolling_window;
|
||||
struct rolling_sum;
|
||||
struct rolling_count;
|
||||
struct rolling_mean;
|
||||
} // namespace tag
|
||||
|
||||
namespace impl
|
||||
{
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Statistics impls
|
||||
struct count_impl;
|
||||
|
||||
template<typename Sample, typename VariateType, typename VariateTag>
|
||||
struct covariance_impl;
|
||||
|
||||
template<typename Sample>
|
||||
struct density_impl;
|
||||
|
||||
template<typename Sample, typename Feature>
|
||||
struct error_of_impl;
|
||||
|
||||
template<typename Sample, typename Variance>
|
||||
struct error_of_mean_impl;
|
||||
|
||||
template<typename Sample>
|
||||
struct extended_p_square_impl;
|
||||
|
||||
template<typename Sample, typename Impl1, typename Impl2>
|
||||
struct extended_p_square_quantile_impl;
|
||||
|
||||
template<typename Sample>
|
||||
struct kurtosis_impl;
|
||||
|
||||
template<typename Sample>
|
||||
struct max_impl;
|
||||
|
||||
template<typename Sample>
|
||||
struct median_impl;
|
||||
|
||||
template<typename Sample>
|
||||
struct with_density_median_impl;
|
||||
|
||||
template<typename Sample>
|
||||
struct with_p_square_cumulative_distribution_median_impl;
|
||||
|
||||
template<typename Sample>
|
||||
struct min_impl;
|
||||
|
||||
template<typename Sample, typename SumFeature = tag::sum>
|
||||
struct mean_impl;
|
||||
|
||||
template<typename Sample, typename Tag = tag::sample>
|
||||
struct immediate_mean_impl;
|
||||
|
||||
template<typename N, typename Sample>
|
||||
struct moment_impl;
|
||||
|
||||
template<typename Sample, typename LeftRight>
|
||||
struct peaks_over_threshold_prob_impl;
|
||||
|
||||
template<typename Sample, typename Impl, typename LeftRight>
|
||||
struct pot_quantile_impl;
|
||||
|
||||
template<typename Sample, typename Impl, typename LeftRight>
|
||||
struct pot_tail_mean_impl;
|
||||
|
||||
template<typename Sample>
|
||||
struct p_square_cumulative_distribution_impl;
|
||||
|
||||
template<typename Sample, typename Impl>
|
||||
struct p_square_quantile_impl;
|
||||
|
||||
template<typename Sample>
|
||||
struct skewness_impl;
|
||||
|
||||
template<typename Sample, typename Tag = tag::sample>
|
||||
struct sum_impl;
|
||||
|
||||
template<typename Sample, typename Tag>
|
||||
struct sum_kahan_impl;
|
||||
|
||||
template<typename Sample, typename LeftRight>
|
||||
struct tail_impl;
|
||||
|
||||
template<typename Sample, typename LeftRight>
|
||||
struct coherent_tail_mean_impl;
|
||||
|
||||
template<typename Sample, typename LeftRight>
|
||||
struct non_coherent_tail_mean_impl;
|
||||
|
||||
template<typename Sample, typename LeftRight>
|
||||
struct tail_quantile_impl;
|
||||
|
||||
template<typename VariateType, typename VariateTag, typename LeftRight>
|
||||
struct tail_variate_impl;
|
||||
|
||||
template<typename Sample, typename Impl, typename LeftRight, typename VariateTag>
|
||||
struct tail_variate_means_impl;
|
||||
|
||||
template<typename Sample, typename MeanFeature>
|
||||
struct lazy_variance_impl;
|
||||
|
||||
template<typename Sample, typename MeanFeature, typename Tag>
|
||||
struct variance_impl;
|
||||
|
||||
template<typename Sample, typename Weight, typename VariateType, typename VariateTag>
|
||||
struct weighted_covariance_impl;
|
||||
|
||||
template<typename Sample, typename Weight>
|
||||
struct weighted_density_impl;
|
||||
|
||||
template<typename Sample, typename Weight>
|
||||
struct weighted_kurtosis_impl;
|
||||
|
||||
template<typename Sample>
|
||||
struct weighted_median_impl;
|
||||
|
||||
template<typename Sample>
|
||||
struct with_density_weighted_median_impl;
|
||||
|
||||
template<typename Sample, typename Weight>
|
||||
struct with_p_square_cumulative_distribution_weighted_median_impl;
|
||||
|
||||
template<typename Sample, typename Weight, typename Tag>
|
||||
struct weighted_mean_impl;
|
||||
|
||||
template<typename Sample, typename Weight, typename Tag>
|
||||
struct immediate_weighted_mean_impl;
|
||||
|
||||
template<typename Sample, typename Weight, typename LeftRight>
|
||||
struct weighted_peaks_over_threshold_impl;
|
||||
|
||||
template<typename Sample, typename Weight, typename LeftRight>
|
||||
struct weighted_peaks_over_threshold_prob_impl;
|
||||
|
||||
template<typename Sample, typename Weight>
|
||||
struct with_p_square_cumulative_distribution_weighted_median_impl;
|
||||
|
||||
template<typename Sample, typename Weight>
|
||||
struct weighted_extended_p_square_impl;
|
||||
|
||||
template<typename N, typename Sample, typename Weight>
|
||||
struct weighted_moment_impl;
|
||||
|
||||
template<typename Sample, typename Weight>
|
||||
struct weighted_p_square_cumulative_distribution_impl;
|
||||
|
||||
template<typename Sample, typename Weight, typename Impl>
|
||||
struct weighted_p_square_quantile_impl;
|
||||
|
||||
template<typename Sample, typename Weight>
|
||||
struct weighted_skewness_impl;
|
||||
|
||||
template<typename Sample, typename Weight, typename Tag>
|
||||
struct weighted_sum_impl;
|
||||
|
||||
template<typename Sample, typename Weight, typename Tag>
|
||||
struct weighted_sum_kahan_impl;
|
||||
|
||||
template<typename Sample, typename Weight, typename LeftRight>
|
||||
struct non_coherent_weighted_tail_mean_impl;
|
||||
|
||||
template<typename Sample, typename Weight, typename LeftRight>
|
||||
struct weighted_tail_quantile_impl;
|
||||
|
||||
template<typename Sample, typename Weight, typename Impl, typename LeftRight, typename VariateType>
|
||||
struct weighted_tail_variate_means_impl;
|
||||
|
||||
template<typename Sample, typename Weight, typename MeanFeature>
|
||||
struct lazy_weighted_variance_impl;
|
||||
|
||||
template<typename Sample, typename Weight, typename MeanFeature, typename Tag>
|
||||
struct weighted_variance_impl;
|
||||
|
||||
template<typename Sample>
|
||||
struct rolling_window_plus1_impl;
|
||||
|
||||
template<typename Sample>
|
||||
struct rolling_window_impl;
|
||||
|
||||
template<typename Sample>
|
||||
struct rolling_sum_impl;
|
||||
|
||||
template<typename Sample>
|
||||
struct rolling_count_impl;
|
||||
|
||||
template<typename Sample>
|
||||
struct rolling_mean_impl;
|
||||
} // namespace impl
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// stats
|
||||
// A more descriptive name for an MPL sequence of statistics.
|
||||
template<BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(BOOST_ACCUMULATORS_MAX_FEATURES, typename Feature, mpl::na)>
|
||||
struct stats;
|
||||
|
||||
template<BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(BOOST_ACCUMULATORS_MAX_FEATURES, typename Feature, mpl::na)>
|
||||
struct with_error;
|
||||
|
||||
// modifiers for the mean and variance stats
|
||||
struct lazy {};
|
||||
struct immediate {};
|
||||
|
||||
// modifiers for the variance stat
|
||||
// struct fast {};
|
||||
// struct accurate {};
|
||||
|
||||
// modifiers for order
|
||||
struct right {};
|
||||
struct left {};
|
||||
// typedef right default_order_tag_type;
|
||||
|
||||
// modifiers for the tail_variate_means stat
|
||||
struct absolute {};
|
||||
struct relative {};
|
||||
|
||||
// modifiers for median and weighted_median stats
|
||||
struct with_density {};
|
||||
struct with_p_square_cumulative_distribution {};
|
||||
struct with_p_square_quantile {};
|
||||
|
||||
// modifiers for peaks_over_threshold stat
|
||||
struct with_threshold_value {};
|
||||
struct with_threshold_probability {};
|
||||
|
||||
// modifiers for extended_p_square_quantile and weighted_extended_p_square_quantile stats
|
||||
struct weighted {};
|
||||
struct unweighted {};
|
||||
struct linear {};
|
||||
struct quadratic {};
|
||||
|
||||
// modifiers for p_square_quantile
|
||||
struct regular {};
|
||||
struct for_median {};
|
||||
|
||||
// modifier for sum_kahan, sum_of_weights_kahan, sum_of_variates_kahan, weighted_sum_kahan
|
||||
struct kahan {};
|
||||
|
||||
}} // namespace boost::accumulators
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user