https://bugs.ruby-lang.org/https://bugs.ruby-lang.org/favicon.ico?17097754782016-02-01T01:22:37ZRuby Issue Tracking SystemRuby master - Feature #12039: Fixnum#infinite?/Bignum#infinite or Numeric#infinte, consistent with Float#infinite? and BigDecimal#infinite?https://bugs.ruby-lang.org/issues/12039?journal_id=568142016-02-01T01:22:37Zioquatix (Samuel Williams)samuel@oriontransfer.net
<ul></ul><p>It might also make sense to consider if other "predicates" make sense, e.g. <code>nan?</code> They should be declared on Numeric with a default logical implementation where possible.</p> Ruby master - Feature #12039: Fixnum#infinite?/Bignum#infinite or Numeric#infinte, consistent with Float#infinite? and BigDecimal#infinite?https://bugs.ruby-lang.org/issues/12039?journal_id=568172016-02-01T03:11:26Zseantheprogrammer (Sean Griffin)sean@seantheprogrammer.com
<ul></ul><p>This is probably a useful method to be able to rely on universally, even if <code>Fixnum</code> and <code>Bignum</code> just return <code>false</code>.</p> Ruby master - Feature #12039: Fixnum#infinite?/Bignum#infinite or Numeric#infinte, consistent with Float#infinite? and BigDecimal#infinite?https://bugs.ruby-lang.org/issues/12039?journal_id=570732016-02-22T01:28:34Zshyouhei (Shyouhei Urabe)shyouhei@ruby-lang.org
<ul></ul><p>Another real-world use-case where I found Numeric#infinite? useful is JSON validation. Infinities are not allowed in JSON so a programmer want to filter them out before converting a Numeric into JSON, but that is not straight-forward right now. With this method it becomes much OO-ish.</p> Ruby master - Feature #12039: Fixnum#infinite?/Bignum#infinite or Numeric#infinte, consistent with Float#infinite? and BigDecimal#infinite?https://bugs.ruby-lang.org/issues/12039?journal_id=574862016-03-16T07:40:06Zmatz (Yukihiro Matsumoto)matz@ruby.or.jp
<ul></ul><p>Agreed. Add #finite? and #infinite?</p>
<p>Matz.</p> Ruby master - Feature #12039: Fixnum#infinite?/Bignum#infinite or Numeric#infinte, consistent with Float#infinite? and BigDecimal#infinite?https://bugs.ruby-lang.org/issues/12039?journal_id=574872016-03-16T08:28:24Znobu (Nobuyoshi Nakada)nobu@ruby-lang.org
<ul><li><strong>Tracker</strong> changed from <i>Bug</i> to <i>Feature</i></li></ul> Ruby master - Feature #12039: Fixnum#infinite?/Bignum#infinite or Numeric#infinte, consistent with Float#infinite? and BigDecimal#infinite?https://bugs.ruby-lang.org/issues/12039?journal_id=575832016-03-19T09:49:57Zmrkn (Kenta Murata)muraken@gmail.com
<ul></ul><p>What behavior is desirable for a Complex?</p> Ruby master - Feature #12039: Fixnum#infinite?/Bignum#infinite or Numeric#infinte, consistent with Float#infinite? and BigDecimal#infinite?https://bugs.ruby-lang.org/issues/12039?journal_id=575842016-03-19T09:54:37Zmrkn (Kenta Murata)muraken@gmail.com
<ul></ul><p>I think the following definition is acceptable for a Complex:</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="k">def</span> <span class="nf">inifinite?</span>
<span class="nb">self</span><span class="p">.</span><span class="nf">magnitude</span><span class="p">.</span><span class="nf">infinite?</span>
<span class="k">end</span>
</code></pre> Ruby master - Feature #12039: Fixnum#infinite?/Bignum#infinite or Numeric#infinte, consistent with Float#infinite? and BigDecimal#infinite?https://bugs.ruby-lang.org/issues/12039?journal_id=590252016-06-06T03:39:45Zioquatix (Samuel Williams)samuel@oriontransfer.net
<ul></ul><p>This looks good, do you think we can integrate this at some point? What do we need to do?</p> Ruby master - Feature #12039: Fixnum#infinite?/Bignum#infinite or Numeric#infinte, consistent with Float#infinite? and BigDecimal#infinite?https://bugs.ruby-lang.org/issues/12039?journal_id=595292016-07-07T03:02:11Zmrkn (Kenta Murata)muraken@gmail.com
<ul><li><strong>Assignee</strong> set to <i>mrkn (Kenta Murata)</i></li></ul> Ruby master - Feature #12039: Fixnum#infinite?/Bignum#infinite or Numeric#infinte, consistent with Float#infinite? and BigDecimal#infinite?https://bugs.ruby-lang.org/issues/12039?journal_id=596302016-07-17T14:53:05Zmrkn (Kenta Murata)muraken@gmail.com
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Closed</i></li></ul><p>Applied in changeset r55702.</p>
<hr>
<p>numeric.c, complex.c: Add finite? and infinite? consistent with Float</p>
<ul>
<li>
<p>numeric.c (num_finite_p, num_infinite_p): Add Numeric#finite? and<br>
Numeric#infinite? [Feature <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Fixnum#infinite?/Bignum#infinite or Numeric#infinte, consistent with Float#infinite? and BigDecim... (Closed)" href="https://bugs.ruby-lang.org/issues/12039">#12039</a>] <a href="/issues/12039">[ruby-core:73618]</a></p>
</li>
<li>
<p>complex.c (rb_complex_finite_p): Add Complex#finite?</p>
</li>
<li>
<p>complex.c (rb_complex_infinite_p): Add Complex#infinite?</p>
</li>
<li>
<p>test/ruby/test_bignum.rb: Add test for Integer#finite? and<br>
Integer#infinite?</p>
</li>
<li>
<p>test/ruby/test_fixnum.rb: ditto.</p>
</li>
<li>
<p>test/ruby/test_rational.rb: Add test for Rational#finite? and<br>
Rational#infinite?</p>
</li>
<li>
<p>test/ruby/test_complex.rb: Add test for Complex#finite? and<br>
Complex#infinite?</p>
</li>
</ul> Ruby master - Feature #12039: Fixnum#infinite?/Bignum#infinite or Numeric#infinte, consistent with Float#infinite? and BigDecimal#infinite?https://bugs.ruby-lang.org/issues/12039?journal_id=607392016-10-03T02:11:20Zioquatix (Samuel Williams)samuel@oriontransfer.net
<ul></ul><p>Thank you for your hard work :)</p> Ruby master - Feature #12039: Fixnum#infinite?/Bignum#infinite or Numeric#infinte, consistent with Float#infinite? and BigDecimal#infinite?https://bugs.ruby-lang.org/issues/12039?journal_id=622572016-12-27T00:17:08Zshyouhei (Shyouhei Urabe)shyouhei@ruby-lang.org
<ul><li><strong>Related to</strong> <i><a class="issue tracker-2 status-5 priority-4 priority-default closed" href="/issues/10641">Feature #10641</a>: Introduce Fixnum#finite? and Bignum#finite?</i> added</li></ul>