diff options
author | Giorgio Arena <giorgio.arena@arm.com> | 2017-06-13 15:19:51 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-09-17 13:03:43 +0100 |
commit | f795986c8d4594279c277b14a33d29e48b2a4def (patch) | |
tree | 83c6c888e69fa380acaf81988f6a05d8035f627d /tests/validation/TensorOperations.h | |
parent | 7b06cde62a19ae0fda7bbbf0ab0bf18a88470af8 (diff) | |
download | ComputeLibrary-f795986c8d4594279c277b14a33d29e48b2a4def.tar.gz |
COMPMID-378 NEMeanStdDev test completed.
Change-Id: I46fb77c0cb507a4c0fe3264a89dd7b2ba63c44dc
Reviewed-on: http://mpd-gerrit.cambridge.arm.com/77427
Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
Reviewed-by: Steven Niu <steven.niu@arm.com>
Diffstat (limited to 'tests/validation/TensorOperations.h')
-rw-r--r-- | tests/validation/TensorOperations.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/validation/TensorOperations.h b/tests/validation/TensorOperations.h index 5e27e9d3a0..119be02423 100644 --- a/tests/validation/TensorOperations.h +++ b/tests/validation/TensorOperations.h @@ -221,6 +221,29 @@ void apply_2d_spatial_filter(Coordinates coord, const Tensor<T1> &in, Tensor<T3> } } // namespace +// Mean Standard Deviation +template <typename T1> +void mean_and_standard_deviation(const Tensor<T1> &in, float &mean, float &std_dev) +{ + int num_elements = in.num_elements(); + + // Calculate mean + mean = 0.f; + for(int i = 0; i < num_elements; ++i) + { + mean += in[i]; + } + mean /= num_elements; + + // Calculate standard deviation + std_dev = 0.f; + for(int i = 0; i < num_elements; ++i) + { + std_dev += (mean - in[i]) * (mean - in[i]); + } + std_dev = sqrt(std_dev / num_elements); +} + // Integral Image void integral_image(const Tensor<uint8_t> &in, Tensor<uint32_t> &out) { |