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