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
13namespace core {
14
16inline 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
Espace de noms du moteur et de la logique de jeu.
Definition Bootstrap.h:9
constexpr float EPSILON
Tolérance par défaut pour les comparaisons de flottants issus de calculs.
Definition MathUtils.h:16
bool approximatelyEqual(float lhs, float rhs, float tolerance=EPSILON)
Compare deux flottants à une tolérance relative-absolue près.
Definition MathUtils.h:30