1 // Copyright (C) 2018-2019 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
13 class INFERENCE_ENGINE_API_CLASS(DataStats) {
16 static void GetDataMinMax(const T* data, size_t count, T& min, T& max);
19 static void GetDataAverage(const T* data, size_t count, T& ave);
22 static void GetDataAbsMax(const T* data, size_t count, T& max);
25 static T GetAbsMax(T min, T max);
29 void DataStats::GetDataMinMax(const T* data, size_t count, T& min, T& max) {
30 for (size_t i = 0; i < count; i++) {
44 void DataStats::GetDataAbsMax(const T* data, size_t count, T& max) {
47 GetDataMinMax(data, count, min, max);
49 max = GetAbsMax(min, max);
52 template void DataStats::GetDataMinMax<float>(const float* data, size_t count, float& min, float& max);
53 template void DataStats::GetDataMinMax<uint8_t>(const uint8_t* data, size_t count, uint8_t& min, uint8_t& max);
55 template void DataStats::GetDataAbsMax<float>(const float* data, size_t count, float& max);
58 void DataStats::GetDataAverage(const T* data, size_t count, T& ave) {
61 for (size_t i = 0; i < count; i++) {
68 template void DataStats::GetDataAverage<float>(const float* data, size_t count, float& ave);
71 T DataStats::GetAbsMax(T min, T max) {
80 return (max > min) ? max : min;
83 template float DataStats::GetAbsMax<float>(float min, float max);