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>
diff --git a/tests/validation/ReferenceCPP.cpp b/tests/validation/ReferenceCPP.cpp
index ddb8483..5c429ea 100644
--- a/tests/validation/ReferenceCPP.cpp
+++ b/tests/validation/ReferenceCPP.cpp
@@ -56,6 +56,15 @@
     TensorVariant       d  = TensorFactory::get_tensor(dst);
     boost::apply_visitor(absolute_difference_visitor(), s1, s2, d);
 }
+
+// Mean and standard deviation
+void ReferenceCPP::mean_and_standard_deviation(const RawTensor &src, float &mean, float &std_dev)
+{
+    ARM_COMPUTE_ERROR_ON(src.data_type() != DataType::U8);
+    const Tensor<uint8_t> s(src.shape(), src.data_type(), src.fixed_point_position(), reinterpret_cast<const uint8_t *>(src.data()));
+    tensor_operations::mean_and_standard_deviation(s, mean, std_dev);
+}
+
 // Integral image
 void ReferenceCPP::integral_image(const RawTensor &src, RawTensor &dst)
 {
@@ -64,6 +73,7 @@
     Tensor<uint32_t>      d(dst.shape(), dst.data_type(), dst.fixed_point_position(), reinterpret_cast<uint32_t *>(dst.data()));
     tensor_operations::integral_image(s, d);
 }
+
 // Accumulate
 void ReferenceCPP::accumulate(const RawTensor &src, RawTensor &dst)
 {