math_set_epsilon(epsilon);
| Argument | La description |
|---|---|
| epsilon | La nouvelle valeur epsilon (de 0 à 0,999999999). |
Retours: Real
Epsilon est une valeur utilisée pour déterminer si deux nombres sujets à une erreur d'arrondi sont suffisamment proches pour être considérés comme «égaux». Il est utile lorsque vous manipulez des maths en virgule flottante car il peut réduire les "erreurs d'arrondi" qui font que certaines opérations renvoient des valeurs qui semblent incorrectes ou contraires à nos attentes. Par exemple, nous avons peut-être ajouté une valeur à l'index d'image d'une image-objet et attendons que le résultat soit un entier unique, mais en raison de la nature des calculs en virgule flottante, la valeur finale réelle est quelque chose comme 5.0000002. avoir la vérification suivante:
if image_index == 5 {do something}
Le code ne se comporte pas comme prévu et renvoie false. Cependant, si nous définissons la valeur epsilon sur 0.000001, la valeur image_index sera arrondie au nombre réel le plus proche, soit +/- 0.000001 de la valeur d'origine, ce qui rendra la comparaison ci-dessus vraie.
La valeur epsilon sera utilisée pour tous les opérateurs entiers suivants:
- <: Inférieur à
- >: Supérieur à
- ==: égal à
- <=: Inférieur ou égal à
- > =: Supérieur ou égal à
- ! =: Pas égal à
Notez que la définition d'une valeur epsilon de 0 désactivera tous les arrondis et l'utilisation d'une valeur de 1 entraînera une erreur.
math_set_epsilon(0.0001);
Cela définira la valeur epsilon pour toutes les autres opérations à virgule flottante.