« Les opérations bit à bit/Calculs flottants » : différence entre les versions

Contenu supprimé Contenu ajouté
mAucun résumé des modifications
DannyS712 (discussion | contributions)
m <source> -> <syntaxhighlight> (phab:T237267)
 
Ligne 5 :
Maintenant, nous allons voir une bidouille vraiment intéréssante, incorporée dans certains moteurs de jeux vidéo. On ne sait pas qui l'a inventé, mais il est devenu célèbre lors de la publication du code source de Quake 3 arena, un vieux fast FPS comme on en fait plus, très sympa à jouer en LAN. Un vrai jeu, quoi ! Bref, dans les jeux vidéo, on a souvent besoin de calculer <math>1 \over \sqrt{x}</math>. Ce calcul est évidemment effectué sur des nombres flottants. Mais à l'époque de la création de ce jeu vidéo, les opérations flottante étaient très lentes. Et elles le sont toujours un petit peu, d'ailleurs. Pour diminuer la lenteur du calcul de <math>1 \over \sqrt{x}</math>, on a inventé la Fast Inverse SQRT, afin de calculer celle-ci en utilisant uniquement des opérations entières ! Cet algorithme prend un flottant 32 bits, et donne une approximation de <math>1 \over \sqrt{x}</math>. La qualité de cette approximation est illustrée à droite. Cet algorithme est très simple, jugez plutôt :
 
<sourcesyntaxhighlight lang="c">
float rsqrt(float x0)
{
Ligne 16 :
return x;
}
</syntaxhighlight>
</source>
 
{{NavChapitre | book=Les opérations bit à bit