[#78633] ruby/spec needs help from CRuby committers — Benoit Daloze <eregontp@...>
Currently, ruby/spec is maintained mostly by individuals and enjoys the
13 messages
2016/12/13
[#78963] Re: ruby/spec needs help from CRuby committers
— Urabe Shyouhei <shyouhei@...>
2017/01/04
I did ask attendees of last developer meeting to join this
[#78642] Re: ruby/spec needs help from CRuby committers
— Eric Wong <normalperson@...>
2016/12/14
Benoit Daloze <eregontp@gmail.com> wrote:
[ruby-core:78574] [Ruby trunk Bug#9689][Closed] (BigDecimal + Float) no longer commutative due to #7176
From:
muraken@...
Date:
2016-12-10 07:19:08 UTC
List:
ruby-core #78574
Issue #9689 has been updated by Kenta Murata. Status changed from Assigned to Closed This is fixed in the latest master branch of [ruby/bigdecimal](https://github.com/ruby/bigdecimal). ---------------------------------------- Bug #9689: (BigDecimal + Float) no longer commutative due to #7176 https://bugs.ruby-lang.org/issues/9689#change-61959 * Author: Jay Freeman * Status: Closed * Priority: Normal * Assignee: Kenta Murata * ruby -v: ruby 2.0.0p299 (2013-08-29) [x86_64-linux-gnu] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- So, there was a bug filed a while back (#7176) about Rational + BigDecimal failing, despite BigDecimal + Rational working. https://bugs.ruby-lang.org/issues/7176 When this bug was fixed (in r37406), the new BigDecimal#+ also (I believe unnecessarily) converts Float to BigDecimal, making BigDecimal + Float return a BigDecimal despite Float + BigDecimal returning a Float. Given that work was put in to make BigDecimal + Rational commutative it seems like the same behavior should be in place for BigDecimal + Float: preferably, either both should be commutative, or neither should be commutative. (Please understand that I filed this as a "Bug", as this seems like a regression from the earlier behavior, but I would not at all quibble if someone decided that this should actually be classified as a "Feature" instead.) (BTW, while doing due diligence on this issue, I determined that there was a previous bug #2129 that was filed against Rational + BigDecimal years ago that has almost the same description as 7176. At the time, Rational + BigDecimal returned a Rational; I think this is the more correct behavior, because any BigDecimal can be represented as a Rational, but not all Rationals can be represented as a BigDecimal. As a concrete example, 1/9 has no BigDecimal representation. Given that this behavior has already changed before, it seems like a fix for the commutativity of Float+BigDecimal should probably also deal with this other problem.) https://bugs.ruby-lang.org/issues/2129 -- 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>