ループのすべての反復で同じであるforループにメソッド呼び出しがある場合、コンパイラはそれを最適化するのに十分賢いですか?
for (int j = 0; j < 24; j++ ) {
*destinationPointer++ = identityArray[j] * (1 / powf(2, valueFromAboveInMethod));
}
または、明示的にループの前の値に割り当てる必要がありますか?
float value = 1 / powf(2, valueFromAboveInMethod);
// populate the array
for (int j = 0; j < 24; j++ ) {
*destinationPointer++ = identityArray[j] * value;
}
コンパイラがここで素晴らしいことをして、floatに4バイトを使用する必要がなかったら、私はもっと幸せになるでしょう-これは再帰的なメソッドの中にあります。