Le débat tau versus pi a dominé les discussions sur les constantes mathématiques en programmation, mais une opportunité plus importante a été négligée : éliminer les radians.
La plupart du code utilise pi ou tau pour convertir des valeurs en radians pour les fonctions trigonométriques. Par exemple, dans le code source du Godot Engine, les développeurs multiplient une valeur périodique h par tau avant d'appeler sin, même si h est déjà dans la plage [0, 1]. Cette conversion est inutile car les bibliothèques mathématiques multiplient l'entrée par 4/pi immédiatement, annulant effectivement la conversion.
Utiliser des tours au lieu de radians simplifie le code et améliore la précision. Un paramètre de tour paramètre une circle de 0 à 1, où 0.25 représente exactement 90 degrés, contrairement aux radians qui ne peuvent pas représenter les angles courants avec précision. Cette approche élimine les multiplications et divisions redondantes.
Pour ceux qui utilisent des bibliothèques existantes, les demi-tours offrent une alternative pratique. L'intrinsèque sincospi de CUDA calcule le sinus et le cosinus des entrées multipliées par pi, utilisant effectivement des demi-tours. En appelant sincospi avec des demi-tours au lieu de sin et cos avec des radians, les développeurs peuvent immédiatement arrêter d'utiliser les constantes pi et tau.
L'article soutient que passer à des tours ou des demi-tours dans toute une base de code implique généralement des changements minimes, souvent seulement la suppression de code de conversion inutile. Les bibliothèques convertissent généralement les radians en interne de toute façon, ce qui rend cette transition directe et bénéfique.
Entités clés : Entreprises : Godot Engine
Source: Hacker News · Résumé par HeadlinesBriefing