aboutsummaryrefslogtreecommitdiff
path: root/tests/validation/TensorOperations.h
diff options
context:
space:
mode:
Diffstat (limited to 'tests/validation/TensorOperations.h')
-rw-r--r--tests/validation/TensorOperations.h23
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)
{