Project

General

Profile

This project is closed and read-only.

Actions

Backport #5319

closed

Problem backporting [ruby-dev:38672] to 1.8.7p334

Backport #5319: Problem backporting [ruby-dev:38672] to 1.8.7p334

Added by brixen (Brian Shirai) almost 15 years ago. Updated over 9 years ago.


Description

It appears that the change in [ruby-dev:38672] was not backported correctly to 1.8.7p334

comparison.rb

inf = 1.0/0.0
b = Float::MAX.to_i * 2

p(inf <=> b) # => should be 1
p(b <=> inf) # => should be -1

p(inf <=> (-b)) # => should be 1
p((-b) <=> inf) # => should be -1

p((-inf) <=> b) # should be -1
p(b <=> (-inf)) # should be 1

p((-inf) <=> (-b)) # should be -1
p((-b) <=> (-inf)) # should be 1

$ ruby1.9.2 -v comparison.rb
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin10.8.0]
1
-1
1
-1
-1
1
-1
1

$ ruby1.8.7 -v comparison.rb
ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-darwin10.8.0]
comparison.rb:4: warning: Bignum out of Float range
0
comparison.rb:5: warning: Bignum out of Float range
0
comparison.rb:7: warning: Bignum out of Float range
0
comparison.rb:8: warning: Bignum out of Float range
0
comparison.rb:10: warning: Bignum out of Float range
-1
comparison.rb:11: warning: Bignum out of Float range
1
comparison.rb:13: warning: Bignum out of Float range
-1
comparison.rb:14: warning: Bignum out of Float range
1

Thanks,
Brian


Related issues 1 (0 open1 closed)

Related to Ruby - Bug #1645: 大きな数の比較で正しくない結果になることがあるClosedActions

Updated by brixen (Brian Shirai) almost 15 years ago Actions #1 [ruby-core:39532]

On Tue, Sep 13, 2011 at 2:02 PM, Brian Ford wrote:

Issue #5319 has been reported by Brian Ford.


Backport #5319: Problem backporting [ruby-dev:38672] to 1.8.7p334
http://redmine.ruby-lang.org/issues/5319

Author: Brian Ford
Status: Open
Priority: Normal
Assignee:
Category:
Target version: Ruby 1.8.7

It appears that the change in [ruby-dev:38672] was not backported correctly to 1.8.7p334

This is also not corrected in p352.

Brian

comparison.rb

inf = 1.0/0.0
b = Float::MAX.to_i * 2

p(inf <=> b) # => should be 1
p(b <=> inf) # => should be -1

p(inf <=> (-b)) # => should be 1
p((-b) <=> inf) # => should be -1

p((-inf) <=> b) # should be -1
p(b <=> (-inf)) # should be 1

p((-inf) <=> (-b)) # should be -1
p((-b) <=> (-inf)) # should be 1

$ ruby1.9.2 -v comparison.rb
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin10.8.0]
1
-1
1
-1
-1
1
-1
1

$ ruby1.8.7 -v comparison.rb
ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-darwin10.8.0]
comparison.rb:4: warning: Bignum out of Float range
0
comparison.rb:5: warning: Bignum out of Float range
0
comparison.rb:7: warning: Bignum out of Float range
0
comparison.rb:8: warning: Bignum out of Float range
0
comparison.rb:10: warning: Bignum out of Float range
-1
comparison.rb:11: warning: Bignum out of Float range
1
comparison.rb:13: warning: Bignum out of Float range
-1
comparison.rb:14: warning: Bignum out of Float range
1

Thanks,
Brian

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

Updated by shyouhei (Shyouhei Urabe) almost 15 years ago Actions #2

  • Project changed from 2 to 5
  • Status changed from Open to Assigned
  • Assignee set to shyouhei (Shyouhei Urabe)
  • Target version deleted (Ruby 1.8.7)

Hmm. Thank you reporting. I'll take a look.

Updated by shyouhei (Shyouhei Urabe) almost 15 years ago Actions #3 [ruby-core:40168]

  • % Done changed from 0 to 50

Updated by shyouhei (Shyouhei Urabe) over 9 years ago Actions #4

  • Status changed from Assigned to Closed
Actions

Also available in: PDF Atom