OLD | NEW |
(Empty) | |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include <math.h> |
| 6 |
| 7 #include <algorithm> |
| 8 |
| 9 #include "base/strings/stringprintf.h" |
| 10 #include "media/cast/test/utility/test_util.h" |
| 11 |
| 12 namespace media { |
| 13 namespace cast { |
| 14 namespace test { |
| 15 |
| 16 MeanAndError::MeanAndError(const std::vector<double>& values) { |
| 17 double sum = 0.0; |
| 18 double sqr_sum = 0.0; |
| 19 num_values = values.size(); |
| 20 if (num_values) { |
| 21 for (size_t i = 0; i < num_values; i++) { |
| 22 sum += values[i]; |
| 23 sqr_sum += values[i] * values[i]; |
| 24 } |
| 25 mean = sum / num_values; |
| 26 std_dev = |
| 27 sqrt(std::max(0.0, num_values * sqr_sum - sum * sum)) / num_values; |
| 28 } |
| 29 } |
| 30 |
| 31 std::string MeanAndError::AsString() const { |
| 32 return base::StringPrintf("%f +/- %f", mean, std_dev); |
| 33 } |
| 34 |
| 35 } // namespace test |
| 36 } // namespace cast |
| 37 } // namespace media |
OLD | NEW |