blob: 0389fd1232ea2bbb8f6f08ad3e58e433b6c7666a [file] [log] [blame]
pbos@webrtc.orgaf8d5af2013-07-09 08:02:33 +00001/*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020010#ifndef TEST_STATISTICS_H_
11#define TEST_STATISTICS_H_
pbos@webrtc.orgaf8d5af2013-07-09 08:02:33 +000012
Mirko Bonadei71207422017-09-15 13:58:09 +020013#include "typedefs.h" // NOLINT(build/include)
pbos@webrtc.orgaf8d5af2013-07-09 08:02:33 +000014
15namespace webrtc {
16namespace test {
17
18class Statistics {
19 public:
20 Statistics();
21
22 void AddSample(double sample);
23
Sergey Silkin3be2a552018-01-17 15:11:44 +010024 double Max() const;
pbos@webrtc.orgaf8d5af2013-07-09 08:02:33 +000025 double Mean() const;
Sergey Silkin3be2a552018-01-17 15:11:44 +010026 double Min() const;
pbos@webrtc.orgaf8d5af2013-07-09 08:02:33 +000027 double Variance() const;
28 double StandardDeviation() const;
29
30 private:
31 double sum_;
32 double sum_squared_;
Sergey Silkin3be2a552018-01-17 15:11:44 +010033 double max_;
34 double min_;
pbos@webrtc.orgaf8d5af2013-07-09 08:02:33 +000035 uint64_t count_;
36};
37} // namespace test
38} // namespace webrtc
39
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020040#endif // TEST_STATISTICS_H_