aboutsummaryrefslogtreecommitdiff
path: root/tests/validation/reference/DepthConvertLayer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/validation/reference/DepthConvertLayer.cpp')
-rw-r--r--tests/validation/reference/DepthConvertLayer.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/tests/validation/reference/DepthConvertLayer.cpp b/tests/validation/reference/DepthConvertLayer.cpp
index 4d5b97b478..c1fd9c51f7 100644
--- a/tests/validation/reference/DepthConvertLayer.cpp
+++ b/tests/validation/reference/DepthConvertLayer.cpp
@@ -70,11 +70,21 @@ SimpleTensor<T2> depth_convert(const SimpleTensor<T1> &src, DataType dt_out, Con
ARM_COMPUTE_ERROR_ON(shift != 0);
ARM_COMPUTE_UNUSED(policy, shift);
- // Always saturate on floats
- for(int i = 0; i < src.num_elements(); ++i)
+ if(!is_floating_point<T2>::value)
{
- T1 val = utils::rounding::round_half_away_from_zero(src[i]);
- result[i] = utils::cast::saturate_cast<T2>(val);
+ // Always saturate on floats
+ for(int i = 0; i < src.num_elements(); ++i)
+ {
+ T1 val = utils::rounding::round_half_away_from_zero(src[i]);
+ result[i] = utils::cast::saturate_cast<T2>(val);
+ }
+ }
+ else
+ {
+ for(int i = 0; i < src.num_elements(); ++i)
+ {
+ result[i] = static_cast<T2>(src[i]);
+ }
}
return result;
}