/////////////////////////////////////////////////////////////////////////////// // 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 // for mpl::na #include #include #include #include #include namespace boost { namespace accumulators { /////////////////////////////////////////////////////////////////////////////// // base struct and base extractor for quantiles namespace tag { struct quantile : depends_on<> { typedef mpl::print impl; }; } namespace extract { extractor 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 impl; }; } namespace extract { extractor 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 struct covariance; struct density; template 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 struct mean_of_variates; template struct immediate_mean_of_variates; struct median; struct with_density_median; struct with_p_square_cumulative_distribution_median; struct min; template struct moment; template struct peaks_over_threshold; template struct peaks_over_threshold_prob; template struct pot_tail_mean; template struct pot_tail_mean_prob; template struct pot_quantile; template 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 struct sum_of_variates; template struct tail; template struct coherent_tail_mean; template struct non_coherent_tail_mean; template struct tail_quantile; template struct tail_variate; template struct tail_weights; template struct right_tail_variate; template struct left_tail_variate; template struct tail_variate_means; template struct absolute_tail_variate_means; template struct relative_tail_variate_means; struct lazy_variance; struct variance; template struct weighted_covariance; struct weighted_density; struct weighted_kurtosis; struct weighted_mean; struct immediate_weighted_mean; template struct weighted_mean_of_variates; template 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 struct weighted_moment; template struct weighted_peaks_over_threshold; template struct weighted_peaks_over_threshold_prob; template struct weighted_pot_quantile; template struct weighted_pot_quantile_prob; template struct weighted_pot_tail_mean; template 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 struct weighted_tail_quantile; template struct non_coherent_weighted_tail_mean; template struct weighted_tail_quantile; template struct weighted_tail_variate_means; template struct absolute_weighted_tail_variate_means; template struct relative_weighted_tail_variate_means; struct lazy_weighted_variance; struct weighted_variance; struct weighted_sum; template 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 struct covariance_impl; template struct density_impl; template struct error_of_impl; template struct error_of_mean_impl; template struct extended_p_square_impl; template struct extended_p_square_quantile_impl; template struct kurtosis_impl; template struct max_impl; template struct median_impl; template struct with_density_median_impl; template struct with_p_square_cumulative_distribution_median_impl; template struct min_impl; template struct mean_impl; template struct immediate_mean_impl; template struct moment_impl; template struct peaks_over_threshold_prob_impl; template struct pot_quantile_impl; template struct pot_tail_mean_impl; template struct p_square_cumulative_distribution_impl; template struct p_square_quantile_impl; template struct skewness_impl; template struct sum_impl; template struct tail_impl; template struct coherent_tail_mean_impl; template struct non_coherent_tail_mean_impl; template struct tail_quantile_impl; template struct tail_variate_impl; template struct tail_variate_means_impl; template struct lazy_variance_impl; template struct variance_impl; template struct weighted_covariance_impl; template struct weighted_density_impl; template struct weighted_kurtosis_impl; template struct weighted_median_impl; template struct with_density_weighted_median_impl; template struct with_p_square_cumulative_distribution_weighted_median_impl; template struct weighted_mean_impl; template struct immediate_weighted_mean_impl; template struct weighted_peaks_over_threshold_impl; template struct weighted_peaks_over_threshold_prob_impl; template struct with_p_square_cumulative_distribution_weighted_median_impl; template struct weighted_extended_p_square_impl; template struct weighted_moment_impl; template struct weighted_p_square_cumulative_distribution_impl; template struct weighted_p_square_quantile_impl; template struct weighted_skewness_impl; template struct weighted_sum_impl; template struct non_coherent_weighted_tail_mean_impl; template struct weighted_tail_quantile_impl; template struct weighted_tail_variate_means_impl; template struct lazy_weighted_variance_impl; template struct weighted_variance_impl; template struct rolling_window_plus1_impl; template struct rolling_window_impl; template struct rolling_sum_impl; template struct rolling_count_impl; template struct rolling_mean_impl; } // namespace impl /////////////////////////////////////////////////////////////////////////////// // stats // A more descriptive name for an MPL sequence of statistics. template struct stats; template 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 {}; }} // namespace boost::accumulators #endif