Bug #10109

BigDecimal fail to compare to Float::INFINITY

Added by Crypto Barbu 12 months ago. Updated 12 months ago.

[ruby-core:64190]
Status:Assigned
Priority:Normal
Assignee:Kenta Murata
ruby -v:ruby 2.2.0dev (2014-08-04 trunk 47060) [x86_64-linux] Backport:2.0.0: UNKNOWN, 2.1: UNKNOWN

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
'
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.

History

#1 Updated by Kenta Murata 12 months ago

  • Category set to ext
  • Status changed from Open to Assigned
  • Assignee set to Kenta Murata
  • Target version set to current: 2.2.0

Also available in: Atom PDF