| 52 | |
| 53 | template<typename T> |
| 54 | double getAverage(std::vector<T> const& v) { |
| 55 | if (v.empty()) { |
| 56 | return 0; |
| 57 | } |
| 58 | return std::accumulate(v.begin(), v.end(), 0.0) / v.size(); |
| 59 | } |
| 60 | |
| 61 | vector<char> getRandomBytes(size_t size) { |
| 62 | random_device rd; |