File: FloatingPointComparison.hpp

package info (click to toggle)
armnn 23.08-5
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 53,580 kB
  • sloc: cpp: 337,440; python: 4,755; sh: 1,708; makefile: 42; asm: 15; xml: 6
file content (27 lines) | stat: -rw-r--r-- 688 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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