diff options
author | Jaroslaw Rzepecki <jaroslaw.rzepecki@arm.com> | 2017-11-22 17:16:39 +0000 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:42:17 +0000 |
commit | 0a878ae1bbb13002e50f8287721750d2e4b22680 (patch) | |
tree | b0e18e7df45e01f9440208ecaa06fe6845d02155 /tests | |
parent | 8795ffb03c1bb84a0d93e4ece153ceaa86118594 (diff) | |
download | ComputeLibrary-0a878ae1bbb13002e50f8287721750d2e4b22680.tar.gz |
COMPMID-556: Added a rounding policy to the quantize function
Change-Id: I6272a36636c5d9baff6d35dee0a50dc847f65bfa
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/110266
Tested-by: BSG Visual Compute Jenkins server to access repositories on http://mpd-gerrit.cambridge.arm.com <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/validation/Helpers.cpp | 2 | ||||
-rw-r--r-- | tests/validation/UNIT/Utils.cpp | 14 |
2 files changed, 15 insertions, 1 deletions
diff --git a/tests/validation/Helpers.cpp b/tests/validation/Helpers.cpp index 3ef5fc1cc5..313b059a8c 100644 --- a/tests/validation/Helpers.cpp +++ b/tests/validation/Helpers.cpp @@ -129,7 +129,7 @@ SimpleTensor<uint8_t> convert_to_asymmetric(const SimpleTensor<float> &src, cons SimpleTensor<uint8_t> dst{ src.shape(), DataType::QASYMM8, 1, 0, quantization_info }; for(int i = 0; i < src.num_elements(); ++i) { - dst[i] = quantization_info.quantize(src[i]); + dst[i] = quantization_info.quantize(src[i], RoundingPolicy::TO_NEAREST_UP); } return dst; } diff --git a/tests/validation/UNIT/Utils.cpp b/tests/validation/UNIT/Utils.cpp index 96f9997d5b..b73edb1fb8 100644 --- a/tests/validation/UNIT/Utils.cpp +++ b/tests/validation/UNIT/Utils.cpp @@ -60,6 +60,20 @@ DATA_TEST_CASE(Index2Coord, framework::DatasetMode::ALL, zip(zip(framework::data ARM_COMPUTE_EXPECT(compare_dimensions(coordinate, ref_coordinate), framework::LogLevel::ERRORS); } +DATA_TEST_CASE(RoundFloatToZero, framework::DatasetMode::ALL, zip(framework::dataset::make("FloatIn", { 1.f, 1.2f, 1.5f, 2.5f, 2.9f, -3.f, -3.5f, -3.8f, -4.3f, -4.5f }), + framework::dataset::make("FloatOut", { 1.f, 1.f, 1.f, 2.f, 2.f, -3.f, -3.f, -3.f, -4.f, -4.f })), + value, result) +{ + ARM_COMPUTE_EXPECT(round(value, RoundingPolicy::TO_ZERO) == result, framework::LogLevel::ERRORS); +} + +DATA_TEST_CASE(RoundFloatToNearestUp, framework::DatasetMode::ALL, zip(framework::dataset::make("FloatIn", { 1.f, 1.2f, 1.5f, 2.5f, 2.9f, -3.f, -3.5f, -3.8f, -4.3f, -4.5f }), + framework::dataset::make("FloatOut", { 1.f, 1.f, 2.f, 3.f, 3.f, -3.f, -4.f, -4.f, -4.f, -5.f })), + value, result) +{ + ARM_COMPUTE_EXPECT(round(value, RoundingPolicy::TO_NEAREST_UP) == result, framework::LogLevel::ERRORS); +} + //FIXME: Negative tests only work in debug mode #if 0 DISABLED_DATA_TEST_CASE(Index2CoordFail, framework::DatasetMode::ALL, zip(framework::dataset::make("Shape", { TensorShape{}, TensorShape{ 2U }, TensorShape{ 2U } }), framework::dataset::make("Index", { 0, -1, 2 })), |