From 4bdd177c75789451cad9ba1ecf929214ed75c009 Mon Sep 17 00:00:00 2001 From: Giorgio Arena Date: Thu, 17 Dec 2020 16:47:07 +0000 Subject: Fix fill() for FP data type in fixtures - Part 2 Resolves: COMPMID-4056 Signed-off-by: Giorgio Arena Change-Id: I6623eb9c0e66e52af4e0e9fb386031f4a09125b7 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4722 Tested-by: Arm Jenkins Reviewed-by: Michele Di Giorgio Comments-Addressed: Arm Jenkins --- tests/validation/fixtures/ScaleFixture.h | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'tests/validation/fixtures/ScaleFixture.h') diff --git a/tests/validation/fixtures/ScaleFixture.h b/tests/validation/fixtures/ScaleFixture.h index 1e66306715..fc09c8f23c 100644 --- a/tests/validation/fixtures/ScaleFixture.h +++ b/tests/validation/fixtures/ScaleFixture.h @@ -98,9 +98,15 @@ protected: template void fill(U &&tensor) { - if(is_data_type_float(_data_type)) + if(tensor.data_type() == DataType::F32) { - library->fill_tensor_uniform(tensor, 0); + std::uniform_real_distribution distribution(-5.0f, 5.0f); + library->fill(tensor, distribution, 0); + } + else if(tensor.data_type() == DataType::F16) + { + arm_compute::utils::uniform_real_distribution_fp16 distribution{ half(-5.0f), half(5.0f) }; + library->fill(tensor, distribution, 0); } else if(is_data_type_quantized(tensor.data_type())) { @@ -109,9 +115,7 @@ protected: } else { - // Restrict range for float to avoid any floating point issues - std::uniform_real_distribution<> distribution(-5.0f, 5.0f); - library->fill(tensor, distribution, 0); + library->fill_tensor_uniform(tensor, 0); } } -- cgit v1.2.1