JustAnotherDnDGame
0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
MathUtils.h
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: 2026 Valentin Eloy
2
// SPDX-License-Identifier: GPL-3.0-or-later
3
4
#pragma once
5
6
#include <cmath>
7
12
13
namespace
core
{
14
16
inline
constexpr
float
EPSILON
= 1e-5f;
17
30
[[nodiscard]]
inline
bool
approximatelyEqual
(
float
lhs,
float
rhs,
float
tolerance =
EPSILON
) {
31
const
float
difference = std::fabs(lhs - rhs);
32
const
float
scale = std::fmax(std::fabs(lhs), std::fabs(rhs));
33
return
difference <= tolerance * std::fmax(1.0f, scale);
34
}
35
36
}
// namespace core
core
Espace de noms du moteur et de la logique de jeu.
Definition
Bootstrap.h:9
core::EPSILON
constexpr float EPSILON
Tolérance par défaut pour les comparaisons de flottants issus de calculs.
Definition
MathUtils.h:16
core::approximatelyEqual
bool approximatelyEqual(float lhs, float rhs, float tolerance=EPSILON)
Compare deux flottants à une tolérance relative-absolue près.
Definition
MathUtils.h:30
Source
Core
Math
MathUtils.h
Generated by
1.16.1