From: gotoken@... (GOTO Kentaro) Date: 2000-01-07T18:10:05+09:00 Subject: [ruby-dev:8871] Re: DoubleFloat ごとけんです In message "[ruby-dev:8870] Re: DoubleFloat" on 00/01/07, EGUCHI Osamu writes: >それとも、低精度の実数の「精度が低い事」そのもの価値を >見い出しているのでしょうか? そうです。より詳しくいうと、 >あぁ、なるほど、結局 C の float や short の挙動と完全に一致する >クラスを(データの)ポータビリティの為に欲しいと言う事ですね。 >特に精度についての互換性を要求している様に思えますが、 >この理解であってますか? です。 ぼくも最近まで知らなかったですが浮動小数点数は整数と異なり IEEEでカッチリフォーマットが定められているので、xdr(3)を持ち 出すまでもなく、ネットワークバイトオーダーでやりとりして双方 では単精度で計算するような用途はわりかし多いんです。それと、 世の中に数アマタあるfortranで書かれたライブラリとの相性の問 題もあります。 それと引用の順序が前後しますが、 >処理系への依存性は確かに高いですが、たとえば、 > > #include > main() > { > printf("%u\n", sizeof (long double)); > } > >って大体今の処理系では通りませんか? >#ただ、例えば printf() が "%lf" をサポートしているか等は微妙! >また、long double をサポートしていない処理系では、 >ソフトウェアによる実装よりも、未サポート例外か、Float で代替 >が良いように思えます。 処理系依存というのは未サポートというよりも実装がまちまちだと 言う意味でした。Intel系のと SPARC や PowerPC の long double は長さが違うという問題もあります。更に FreeBSD だといちいち fpsetprec を呼ばないといけないと言った阿呆らしい問題もあって long double のサポートは結構悩ましいです。ちなみに個人的には long double はカオスがらみの神経質な計算でしか使ったことない です。 -- gotoken