Bug #1721

NaN.divmod(NaN) が例外にならない

Added by tadayoshi funaba almost 6 years ago. Updated almost 4 years ago.

[ruby-dev:38726]
Status:Closed
Priority:Normal
Assignee:-
ruby -v:ruby 1.9.2dev (2009-07-03 trunk 23945) [i686-linux] Backport:

Description

=begin
1.8 では NaN.divmod(NaN) などは例外になっていました。

NaN.divmod(1) #=> [NaN, NaN]
NaN.divmod(NaN) #=> [NaN, NaN]
1.divmod(NaN) #=> [NaN, NaN]

NaN.div(NaN) などは例外になることから、divmod も例外になるように思います。

ruby 1.9.2dev (2009-07-03 trunk 23945) [i686-linux]
ruby 1.9.1p129 (2009-05-12 revision 23412) [i686-linux]
=end

History

#1 Updated by Yukihiro Matsumoto almost 6 years ago

=begin
まつもと ゆきひろです

In message "Re: [Bug #1721] NaN.divmod(NaN) が例外にならない"
on Fri, 3 Jul 2009 22:01:47 +0900, tadayoshi funaba redmine@ruby-lang.org writes:

|1.8 では NaN.divmod(NaN) などは例外になっていました。

なんか、どのバージョンも一貫性が維持されていないように思いま
す。どうするのがよいでしょうね。

        1.8     1.9

加 NaN NaN
減 NaN NaN
乗 NaN NaN
除 NaN NaN
modulo NaN NaN
remainer NaN NaN
div 例外 例外
divmod 例外 NaN

|NaN.div(NaN) などは例外になることから、divmod も例外になるように思います。

整数除算だけ例外にする特別の理由を思いつかないので、逆にdivを
NaNにするべきなのかもしれません。忘れてるのかなあ。divが例外
を発生するようになった経緯を覚えていらっしゃる方は居ますか?

=end

#2 Updated by Yukihiro Matsumoto almost 6 years ago

=begin
まつもと ゆきひろです

In message "Re: Re: [Bug #1721] NaN.divmod(NaN) が例外にならない"
on Sat, 4 Jul 2009 01:42:18 +0900, Yukihiro Matsumoto matz@ruby-lang.org writes:

| 1.8 1.9
|加 NaN NaN
|減 NaN NaN
|乗 NaN NaN
|除 NaN NaN
|modulo NaN NaN
|remainer NaN NaN
|div 例外 例外
|divmod 例外 NaN
|
||NaN.div(NaN) などは例外になることから、divmod も例外になるように思います。
|
|整数除算だけ例外にする特別の理由を思いつかないので、逆にdivを
|NaNにするべきなのかもしれません。忘れてるのかなあ。divが例外
|を発生するようになった経緯を覚えていらっしゃる方は居ますか?

一晩寝たら、整数化という行為がFloatDomainErrorを発生させてい
ることに気がつきました。divmodが例外を発生させるように直しま
す。すみません。

=end

Also available in: Atom PDF