forked from Qortal/Brooklyn
28 lines
688 B
C++
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
|
|
|