[#71931] [Ruby trunk - Feature #11786] [Open] [PATCH] micro-optimize case dispatch even harder — normalperson@...

Issue #11786 has been reported by Eric Wong.

9 messages 2015/12/08

[ruby-core:72597] [Ruby trunk - Feature #10641] Introduce Fixnum#finite? and Bignum#finite?

From: prijutme4ty@...
Date: 2015-12-29 13:35:41 UTC
List: ruby-core #72597
Issue #10641 has been updated by Ilya Vorontsov.

Subject changed from Introduce Fixnum#finite? to Introduce Fixnum#finite? and Bignum#finite?
Description updated
Assignee set to ruby-core

----------------------------------------
Feature #10641: Introduce Fixnum#finite? and Bignum#finite?
https://bugs.ruby-lang.org/issues/10641#change-55845

* Author: Ilya Vorontsov
* Status: Open
* Priority: Normal
* Assignee: ruby-core
----------------------------------------
Hello,
I propose to introduce `Fixnum#finite?` and `Bignum#finite?` methods. Use case for this is following:

```ruby
Interval = Struct.new(:from, :to) do
  def finite?
    from.finite? && to.finite?
  end
end
```

For now this works:

```ruby
Interval.new(1.5, 1000.0).finite?
Interval.new(1.5, Float::INFINITY).finite?
```

But this fails due to absence of `Fixnum#finite?`:

```ruby
Interval.new(1, 3).finite?
Interval.new(1, Float::INFINITY).finite?
```

It looks natural that `Fixnum#finite?` should always return `true`. I didn't worked extensively with `Bignum`-s, but probably `Bignum#finite?` should also always be `true`.



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

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next