diff options
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 + |