[#43085] 1.9SVN HEADで拡張ライブラリがインストールされない? — okkez <okkez000@...>
okkezといいます。
9 messages
2007/01/02
[#43086] Re: 1.9SVN HEADで拡張ライブラリがインストールされない?
— Yukihiro Matsumoto <matz@...>
2007/01/02
まつもと ゆきひろです
[#43103] 浮動小数点を比較するには — wada toshiki <wada-ts@...>
お世話になります。
21 messages
2007/01/11
[#43105] Re: 浮動小数点を比較するには
— NISHIMATSU Takeshi <t_nissie@...>
2007/01/11
> Rubyレシピブック(P290)で 比較する数値の差を Float::EPSILON と比較する方法があり
[#43112] Re: 浮動小数点を比較するには
— wada toshiki <wada-ts@...>
2007/01/13
NISHIMATSU Takeshiさん wrote:
[#43114] Re: 浮動小数点を比較するには
— KURODA Hiraku <hiraku@...>
2007/01/13
初めまして、黒田と申します。
[#43134] enctype="multipart/form-data"指定したデータについて — "Nobuyuki Inaba" <nobuyuki.inaba@...>
いなばと申します。
5 messages
2007/01/23
[ruby-list:43112] Re: 浮動小数点を比較するには
From:
wada toshiki <wada-ts@...>
Date:
2007-01-13 00:06:03 UTC
List:
ruby-list #43112
NISHIMATSU Takeshiさん wrote:
> 比較したい数で割るのを忘れているとか:
> $ ruby -e 'x = 10.333333333333333 ; p Float::EPSILON > ((x-31.0/3)/x).abs'
> true
> $ ruby -e 'x = 0.333333333333333 ; p Float::EPSILON > ((x- 1.0/3)/x).abs'
> false
> $ ruby -e 'x = 0.3333333333333333 ; p Float::EPSILON > ((x- 1.0/3)/x).abs'
> true
> (Rubyレシピブックを持っていないのでどういうことをしているのかわかりませんが)
Rubyレシピブックでは以下のようになっています。
class Float
def near_to(b)
(self - b).abs * abs < Float::EPSILON
end
end
x = 0.0; 10.times{ x += 0.1 }
p 1.0.near_to(x) #=> true
(self - b).abs * abs は、(self - b).abs / abs の誤りだと思うのですが、
x = 0.0; 20.times{ x += 0.1 }
p 2.0.near_to(x) #=> false
となります。
p x.near_to(2.0) #=> true
だと、動きが変わりますが。
ちなみに、ruby 1.8.4 (2005-12-24) [i386-mswin32] です。
--
*********************************************
和田稔己