[#8824] [REQ] Integer#{hex,dec,oct,bin}, String#bin — gotoken@... (GOTO Kentaro)

ごとけんです

38 messages 2000/01/05
[#8839] Re: [REQ] Integer#{hex,dec,oct,bin}, String#bin — matz@... (Yukihiro Matsumoto) 2000/01/06

まつもと ゆきひろです

[#8842] Re: [REQ] Integer#{hex,dec,oct,bin}, String#bin — gotoken@... (GOTO Kentaro) 2000/01/06

ごとけんです

[#8843] Re: [REQ] Integer#{hex,dec,oct,bin}, String#bin — matz@... (Yukihiro Matsumoto) 2000/01/06

まつもと ゆきひろです

[#8844] Re: [REQ] Integer#{hex,dec,oct,bin}, String#bin — gotoken@... (GOTO Kentaro) 2000/01/06

ごとけんです

[#8846] Re: [REQ] Integer#{hex,dec,oct,bin}, String#bin — matz@... (Yukihiro Matsumoto) 2000/01/06

まつもと ゆきひろです

[#8847] Re: [REQ] Integer#{hex,dec,oct,bin}, String#bin — gotoken@... (GOTO Kentaro) 2000/01/06

ごとけんです

[#8893] Re: [ruby-list:20142] Re: Range expansion? — Akinori MUSHA aka knu <knu@...>

 knuです。ruby-listから舞台を移しました。

13 messages 2000/01/09

[#8980] 1.4.3 patch for near-future *BSD IPv6 support — Jun-ichiro itojun Hagino <itojun@...>

近い将来の{Net,Free,Open}BSDにはKAME IPv6 stackが統合されています。

17 messages 2000/01/20
[#8981] Re: 1.4.3 patch for near-future *BSD IPv6 support — Jun-ichiro itojun Hagino <itojun@...> 2000/01/20

> それから、

[ruby-dev:8874] Re: DoubleFloat

From: EGUCHI Osamu <eguchi@...>
Date: 2000-01-07 13:37:10 UTC
List: ruby-dev #8874
えぐち@エスアンドイー です。

>>> In message [ruby-dev:8871] Re: DoubleFloat
    On Fri, 7 Jan 2000 18:10:05 +0900, gotoken@math.sci.hokudai.ac.jp (GOTO Kentaro) said:

gotoken> ごとけんです
gotoken> 
gotoken> In message "[ruby-dev:8870] Re: DoubleFloat"
gotoken>     on 00/01/07, EGUCHI Osamu <eguchi@cagiva.shizuokanet.ne.jp> writes:

gotoken> >あぁ、なるほど、結局 C の float や short の挙動と完全に一致する
gotoken> >クラスを(データの)ポータビリティの為に欲しいと言う事ですね。
gotoken> >特に精度についての互換性を要求している様に思えますが、
gotoken> >この理解であってますか?
gotoken> 
gotoken> です。
gotoken> 
gotoken> ぼくも最近まで知らなかったですが浮動小数点数は整数と異なり
gotoken> IEEEでカッチリフォーマットが定められているので、xdr(3)を持ち
gotoken> 出すまでもなく、ネットワークバイトオーダーでやりとりして双方
gotoken> では単精度で計算するような用途はわりかし多いんです。それと、
gotoken> 世の中に数アマタあるfortranで書かれたライブラリとの相性の問
gotoken> 題もあります。

なるほど、理解できました。

確かに、IEEE754 に殆んど統一されているため、むしろ整数よりも
同一精度の浮動小数点の方がポータブルなんですね一致するんですね。
#こう言う見方で考えた事なかったです。頭っから否定して失礼しました。_o_

gotoken> それと引用の順序が前後しますが、
gotoken> 
gotoken> >処理系への依存性は確かに高いですが、たとえば、
gotoken> >
gotoken> >  #include <stdio.h>
gotoken> >  main()
gotoken> >  {
gotoken> >    printf("%u\n", sizeof (long double));
gotoken> >  }
gotoken> >
gotoken> >って大体今の処理系では通りませんか?
gotoken> >#ただ、例えば printf() が "%lf" をサポートしているか等は微妙!
gotoken> >また、long double をサポートしていない処理系では、
gotoken> >ソフトウェアによる実装よりも、未サポート例外か、Float で代替
gotoken> >が良いように思えます。
gotoken> 
gotoken> 処理系依存というのは未サポートというよりも実装がまちまちだと
gotoken> 言う意味でした。Intel系のと SPARC や PowerPC の long double 
gotoken> は長さが違うという問題もあります。更に FreeBSD だといちいち 
gotoken> fpsetprec を呼ばないといけないと言った阿呆らしい問題もあって 

互換性を考えると、拡張倍精度は難物ですね、拡張倍精度のフォーマットは、
  有効数字桁 64以上、指数のビット長 15以上、全体のビット長 79以上
なので、たとえば 同じ 80 ビットの拡張倍精度でも、仮数:指数の比率が
不一致の可能性があるのも厄介ですね。

gotoken> long double のサポートは結構悩ましいです。ちなみに個人的には 
gotoken> long double はカオスがらみの神経質な計算でしか使ったことない
gotoken> です。

案外(と思うのは私だけ?)、殆どの用途が、倍精度以下の精度で済むんですね。

[ruby-dev:8871]で、述べられているように、

  LongDoubleFloat < Float

という位置付けで、long double を実現すると言うのも、
可能性として、面白そうですね。
#プラットホームが異なっても同一の精度を持たせられるか問題だけれども。
##これは多分ハードウェアとコンパイラなどの処理系の問題

	えぐち



In This Thread