mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* complex.c (nucomp_div): raises ZeroDivisionError immediately
when the given second argument is zero. * rational.c (nurat_fdiv): never raise even if the given second argument is zero. * rational.c (rb_raise_zerodiv): changed the message (zero to 0). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
268432c51d
commit
0bd29ba216
3 changed files with 17 additions and 1 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
Sun Jun 28 23:32:11 2009 Tadayoshi Funaba <tadf@dotrb.org>
|
||||
|
||||
* complex.c (nucomp_div): raises ZeroDivisionError immediately
|
||||
when the given second argument is zero.
|
||||
|
||||
* rational.c (nurat_fdiv): never raise even if the given second
|
||||
argument is zero.
|
||||
|
||||
* rational.c (rb_raise_zerodiv): changed the message (zero to 0).
|
||||
|
||||
Sun Jun 28 22:25:07 2009 Tadayoshi Funaba <tadf@dotrb.org>
|
||||
|
||||
* complex.c (nucomp_expt): convert to a float when the given power
|
||||
|
|
|
@ -727,6 +727,8 @@ f_divide(VALUE self, VALUE other,
|
|||
return rb_num_coerce_bin(self, other, id);
|
||||
}
|
||||
|
||||
#define rb_raise_zerodiv() rb_raise(rb_eZeroDivError, "divided by 0")
|
||||
|
||||
/*
|
||||
* call-seq:
|
||||
* cmp / numeric -> complex
|
||||
|
@ -742,6 +744,8 @@ f_divide(VALUE self, VALUE other,
|
|||
static VALUE
|
||||
nucomp_div(VALUE self, VALUE other)
|
||||
{
|
||||
if (f_zero_p(other))
|
||||
rb_raise_zerodiv();
|
||||
return f_divide(self, other, f_quo, id_quo);
|
||||
}
|
||||
|
||||
|
|
|
@ -321,7 +321,7 @@ nurat_s_alloc(VALUE klass)
|
|||
return nurat_s_new_internal(klass, ZERO, ONE);
|
||||
}
|
||||
|
||||
#define rb_raise_zerodiv() rb_raise(rb_eZeroDivError, "divided by zero")
|
||||
#define rb_raise_zerodiv() rb_raise(rb_eZeroDivError, "divided by 0")
|
||||
|
||||
#if 0
|
||||
static VALUE
|
||||
|
@ -867,6 +867,8 @@ nurat_div(VALUE self, VALUE other)
|
|||
static VALUE
|
||||
nurat_fdiv(VALUE self, VALUE other)
|
||||
{
|
||||
if (f_zero_p(other))
|
||||
return f_div(self, f_to_f(other));
|
||||
return f_to_f(f_div(self, other));
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue