Brooklyn/arch/arm/ARMnn/include/armnnUtils/FloatingPointComparison.hpp
2022-04-02 18:06:01 +05:00

28 lines
688 B
C++

//
// 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