blob: 2fa706f6032a3fdeb6c4dc9d4a66e4f23e1f5593 [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
Niels Möllera12c42a2018-07-25 16:05:48 +020013#include <stdint.h>
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_