[#49480] [ANN] Milkode 1.1 — ongaeshi <ongaeshi0621@...>

おんがえし です。

13 messages 2013/07/02

[#49508] OSXでRUBY-TKインストール出来た方いますか? — Tsuyoshi Uema <mugenkai_151e@...>

7.8年ぶりの書き込みです。

12 messages 2013/07/29

[ruby-list:49502] Re: Float の誤差と同一性

From: Tadashi Saito <tad.a.digger@...>
Date: 2013-07-20 06:47:44 UTC
List: ruby-list #49502
斎藤と申します。

2013年7月20日 14:47 Takashi SUGA <suchowan@box.email.ne.jp>:

> ・Float は immutable で値が同じならオブジェクトも同じ
>

これは間違いですね。イミュータブルは「オブジェクトが同じなら値が同じ」で、
同じ値のオブジェクトが複数個できることはあり得ると思います。


> ・3や5の倍数で割ると丸め誤差が発生するので値は元に戻らない
> とすると
> [[true, true], [false, false]] かと思ったのですがどちらでもない。
>

掛け算にも丸めが起こるためでないでしょうか。

>> F=0.1111111111111111
=> 0.1111111111111111
>> x=F*5
=> 0.5555555555555556
>> x == 0.5555555555555555
=> false
>> x == 0.5555555555555556
=> true
>> F*5/5 == F/5*5
=> false
>> F*5/5 == F
=> false
>> F/5*5 == F
=> true

念のためですが、上記の結果はRuby 1.9.3/2.0.0で共に同じでした。

ちなみに、ささださんの

2013年7月20日 14:54 SASADA Koichi <ko1@atdot.net>:

> - Ruby 2.0.0 の 64bit 版は、殆どの場合同じ


というあたりはたぶん、ソースを flonum でgrepすると理解が進むはずです。

-- 
斎藤ただし

In This Thread