Electroneum
Loading...
Searching...
No Matches
stats.h
Go to the documentation of this file.
1#pragma once
2
3#include <vector>
4
5template<typename T, typename Tpod = T>
6class Stats
7{
8public:
9 Stats(const std::vector<T> &v): values(v), cached(0) {}
10 ~Stats() {}
11
12 size_t get_size() const;
13 Tpod get_min() const;
14 Tpod get_max() const;
15 Tpod get_median() const;
16 double get_mean() const;
19 double get_standard_deviation() const;
20 double get_standard_error() const;
21 double get_variance() const;
22 double get_kurtosis() const;
24 double get_t_test(T t) const;
25 double get_t_test(size_t npoints, double mean, double stddev) const;
26 double get_t_test(const Stats<T> &other) const;
27 double get_z_test(const Stats<T> &other) const;
28 double get_test(const Stats<T> &other) const;
29 std::vector<Tpod> get_quantiles(unsigned int quantiles) const;
30 std::vector<size_t> get_bins(unsigned int bins) const;
31 bool is_same_distribution_95(size_t npoints, double mean, double stddev) const;
32 bool is_same_distribution_95(const Stats<T> &other) const;
33 bool is_same_distribution_99(size_t npoints, double mean, double stddev) const;
34 bool is_same_distribution_99(const Stats<T> &other) const;
35
36 double get_cdf95(size_t df) const;
37 double get_cdf95(const Stats<T> &other) const;
38 double get_cdf99(size_t df) const;
39 double get_cdf99(const Stats<T> &other) const;
40
41private:
42 inline bool is_cached(int bit) const;
43 inline void set_cached(int bit) const;
44
45 const std::vector<T> &values;
46
47 mutable uint64_t cached;
48 mutable Tpod min;
49 mutable Tpod max;
50 mutable Tpod median;
51 mutable double mean;
52 mutable double standard_deviation;
53 mutable double standard_error;
54 mutable double variance;
55 mutable double kurtosis;
56};
57
58#include "stats.inl"
double get_confidence_interval_95() const
double get_variance() const
double get_standard_deviation() const
size_t get_size() const
bool is_same_distribution_99(size_t npoints, double mean, double stddev) const
bool is_same_distribution_95(const Stats< T > &other) const
double get_cdf99(const Stats< T > &other) const
double get_kurtosis() const
double get_t_test(T t) const
bool is_same_distribution_95(size_t npoints, double mean, double stddev) const
double get_z_test(const Stats< T > &other) const
double get_mean() const
double get_cdf99(size_t df) const
Stats(const std::vector< T > &v)
Definition stats.h:9
~Stats()
Definition stats.h:10
double get_t_test(const Stats< T > &other) const
double get_test(const Stats< T > &other) const
double get_confidence_interval_99() const
double get_cdf95(size_t df) const
Tpod get_min() const
double get_cdf95(const Stats< T > &other) const
double get_non_parametric_skew() const
std::vector< size_t > get_bins(unsigned int bins) const
std::vector< Tpod > get_quantiles(unsigned int quantiles) const
double get_t_test(size_t npoints, double mean, double stddev) const
double get_standard_error() const
Tpod get_median() const
Tpod get_max() const
bool is_same_distribution_99(const Stats< T > &other) const
unsigned __int64 uint64_t
Definition stdint.h:136
#define T(x)