Die tau-gegen-pi-Debatte hat Diskussionen über mathematische Konstanten in der Programmierung dominiert, aber eine bedeutendere Gelegenheit wurde übersehen: die Radian komplett abzuschaffen.
Der Großteil des Codes verwendet pi oder tau, um Werte in Radiant für trigonometrische Funktionen zu konvertieren. Zum Beispiel multiplizieren Entwickler im Godot Engine-Quellcode einen periodischen Wert h mit tau, bevor sie sin aufrufen, obwohl h bereits im Bereich [0, 1] liegt. Diese Konvertierung ist unnötig, da mathematische Bibliotheken die Eingabe intern sofort mit 4/pi multiplizieren und dadurch die Konvertierung effektiv rückgängig machen.
Die Verwendung von Drehungen anstelle von Radiant vereinfacht den Code und verbessert die Präzision. Ein Drehungsparameter parametrisiert einen Kreis von 0 bis 1, wobei 0.25 genau 90 Grad darstellt, im Gegensatz zu Radiant, die keine gängigen Winkel exakt darstellen können. Dieser Ansatz eliminiert redundante Multiplikationen und Divisionen.
Für Benutzer bestehender Bibliotheken bieten Halbdrehungen eine praktische Alternative. Die CUDA sincospi-Intrinsic-Funktion berechnet Sinus und Kosinus von Eingaben, die mit pi multipliziert wurden, und verwendet somit Halbdrehungen. Indem Entwickler sincospi mit Halbdrehungen aufrufen anstelle von sin und cos mit Radiant, können sie sofort aufhören, pi- und tau-Konstanten zu verwenden.
Der Artikel argumentiert, dass der Wechsel zu Drehungen oder Halbdrehungen im gesamten Code normalerweise minimale Änderungen erfordert, oft nur das Löschen unnötiger Konvertierungscode. Bibliotheken konvertieren Radiant normalerweise intern sowieso, was diesen Übergang einfach und vorteilhaft macht.
Schlüsselentitäten: Unternehmen: Godot Engine
Quelle: Hacker News · Zusammengefasst von HeadlinesBriefing