1) 私の C アルゴには多くの定数があります。2) 私のコードは浮動小数点と固定小数点の両方で動作します。
現在、これらの定数は関数 float2fixed によって初期化されており、浮動小数点では何もしませんが、固定小数点では固定小数点表現を見つけます。たとえば、浮動小数点で動作している場合、0.5f は 0.5f のままですが、pow() ルーチンを使用し、固定小数点で動作し、固定小数点表現が Qx.16 である場合は 32768 になります。
これは維持するのは簡単ですが、これらの定数を固定小数点で計算するには実際には多くの時間がかかります (pow は浮動小数点関数です)。C++ では、メタプログラミングを使用するので、コンパイラはこれらの値をコンパイル時に計算するため、実行時にヒットすることはありません。しかし、Cではそれは不可能です。またはそれは?そんな裏技知ってる人いますか?それを行うのに十分なほど賢いコンパイラはありますか?
回答をお待ちしております。
あ