Bug #5736

Numeric#quo should convert with #to_r

Added by John Firebaugh over 2 years ago. Updated 11 months ago.

[ruby-core:41575]
Status:Closed
Priority:Normal
Assignee:Kenta Murata
Category:-
Target version:-
ruby -v:ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin10.8.0] Backport:

Description

Numeric#quo currently constructs a Rational with self as the raw numerator, doing no coercion, before dividing. Instead it should follow the same pattern as Numeric#{numerator,denominator}, and convert self with #to_r. This allows any Numeric subclass to participate in the type conversion.

0001-numeric.c-num_quo-Convert-to-Rational-using-to_r.patch Magnifier - Patch (1.52 KB) John Firebaugh, 12/10/2011 06:17 AM

Associated revisions

Revision 41109
Added by Kenta Murata 11 months ago

  • numeric.c (numquo): Use tor method to convert the receiver to
    rational. [Bug #5736]

  • test/ruby/test_numeric.rb: add a test for the above change.

Revision 41132
Added by Kenta Murata 11 months ago

  • rational.c (numericquo): move numquo in numeric.c to numeric_quo
    in rational.c to refer canonicalization state for mathn support.
    [Bug #5736]

  • numeric.c (num_quo): ditto.

  • test/test_mathn.rb: add a test for the change at r41109.

History

#2 Updated by Koichi Sasada about 2 years ago

  • Assignee set to Kenta Murata

#3 Updated by Shyouhei Urabe about 2 years ago

  • Status changed from Open to Assigned

#4 Updated by Kenta Murata 11 months ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

This issue was solved with changeset r41109.
John, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


  • numeric.c (numquo): Use tor method to convert the receiver to
    rational. [Bug #5736]

  • test/ruby/test_numeric.rb: add a test for the above change.

Also available in: Atom PDF