tau対piの debate がプログラミングにおける数学的定数についての議論を支配してきたが、より重要な機会が見過ごされてきた:ラジアンの完全な排除である。
ほとんどのコードは三角関数のために値をラジアンに変換するためにpiまたはtauを使用している。例えば、Godot Engineのソースコードでは、開発者はsinを呼び出す前に周期的な値hにtauを掛けるが、hは既に[0, 1]の範囲内にある。この変換は不必要である、なぜなら数学ライブラリは入力を4/piで即座に掛けるため、実質的に変換を打ち消すからである。
ラジアンではなくターンを使用すると、コードが簡素化され、精度が向上する。ターンは0から1までのcircleをパラメータ化し、0.25は正確に90度を表す、ラジアンでは一般的な角度を正確に表すことができない。このアプローチは冗長な乗算と除算を排除する。
既存のライブラリを使用している人々のために、ハーフターンは実用的な代替案を提供する。CUDAのsincospi intrinsicはpiで乗算された入力の正弦と余弦を計算し、実質的にハーフターンを使用している。sincospiをラジアンでsinとcosを呼び出す代わりにハーフターンで呼び出すことで、開発者は即座にpiとtauの定数の使用を停止できる。
この記事は、コードベース全体でターンまたはハーフターンに切り替えることは通常、最小限の変更を伴う、多くの場合、不必要な変換コードを削除するだけであると主張する。ライブラリは通常、ラジアンを内部で変換するため、この移行は直接的で有益である。
主要なエンティティ:会社:Godot Engine
出典: Hacker News · 要約:HeadlinesBriefing