Issue #6120 has been updated by fahmisetiawand (Fahmi Setiawan).


http://alkian.blogspot.com/2012/09/cara-menyembuhkan-asam-urat-dan-kolestrol-secara-alami.html
http://alkian.blogspot.com/2012/09/keretamini-keretamall-komediputar-ya-keretaminikucom.html
http://alkian.blogspot.com/2012/10/kata-kata-mutiara-motivasi-terbaru-2012.html
http://alkian.blogspot.com/2012/08/personil-coboy-junior.html
http://alkian.blogspot.com/2012/10/hasil-dan-klasemen-liga-champions.html
----------------------------------------
Bug #6120: Float and BigDecimal bug in remainder in corner cases
https://bugs.ruby-lang.org/issues/6120#change-29973

Author: marcandre (Marc-Andre Lafortune)
Status: Assigned
Priority: Normal
Assignee: marcandre (Marc-Andre Lafortune)
Category: core
Target version: 2.0.0
ruby -v: r34927


Currently:

    4.2.remainder(+Float::INFINITY) # => 4.2, ok
    4.2.remainder(-Float::INFINITY) # => NaN, should be 4.2
    # (same with all signs reversed)

Reasons the remainder should be 4.2 and not NaN:
1) foo.remainder(bar) == foo.remainder(-bar)
2) foo.remainder(bar) == foo  when bar.abs > foo.abs

Similarly:
    require 'bigdecimal'
    bd = BigDecimal.new("4.2")
    bd.remainder(BigDecimal.new("+Infinity"))  # => NaN, should be bd
    bd.remainder(BigDecimal.new("-Infinity"))  # => NaN, should be bd
    # (same with all signs reverse)

Reasons: same as float.

Finally:
    bd = BigDecimal.new("4.2")
    bd.modulo(BigDecimal.new("0"))  # => ZeroDivisionError, probably ok?
    bd.remainder(BigDecimal.new("0"))  # => NaN, should be probably raise a ZeroDivisionError?

Like in #6044, this could be decided either way, as long as there is consistency. Anyone prefer NaN to raising a ZeroDivisionError?



-- 
http://bugs.ruby-lang.org/