[ruby-core:78257] [Ruby trunk Bug#10109][Closed] BigDecimal fail to compare to Float::INFINITY

From: muraken@...
Date: 2016-11-22 16:58:09 UTC
List: ruby-core #78257
Issue #10109 has been updated by Kenta Murata.

Status changed from Assigned to Closed

----------------------------------------
Bug #10109: BigDecimal fail to compare to Float::INFINITY
https://bugs.ruby-lang.org/issues/10109#change-61623

* Author: Crypto Barbu
* Status: Closed
* 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
----------------------------------------
`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 `<main>'
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 `<main>'`

**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 `<main>'
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 `<main>'`

**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 `<main>'
2.0.0-p353 :002 > Float::INFINITY > BigDecimal(0)
 => true` 

So there is a regression on Float.



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

Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next