Bug #10487
closed[PATCH 3/3] More than 3 arguments Passing to CMath.log doesn't make sense.
Description
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.
Before¶
CMath.log(1i,1,1,1,1,1,1,1,1)
# => (NaN+Infinity*i)
After¶
CMath.log(1i,1,1,1,1,1,1,1,1)
# => 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.
Files
Updated by gogotanaka (Kazuki Tanaka) almost 10 years ago
Only my concern is constant E
can be overrided.
Updated by gogotanaka (Kazuki Tanaka) almost 10 years ago
Associated revision 10255
Updated by marcandre (Marc-Andre Lafortune) over 9 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) over 9 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) over 9 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.
Regards.
Updated by gogotanaka (Kazuki Tanaka) over 9 years ago
- File modify_cmath_rb_v2.patch modify_cmath_rb_v2.patch added
@Ayumu AIZAWA san
Thank you so much! Here you are.
Updated by gogotanaka (Kazuki Tanaka) over 9 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]