[#30589] [Bug #3391] Use single exclamation mark instead of double exclamation mark for IRB — Diego Viola <redmine@...>

Bug #3391: Use single exclamation mark instead of double exclamation mark for IRB

10 messages 2010/06/04

[#30672] [Bug #3411] Time.local 1916,5,1 #=> 1916-04-30 23:00:00 +0100 — Benoit Daloze <redmine@...>

Bug #3411: Time.local 1916,5,1 #=> 1916-04-30 23:00:00 +0100

12 messages 2010/06/08

[#30699] [Bug #3419] 1.9.2-preview3 possible bug with Rails 3 active_record sqlite_adapter — Joe Sak <redmine@...>

Bug #3419: 1.9.2-preview3 possible bug with Rails 3 active_record sqlite_adapter

9 messages 2010/06/09

[#30734] [Bug #3428] ri outputs ansi escape sequences even when stdout is not a tty — caleb clausen <redmine@...>

Bug #3428: ri outputs ansi escape sequences even when stdout is not a tty

11 messages 2010/06/11

[#30756] [Feature #3436] Spawn the timer thread lazily — Maximilian Gass <redmine@...>

Feature #3436: Spawn the timer thread lazily

15 messages 2010/06/13
[#32686] [Ruby 1.9-Feature#3436] Spawn the timer thread lazily — Mark Somerville <redmine@...> 2010/10/04

Issue #3436 has been updated by Mark Somerville.

[ruby-core:30735] [Bug #3429] Integer#**(large) warns "in a**b, b may be too big" and return Infinity

From: Benoit Daloze <redmine@...>
Date: 2010-06-11 13:36:33 UTC
List: ruby-core #30735
Bug #3429: Integer#**(large) warns "in a**b, b may be too big" and return Infinity
http://redmine.ruby-lang.org/issues/show/3429

Author: Benoit Daloze
Status: Open, Priority: Normal
Category: core, Target version: 1.9.2
ruby -v: ruby 1.9.3dev (2010-06-09) [x86_64-darwin10.3.0]

Hi,

Trying to do
int**some_large_number can result in
"warning: in a**b, b may be too big"
#=> Infinity
By example,
2**7830457

It is not good behavior, as we can make a workaround and it works perfectly:
# 7830457 = 2 * 37 * 105817 - 1
n = (((2 ** 105817) ** 37) ** 2) / 2 # => ...8739992577 which is the good number

I think it is not consistent to return Infinity when a correct answer can be given.
And Integer**Integer should always return an Integer (Infinity is a Float)

Also, while doing some tests about this I noticed that "bignum == Float::INFINITY" or "bignum.infinite?" hangs, while it should not, as it is always false.

See the script attached for some details and a (nonsense) implementation Integer#int_pow method which show it is possible to get better results.


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

In This Thread

Prev Next