/////////////////////////////////////////////////////////////////////////////// // 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 = {}; } 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 = {}; } using extract::tail_mean; namespace tag { /////////////////////////////////////////////////////////////////////////////// // Variates tags struct weights; struct covariate1; struct covariate2; /////////////////////////////////////////////////////////////////////////////// // Statistic tags struct count; template struct covariance; template struct joint_histogram; 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; template struct max_of_variates; 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 min_of_variates; 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; //template //struct p_square_cumulative_distribution_of_variates; 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 right_tail_variate; template struct left_tail_variate; template struct tail_variate_means; template struct absolute_tail_variate_means; struct variance; struct immediate_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_mean_of_weighted_variates; struct weighted_median; struct with_weighted_density_median; struct with_weighted_p_square_cumulative_distribution_median; struct weighted_extended_p_square; struct weighted_extended_p_square_quantile; struct weighted_extended_p_square_quantile_quadratic; template struct weighted_moment; struct weighted_p_square_cumulative_distribution; struct weighted_p_square_quantile; struct weighted_p_square_quantile_for_median; struct weighted_skewness; struct weighted_variance; struct immediate_weighted_variance; struct weighted_sum; template struct weighted_sum_of_variates; } // namespace tag namespace impl { /////////////////////////////////////////////////////////////////////////////// // Statistics impls struct count_impl; template struct covariance_impl; template struct joint_histogram_impl; template struct sample_cache_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 //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 variance_impl; template struct immediate_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_weighted_density_median_impl; template struct with_weighted_p_square_cumulative_distribution_median_impl; template struct weighted_mean_impl; template struct immediate_weighted_mean_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 weighted_variance_impl; template struct immediate_weighted_variance_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 {}; struct with_weighted_density {}; struct with_weighted_p_square_cumulative_distribution {}; struct with_weighted_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