Project

General

Profile

Actions

Bug #10109

closed

BigDecimal fail to compare to Float::INFINITY

Added by CryptoBarbu (Crypto Barbu) over 9 years ago. Updated over 7 years ago.

Status:
Closed
Target version:
-
ruby -v:
ruby 2.2.0dev (2014-08-04 trunk 47060) [x86_64-linux]
[ruby-core:64190]

Description

head :002 > BigDecimal(0) < Float::INFINITY FloatDomainError: Infinity from (irb):2:in to_r'
from (irb):2:in <' from (irb):2 from /home/.../.rvm/src/rvm/rubies/ruby-head/bin/irb:11:in '
head :003 > Float::INFINITY > BigDecimal(0)
(irb):3: warning: Numerical comparison operators will no more rescue exceptions of #coerce
(irb):3: warning: in the next release. Return nil in #coerce if the coercion is impossible.
ArgumentError: comparison of Float with BigDecimal failed
from (irb):3:in >' from (irb):3 from /home/.../.rvm/src/rvm/rubies/ruby-head/bin/irb:11:in '`

on version 2.1.0 :

2.1.0 :003 > BigDecimal("0") < Float::INFINITY FloatDomainError: Infinity from (irb):3:in to_r'
from (irb):3:in <' from (irb):3 from /home/.../.rvm/src/rvm/rubies/ruby-2.1.0/bin/irb:11:in '
2.1.0 :004 > Float::INFINITY > BigDecimal("0")
ArgumentError: comparison of Float with BigDecimal failed
from (irb):4:in >' from (irb):4 from /home/.../.rvm/src/rvm/rubies/ruby-2.1.0/bin/irb:11:in '`

and on version 2.0.0 :

2.0.0-p353 :001 > BigDecimal(0) < Float::INFINITY FloatDomainError: Infinity from (irb):1:in to_r'
from (irb):1:in <' from (irb):1 from /home/.../.rvm/src/rvm/gems/ruby-2.0.0-p353/gems/railties-4.1.1/lib/rails/commands/console.rb:90:in start'
from /home/.../.rvm/src/rvm/gems/ruby-2.0.0-p353/gems/railties-4.1.1/lib/rails/commands/console.rb:9:in start' from /home/.../.rvm/src/rvm/gems/ruby-2.0.0-p353/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:69:in console'
from /home/.../.rvm/src/rvm/gems/ruby-2.0.0-p353/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:40:in run_command!' from /home/.../.rvm/src/rvm/gems/ruby-2.0.0-p353/gems/railties-4.1.1/lib/rails/commands.rb:17:in <top (required)>'
from bin/rails:8:in require' from bin/rails:8:in '
2.0.0-p353 :002 > Float::INFINITY > BigDecimal(0)
=> true`

So there is a regression on Float.


Related issues 1 (0 open1 closed)

Has duplicate Ruby master - Bug #12414: FloatDomainError in infinite Range#include? for certain BigDecimalsClosedActions

Updated by mrkn (Kenta Murata) over 9 years ago

  • Category set to ext
  • Status changed from Open to Assigned
  • Assignee set to mrkn (Kenta Murata)
  • Target version set to 2.2.0
Actions #3

Updated by mrkn (Kenta Murata) over 7 years ago

  • Has duplicate Bug #12414: FloatDomainError in infinite Range#include? for certain BigDecimals added

Updated by mrkn (Kenta Murata) over 7 years ago

I found that this is fixed by r55123

Updated by mrkn (Kenta Murata) over 7 years ago

  • Status changed from Assigned to Closed
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0