diff options
author | Georgios Pinitas <georgios.pinitas@arm.com> | 2020-09-03 21:00:23 +0100 |
---|---|---|
committer | Georgios Pinitas <georgios.pinitas@arm.com> | 2020-09-10 09:57:52 +0000 |
commit | 1813422f5095983fa802e96cb8e9e0d980de82c7 (patch) | |
tree | a58e9d9f0fc8a2eb98a055f28ff700eb7e0bdd5e /tests/validation/reference | |
parent | 5489394cdfe10afb469171cf521f26f923eeb2e2 (diff) | |
download | ComputeLibrary-1813422f5095983fa802e96cb8e9e0d980de82c7.tar.gz |
COMPMID-3583: Add S32 support to NEElementwiseDivision
Division follows the flooring division approach where for example 5/2=2 while
-5/2=-3
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: I65756e0b31fe8d97f743a4c13dc5f96304722f75
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3929
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'tests/validation/reference')
-rw-r--r-- | tests/validation/reference/ElementwiseOperations.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/tests/validation/reference/ElementwiseOperations.cpp b/tests/validation/reference/ElementwiseOperations.cpp index aab9d9d00c..f22c84e153 100644 --- a/tests/validation/reference/ElementwiseOperations.cpp +++ b/tests/validation/reference/ElementwiseOperations.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018-2019 Arm Limited. + * Copyright (c) 2018-2020 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -74,6 +74,15 @@ T arithm_op(ArithmeticOperation op, T src1, T src2, ConvertPolicy convert_policy case ArithmeticOperation::DIV: { val = (static_cast<intermediate_type>(src1) / static_cast<intermediate_type>(src2)); + if(std::is_integral<T>::value) + { + // Implement flooring division + val = (src2 == 0) ? 0 : val; + if(static_cast<int32_t>(src1) % static_cast<int32_t>(src2) != 0 && ((src1 < 0) != (src2 < 0))) + { + --val; + } + } break; } case ArithmeticOperation::POWER: |