diff options
author | Matthew Sloyan <matthew.sloyan@arm.com> | 2020-10-15 13:53:27 +0100 |
---|---|---|
committer | Matthew Sloyan <matthew.sloyan@arm.com> | 2020-10-16 09:43:58 +0100 |
commit | fbba364350fcea447aaa6d108787820dea3fe23a (patch) | |
tree | 3fb1fc8e586b30ac031b6f2030600da695bd12c3 /include/armnnUtils | |
parent | f88e3cc93c0d20641b8dbb1cd3e019568502ba1d (diff) | |
download | armnn-fbba364350fcea447aaa6d108787820dea3fe23a.tar.gz |
IVGCVSW-5435 Add FloatingPointComparison to remove boost::math::fpc uses
* Added FloatingPointComparison.hpp and FloatingPointComparisonTest.cpp,
which compares two floats and returns true if the values are
within a specified or default tolerance of each other.
* Also removed boost::math::fpc from test/TensorHelpers.hpp to validate.
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: I164c32eccd213c53bb1bc4f9cd4ee4838f1781c9
Diffstat (limited to 'include/armnnUtils')
-rw-r--r-- | include/armnnUtils/FloatingPointComparison.hpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/include/armnnUtils/FloatingPointComparison.hpp b/include/armnnUtils/FloatingPointComparison.hpp new file mode 100644 index 0000000000..1e7b15a982 --- /dev/null +++ b/include/armnnUtils/FloatingPointComparison.hpp @@ -0,0 +1,27 @@ +// +// Copyright © 2020 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// + +#pragma once + +#include <cmath> + +namespace armnnUtils +{ + +/** + * Compare two floats and return true if their values are within a specified tolerance of each other. + * @param a + * @param b + * @param tolerancePercentage If not supplied default will be 1% tolerance (1.0f) + * @return true if the value of float b is within tolerancePercentage of the value for float a. + */ +inline bool within_percentage_tolerance(float a, float b, float tolerancePercent = 1.0f) +{ + float toleranceValue = std::fabs(a * (tolerancePercent / 100)); + return std::fabs(a - b) <= toleranceValue; +} + +} //namespace armnn + |