• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
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  */
10 #include "webrtc/test/statistics.h"
11 
12 #include <math.h>
13 
14 namespace webrtc {
15 namespace test {
16 
Statistics()17 Statistics::Statistics() : sum_(0.0), sum_squared_(0.0), count_(0) {}
18 
AddSample(double sample)19 void Statistics::AddSample(double sample) {
20   sum_ += sample;
21   sum_squared_ += sample * sample;
22   ++count_;
23 }
24 
Mean() const25 double Statistics::Mean() const {
26   if (count_ == 0)
27     return 0.0;
28   return sum_ / count_;
29 }
30 
Variance() const31 double Statistics::Variance() const {
32   if (count_ == 0)
33     return 0.0;
34   return sum_squared_ / count_ - Mean() * Mean();
35 }
36 
StandardDeviation() const37 double Statistics::StandardDeviation() const {
38   return sqrt(Variance());
39 }
40 }  // namespace test
41 }  // namespace webrtc
42