Bug #10487

[PATCH 3/3] More than 3 arguments Passing to CMath.log doesn't make sense.

Added by gogotanaka (Kazuki Tanaka) almost 6 years ago. Updated over 5 years ago.

Target version:
ruby -v:


Hi, there.

I was wondering which is prefer reporting this issue as bugs or feature.
Finally I decided to report as bugs because I thought such a issue being totally unexpected can be called bugs.

Aside from that, let me show the before my patch and after my patch.


# => (NaN+Infinity*i)


# => ArgumentError: wrong number of arguments (9 for 1..2)

def log(z, b=E) may look little bit strange, but I assert for all num log(num) equal log(num, E)

and checking second argument passing or not takes pain.

Thanks. gogo.


modify_cmath.rb.patch (1.15 KB) modify_cmath.rb.patch gogotanaka (Kazuki Tanaka), 11/08/2014 07:50 PM
adjust_test_complex.rb.patch (955 Bytes) adjust_test_complex.rb.patch gogotanaka (Kazuki Tanaka), 11/08/2014 07:50 PM
update_NEWS.patch (629 Bytes) update_NEWS.patch gogotanaka (Kazuki Tanaka), 11/08/2014 07:50 PM
modify_cmath_rb_v2.patch (1.16 KB) modify_cmath_rb_v2.patch gogotanaka (Kazuki Tanaka), 01/27/2015 02:29 AM

Updated by gogotanaka (Kazuki Tanaka) almost 6 years ago

Only my concern is constant E can be overrided.

Updated by marcandre (Marc-Andre Lafortune) almost 6 years ago

Looks good. I would use ::Math::E instead of E for explicitness (I doubt anyone would defined CMath::E.
Also, bug fixes don't need a NEWS entry.

Updated by gogotanaka (Kazuki Tanaka) almost 6 years ago

@Marc-Andre Lafortune

sounds good, do I need to modify patch as you said?
If so, please feel free.

Updated by ayumin (Ayumu AIZAWA) almost 6 years ago

Hi Tanaka-san
Please post new patch which was applied Marc's review.
I would help you for assign the right person of ruby-core for this issue.

Updated by gogotanaka (Kazuki Tanaka) almost 6 years ago

@Ayumu AIZAWA san

Thank you so much! Here you are.


Updated by gogotanaka (Kazuki Tanaka) over 5 years ago

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

Applied in changeset r49729.

  • lib/cmath.rb (log): raise ArgumentError when more than 2 arguments are passed. [ruby-core:66143] [Bug #10487]

Also available in: Atom PDF