DXライブラリはgcc用もあるが、gccが使用する標準ライブラリに三角関数でx87命令を使わないソフトウェア実装があるという。
x87命令が返す結果の正確性に問題があるため、より正確な結果を得られるのだそう(しかもx87命令より高速に)。
つまり、同じソースでもvcでコンパイルしたときとgccでコンパイルしたときでは動作が異なる場合があるということ。
floatだけでなくdoubleにも影響する。
Direct3Dと無関係。
#SIMD拡張命令使ってx87命令を使わないなら回避できるだろうけど。
ところで、GPLを採用したプログラムがVCでビルドしないと期待通り動かないとしたらどうなのだろう。
システム・ライブラリ例外に含まれるであろうソフトウェアに依存するのはGPLの想定外か?
自由でないライブラリを利用する自由ソフトウェアを書けますか?
GPLの採用を阻害する権利は誰にもないであろうが、↑に書かれているように
・gccでコンパイルしてもちゃんと動くようにする
あるいは
・gccでコンパイルするとちゃんと動かない可能性について明示し、gccでコンパイルしてもちゃんと動くよう改変することを提案する
という対応を取るのが適切であろう。
#現実としてはSIMD拡張命令使うようコンパイルオプションに言及すれば良いだけだろうけど。
浮動小数点数とGPL
コメントはまだありません。