0

他の一部の言語では、コンパイラが浮動小数点数の最適化を実行できるようにすることができます。そのうちの 1 つは、コードを代数的に同等の式に書き換えることです。ここに私が意味することのいくつかの例があります:

a = a * a * a * a * a * a * a * a * a * a * a * a * a * a * a * a;

として最適化できます

a *= a;
a *= a;
a *= a;
a *= a;

...

b /= 0.123456789f;
b /= 17;

として最適化できます

// b *= 1f / (0.123456789f * 17)
b *= 0.47647059257117651004476506493677f;

明らかに、最適化された式は異なる結果を生成するため、コンパイラはデフォルトでこれを行いません。これらの最適化の実行を許可していると言うために、メソッドまたはクラスに割り当てることができる属性があると思いましたが、できませんでした何かを見つけます。

4

0 に答える 0