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) over 9 years ago
Only my concern is constant E
can be overrided.
Updated by gogotanaka (Kazuki Tanaka) over 9 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) about 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) about 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]