annotate DEPENDENCIES/generic/include/boost/accumulators/statistics_fwd.hpp @ 125:34e428693f5d vext

Vext -> Repoint
author Chris Cannam
date Thu, 14 Jun 2018 11:15:39 +0100
parents 2665513ce2d3
children
rev   line source
Chris@16 1 ///////////////////////////////////////////////////////////////////////////////
Chris@16 2 // statistics_fwd.hpp
Chris@16 3 //
Chris@16 4 // Copyright 2005 Eric Niebler. Distributed under the Boost
Chris@16 5 // Software License, Version 1.0. (See accompanying file
Chris@16 6 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Chris@16 7
Chris@16 8 #ifndef BOOST_ACCUMULATORS_STATISTICS_STATISTICS_FWD_HPP_EAN_23_11_2005
Chris@16 9 #define BOOST_ACCUMULATORS_STATISTICS_STATISTICS_FWD_HPP_EAN_23_11_2005
Chris@16 10
Chris@16 11 #include <boost/mpl/apply_fwd.hpp> // for mpl::na
Chris@16 12 #include <boost/mpl/print.hpp>
Chris@16 13 #include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
Chris@16 14 #include <boost/accumulators/accumulators_fwd.hpp>
Chris@16 15 #include <boost/accumulators/framework/depends_on.hpp>
Chris@16 16 #include <boost/accumulators/framework/extractor.hpp>
Chris@16 17
Chris@16 18 namespace boost { namespace accumulators
Chris@16 19 {
Chris@16 20
Chris@16 21 ///////////////////////////////////////////////////////////////////////////////
Chris@16 22 // base struct and base extractor for quantiles
Chris@16 23 namespace tag
Chris@16 24 {
Chris@16 25 struct quantile
Chris@16 26 : depends_on<>
Chris@16 27 {
Chris@16 28 typedef mpl::print<class ____MISSING_SPECIFIC_QUANTILE_FEATURE_IN_ACCUMULATOR_SET____ > impl;
Chris@16 29 };
Chris@16 30 }
Chris@16 31 namespace extract
Chris@16 32 {
Chris@16 33 extractor<tag::quantile> const quantile = {};
Chris@16 34
Chris@16 35 BOOST_ACCUMULATORS_IGNORE_GLOBAL(quantile)
Chris@16 36 }
Chris@16 37 using extract::quantile;
Chris@16 38
Chris@16 39 ///////////////////////////////////////////////////////////////////////////////
Chris@16 40 // base struct and base extractor for *coherent* tail means
Chris@16 41 namespace tag
Chris@16 42 {
Chris@16 43 struct tail_mean
Chris@16 44 : depends_on<>
Chris@16 45 {
Chris@16 46 typedef mpl::print<class ____MISSING_SPECIFIC_TAIL_MEAN_FEATURE_IN_ACCUMULATOR_SET____ > impl;
Chris@16 47 };
Chris@16 48 }
Chris@16 49 namespace extract
Chris@16 50 {
Chris@16 51 extractor<tag::tail_mean> const tail_mean = {};
Chris@16 52
Chris@16 53 BOOST_ACCUMULATORS_IGNORE_GLOBAL(tail_mean)
Chris@16 54 }
Chris@16 55 using extract::tail_mean;
Chris@16 56
Chris@16 57 namespace tag
Chris@16 58 {
Chris@16 59 ///////////////////////////////////////////////////////////////////////////////
Chris@16 60 // Variates tags
Chris@16 61 struct weights;
Chris@16 62 struct covariate1;
Chris@16 63 struct covariate2;
Chris@16 64
Chris@16 65 ///////////////////////////////////////////////////////////////////////////////
Chris@16 66 // Statistic tags
Chris@16 67 struct count;
Chris@16 68 template<typename VariateType, typename VariateTag>
Chris@16 69 struct covariance;
Chris@16 70 struct density;
Chris@16 71 template<typename Feature>
Chris@16 72 struct error_of;
Chris@16 73 struct extended_p_square;
Chris@16 74 struct extended_p_square_quantile;
Chris@16 75 struct extended_p_square_quantile_quadratic;
Chris@16 76 struct kurtosis;
Chris@16 77 struct max;
Chris@16 78 struct mean;
Chris@16 79 struct immediate_mean;
Chris@16 80 struct mean_of_weights;
Chris@16 81 struct immediate_mean_of_weights;
Chris@16 82 template<typename VariateType, typename VariateTag>
Chris@16 83 struct mean_of_variates;
Chris@16 84 template<typename VariateType, typename VariateTag>
Chris@16 85 struct immediate_mean_of_variates;
Chris@16 86 struct median;
Chris@16 87 struct with_density_median;
Chris@16 88 struct with_p_square_cumulative_distribution_median;
Chris@16 89 struct min;
Chris@16 90 template<int N>
Chris@16 91 struct moment;
Chris@16 92 template<typename LeftRight>
Chris@16 93 struct peaks_over_threshold;
Chris@16 94 template<typename LeftRight>
Chris@16 95 struct peaks_over_threshold_prob;
Chris@16 96 template<typename LeftRight>
Chris@16 97 struct pot_tail_mean;
Chris@16 98 template<typename LeftRight>
Chris@16 99 struct pot_tail_mean_prob;
Chris@16 100 template<typename LeftRight>
Chris@16 101 struct pot_quantile;
Chris@16 102 template<typename LeftRight>
Chris@16 103 struct pot_quantile_prob;
Chris@16 104 struct p_square_cumulative_distribution;
Chris@16 105 struct p_square_quantile;
Chris@16 106 struct p_square_quantile_for_median;
Chris@16 107 struct skewness;
Chris@16 108 struct sum;
Chris@16 109 struct sum_of_weights;
Chris@16 110 template<typename VariateType, typename VariateTag>
Chris@16 111 struct sum_of_variates;
Chris@16 112 struct sum_kahan;
Chris@16 113 struct sum_of_weights_kahan;
Chris@16 114 template<typename VariateType, typename VariateTag>
Chris@16 115 struct sum_of_variates_kahan;
Chris@16 116 template<typename LeftRight>
Chris@16 117 struct tail;
Chris@16 118 template<typename LeftRight>
Chris@16 119 struct coherent_tail_mean;
Chris@16 120 template<typename LeftRight>
Chris@16 121 struct non_coherent_tail_mean;
Chris@16 122 template<typename LeftRight>
Chris@16 123 struct tail_quantile;
Chris@16 124 template<typename VariateType, typename VariateTag, typename LeftRight>
Chris@16 125 struct tail_variate;
Chris@16 126 template<typename LeftRight>
Chris@16 127 struct tail_weights;
Chris@16 128 template<typename VariateType, typename VariateTag, typename LeftRight>
Chris@16 129 struct right_tail_variate;
Chris@16 130 template<typename VariateType, typename VariateTag, typename LeftRight>
Chris@16 131 struct left_tail_variate;
Chris@16 132 template<typename LeftRight, typename VariateType, typename VariateTag>
Chris@16 133 struct tail_variate_means;
Chris@16 134 template<typename LeftRight, typename VariateType, typename VariateTag>
Chris@16 135 struct absolute_tail_variate_means;
Chris@16 136 template<typename LeftRight, typename VariateType, typename VariateTag>
Chris@16 137 struct relative_tail_variate_means;
Chris@16 138 struct lazy_variance;
Chris@16 139 struct variance;
Chris@16 140 template<typename VariateType, typename VariateTag>
Chris@16 141 struct weighted_covariance;
Chris@16 142 struct weighted_density;
Chris@16 143 struct weighted_kurtosis;
Chris@16 144 struct weighted_mean;
Chris@16 145 struct immediate_weighted_mean;
Chris@16 146 template<typename VariateType, typename VariateTag>
Chris@16 147 struct weighted_mean_of_variates;
Chris@16 148 template<typename VariateType, typename VariateTag>
Chris@16 149 struct immediate_weighted_mean_of_variates;
Chris@16 150 struct weighted_median;
Chris@16 151 struct with_density_weighted_median;
Chris@16 152 struct with_p_square_cumulative_distribution_weighted_median;
Chris@16 153 struct weighted_extended_p_square;
Chris@16 154 struct weighted_extended_p_square_quantile;
Chris@16 155 struct weighted_extended_p_square_quantile_quadratic;
Chris@16 156 template<int N>
Chris@16 157 struct weighted_moment;
Chris@16 158 template<typename LeftRight>
Chris@16 159 struct weighted_peaks_over_threshold;
Chris@16 160 template<typename LeftRight>
Chris@16 161 struct weighted_peaks_over_threshold_prob;
Chris@16 162 template<typename LeftRight>
Chris@16 163 struct weighted_pot_quantile;
Chris@16 164 template<typename LeftRight>
Chris@16 165 struct weighted_pot_quantile_prob;
Chris@16 166 template<typename LeftRight>
Chris@16 167 struct weighted_pot_tail_mean;
Chris@16 168 template<typename LeftRight>
Chris@16 169 struct weighted_pot_tail_mean_prob;
Chris@16 170 struct weighted_p_square_cumulative_distribution;
Chris@16 171 struct weighted_p_square_quantile;
Chris@16 172 struct weighted_p_square_quantile_for_median;
Chris@16 173 struct weighted_skewness;
Chris@16 174 template<typename LeftRight>
Chris@16 175 struct weighted_tail_quantile;
Chris@16 176 template<typename LeftRight>
Chris@16 177 struct non_coherent_weighted_tail_mean;
Chris@16 178 template<typename LeftRight>
Chris@16 179 struct weighted_tail_quantile;
Chris@16 180 template<typename LeftRight, typename VariateType, typename VariateTag>
Chris@16 181 struct weighted_tail_variate_means;
Chris@16 182 template<typename LeftRight, typename VariateType, typename VariateTag>
Chris@16 183 struct absolute_weighted_tail_variate_means;
Chris@16 184 template<typename LeftRight, typename VariateType, typename VariateTag>
Chris@16 185 struct relative_weighted_tail_variate_means;
Chris@16 186 struct lazy_weighted_variance;
Chris@16 187 struct weighted_variance;
Chris@16 188 struct weighted_sum;
Chris@16 189 template<typename VariateType, typename VariateTag>
Chris@16 190 struct weighted_sum_of_variates;
Chris@16 191 struct rolling_window_plus1;
Chris@16 192 struct rolling_window;
Chris@16 193 struct rolling_sum;
Chris@16 194 struct rolling_count;
Chris@16 195 struct rolling_mean;
Chris@16 196 } // namespace tag
Chris@16 197
Chris@16 198 namespace impl
Chris@16 199 {
Chris@16 200 ///////////////////////////////////////////////////////////////////////////////
Chris@16 201 // Statistics impls
Chris@16 202 struct count_impl;
Chris@16 203
Chris@16 204 template<typename Sample, typename VariateType, typename VariateTag>
Chris@16 205 struct covariance_impl;
Chris@16 206
Chris@16 207 template<typename Sample>
Chris@16 208 struct density_impl;
Chris@16 209
Chris@16 210 template<typename Sample, typename Feature>
Chris@16 211 struct error_of_impl;
Chris@16 212
Chris@16 213 template<typename Sample, typename Variance>
Chris@16 214 struct error_of_mean_impl;
Chris@16 215
Chris@16 216 template<typename Sample>
Chris@16 217 struct extended_p_square_impl;
Chris@16 218
Chris@16 219 template<typename Sample, typename Impl1, typename Impl2>
Chris@16 220 struct extended_p_square_quantile_impl;
Chris@16 221
Chris@16 222 template<typename Sample>
Chris@16 223 struct kurtosis_impl;
Chris@16 224
Chris@16 225 template<typename Sample>
Chris@16 226 struct max_impl;
Chris@16 227
Chris@16 228 template<typename Sample>
Chris@16 229 struct median_impl;
Chris@16 230
Chris@16 231 template<typename Sample>
Chris@16 232 struct with_density_median_impl;
Chris@16 233
Chris@16 234 template<typename Sample>
Chris@16 235 struct with_p_square_cumulative_distribution_median_impl;
Chris@16 236
Chris@16 237 template<typename Sample>
Chris@16 238 struct min_impl;
Chris@16 239
Chris@16 240 template<typename Sample, typename SumFeature = tag::sum>
Chris@16 241 struct mean_impl;
Chris@16 242
Chris@16 243 template<typename Sample, typename Tag = tag::sample>
Chris@16 244 struct immediate_mean_impl;
Chris@16 245
Chris@16 246 template<typename N, typename Sample>
Chris@16 247 struct moment_impl;
Chris@16 248
Chris@16 249 template<typename Sample, typename LeftRight>
Chris@16 250 struct peaks_over_threshold_prob_impl;
Chris@16 251
Chris@16 252 template<typename Sample, typename Impl, typename LeftRight>
Chris@16 253 struct pot_quantile_impl;
Chris@16 254
Chris@16 255 template<typename Sample, typename Impl, typename LeftRight>
Chris@16 256 struct pot_tail_mean_impl;
Chris@16 257
Chris@16 258 template<typename Sample>
Chris@16 259 struct p_square_cumulative_distribution_impl;
Chris@16 260
Chris@16 261 template<typename Sample, typename Impl>
Chris@16 262 struct p_square_quantile_impl;
Chris@16 263
Chris@16 264 template<typename Sample>
Chris@16 265 struct skewness_impl;
Chris@16 266
Chris@16 267 template<typename Sample, typename Tag = tag::sample>
Chris@16 268 struct sum_impl;
Chris@16 269
Chris@16 270 template<typename Sample, typename Tag>
Chris@16 271 struct sum_kahan_impl;
Chris@16 272
Chris@16 273 template<typename Sample, typename LeftRight>
Chris@16 274 struct tail_impl;
Chris@16 275
Chris@16 276 template<typename Sample, typename LeftRight>
Chris@16 277 struct coherent_tail_mean_impl;
Chris@16 278
Chris@16 279 template<typename Sample, typename LeftRight>
Chris@16 280 struct non_coherent_tail_mean_impl;
Chris@16 281
Chris@16 282 template<typename Sample, typename LeftRight>
Chris@16 283 struct tail_quantile_impl;
Chris@16 284
Chris@16 285 template<typename VariateType, typename VariateTag, typename LeftRight>
Chris@16 286 struct tail_variate_impl;
Chris@16 287
Chris@16 288 template<typename Sample, typename Impl, typename LeftRight, typename VariateTag>
Chris@16 289 struct tail_variate_means_impl;
Chris@16 290
Chris@16 291 template<typename Sample, typename MeanFeature>
Chris@16 292 struct lazy_variance_impl;
Chris@16 293
Chris@16 294 template<typename Sample, typename MeanFeature, typename Tag>
Chris@16 295 struct variance_impl;
Chris@16 296
Chris@16 297 template<typename Sample, typename Weight, typename VariateType, typename VariateTag>
Chris@16 298 struct weighted_covariance_impl;
Chris@16 299
Chris@16 300 template<typename Sample, typename Weight>
Chris@16 301 struct weighted_density_impl;
Chris@16 302
Chris@16 303 template<typename Sample, typename Weight>
Chris@16 304 struct weighted_kurtosis_impl;
Chris@16 305
Chris@16 306 template<typename Sample>
Chris@16 307 struct weighted_median_impl;
Chris@16 308
Chris@16 309 template<typename Sample>
Chris@16 310 struct with_density_weighted_median_impl;
Chris@16 311
Chris@16 312 template<typename Sample, typename Weight>
Chris@16 313 struct with_p_square_cumulative_distribution_weighted_median_impl;
Chris@16 314
Chris@16 315 template<typename Sample, typename Weight, typename Tag>
Chris@16 316 struct weighted_mean_impl;
Chris@16 317
Chris@16 318 template<typename Sample, typename Weight, typename Tag>
Chris@16 319 struct immediate_weighted_mean_impl;
Chris@16 320
Chris@16 321 template<typename Sample, typename Weight, typename LeftRight>
Chris@16 322 struct weighted_peaks_over_threshold_impl;
Chris@16 323
Chris@16 324 template<typename Sample, typename Weight, typename LeftRight>
Chris@16 325 struct weighted_peaks_over_threshold_prob_impl;
Chris@16 326
Chris@16 327 template<typename Sample, typename Weight>
Chris@16 328 struct with_p_square_cumulative_distribution_weighted_median_impl;
Chris@16 329
Chris@16 330 template<typename Sample, typename Weight>
Chris@16 331 struct weighted_extended_p_square_impl;
Chris@16 332
Chris@16 333 template<typename N, typename Sample, typename Weight>
Chris@16 334 struct weighted_moment_impl;
Chris@16 335
Chris@16 336 template<typename Sample, typename Weight>
Chris@16 337 struct weighted_p_square_cumulative_distribution_impl;
Chris@16 338
Chris@16 339 template<typename Sample, typename Weight, typename Impl>
Chris@16 340 struct weighted_p_square_quantile_impl;
Chris@16 341
Chris@16 342 template<typename Sample, typename Weight>
Chris@16 343 struct weighted_skewness_impl;
Chris@16 344
Chris@16 345 template<typename Sample, typename Weight, typename Tag>
Chris@16 346 struct weighted_sum_impl;
Chris@16 347
Chris@16 348 template<typename Sample, typename Weight, typename Tag>
Chris@16 349 struct weighted_sum_kahan_impl;
Chris@16 350
Chris@16 351 template<typename Sample, typename Weight, typename LeftRight>
Chris@16 352 struct non_coherent_weighted_tail_mean_impl;
Chris@16 353
Chris@16 354 template<typename Sample, typename Weight, typename LeftRight>
Chris@16 355 struct weighted_tail_quantile_impl;
Chris@16 356
Chris@16 357 template<typename Sample, typename Weight, typename Impl, typename LeftRight, typename VariateType>
Chris@16 358 struct weighted_tail_variate_means_impl;
Chris@16 359
Chris@16 360 template<typename Sample, typename Weight, typename MeanFeature>
Chris@16 361 struct lazy_weighted_variance_impl;
Chris@16 362
Chris@16 363 template<typename Sample, typename Weight, typename MeanFeature, typename Tag>
Chris@16 364 struct weighted_variance_impl;
Chris@16 365
Chris@16 366 template<typename Sample>
Chris@16 367 struct rolling_window_plus1_impl;
Chris@16 368
Chris@16 369 template<typename Sample>
Chris@16 370 struct rolling_window_impl;
Chris@16 371
Chris@16 372 template<typename Sample>
Chris@16 373 struct rolling_sum_impl;
Chris@16 374
Chris@16 375 template<typename Sample>
Chris@16 376 struct rolling_count_impl;
Chris@16 377
Chris@16 378 template<typename Sample>
Chris@16 379 struct rolling_mean_impl;
Chris@16 380 } // namespace impl
Chris@16 381
Chris@16 382 ///////////////////////////////////////////////////////////////////////////////
Chris@16 383 // stats
Chris@16 384 // A more descriptive name for an MPL sequence of statistics.
Chris@16 385 template<BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(BOOST_ACCUMULATORS_MAX_FEATURES, typename Feature, mpl::na)>
Chris@16 386 struct stats;
Chris@16 387
Chris@16 388 template<BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(BOOST_ACCUMULATORS_MAX_FEATURES, typename Feature, mpl::na)>
Chris@16 389 struct with_error;
Chris@16 390
Chris@16 391 // modifiers for the mean and variance stats
Chris@16 392 struct lazy {};
Chris@16 393 struct immediate {};
Chris@16 394
Chris@16 395 // modifiers for the variance stat
Chris@16 396 // struct fast {};
Chris@16 397 // struct accurate {};
Chris@16 398
Chris@16 399 // modifiers for order
Chris@16 400 struct right {};
Chris@16 401 struct left {};
Chris@16 402 // typedef right default_order_tag_type;
Chris@16 403
Chris@16 404 // modifiers for the tail_variate_means stat
Chris@16 405 struct absolute {};
Chris@16 406 struct relative {};
Chris@16 407
Chris@16 408 // modifiers for median and weighted_median stats
Chris@16 409 struct with_density {};
Chris@16 410 struct with_p_square_cumulative_distribution {};
Chris@16 411 struct with_p_square_quantile {};
Chris@16 412
Chris@16 413 // modifiers for peaks_over_threshold stat
Chris@16 414 struct with_threshold_value {};
Chris@16 415 struct with_threshold_probability {};
Chris@16 416
Chris@16 417 // modifiers for extended_p_square_quantile and weighted_extended_p_square_quantile stats
Chris@16 418 struct weighted {};
Chris@16 419 struct unweighted {};
Chris@16 420 struct linear {};
Chris@16 421 struct quadratic {};
Chris@16 422
Chris@16 423 // modifiers for p_square_quantile
Chris@16 424 struct regular {};
Chris@16 425 struct for_median {};
Chris@16 426
Chris@16 427 // modifier for sum_kahan, sum_of_weights_kahan, sum_of_variates_kahan, weighted_sum_kahan
Chris@16 428 struct kahan {};
Chris@16 429
Chris@16 430 }} // namespace boost::accumulators
Chris@16 431
Chris@16 432 #endif