[#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:43122] Re: 浮動小数点を比較するには
From:
GOTOU Yuuzou <gotoyuzo@...>
Date:
2007-01-15 00:20:01 UTC
List:
ruby-list #43122
Rubyレシピブックの筆者のひとりの後藤です。
「浮動小数点数を比較する」のサンプルは誤りですね。
申し訳ありません。
In message <45A87871.4030706@joy.email.ne.jp>,
`wada toshiki <wada-ts@joy.email.ne.jp>' wrote:
> ということは、1.0が比較の基となるということなのでしょうか。
> ネットで検索したらこのようなのもありました。
>
> http://boost.cppll.jp/HEAD/libs/test/doc/floating_point_comparison.htm
これを参考にすると、
class Float
def near_to(b)
(self - b).abs / abs <= Float::EPSILON &&
(b - self).abs / b.abs <= Float::EPSILON
end
end
こういう感じでしょうか。
> レシピブックには文字列に変換して比較する方法も載っています。実用上はこれで問題な
> いように思いますが、数値を比較するのに文字列に変換してしまうことが、どんなものな
> のかなという気がしていましたので、この方法で可能であればいいと思って質問しました。
Ruby 1.6にはFloat::EPSILONがないので、それなりに使えそうな方
法を紹介しています。
が、間違いついでに告白すると、あまり得意な分野ではありません。
追試してみると、Float#to_s(つまりprintf("%#.15g, value))した
結果同士の比較の方が許容される範囲が大きそうですが、実際どの
程度なんでしょう。
--
ごとうゆうぞう