diff options
author | tadf <tadf@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-06-13 12:59:22 +0000 |
---|---|---|
committer | tadf <tadf@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-06-13 12:59:22 +0000 |
commit | 7de91a21ba0802ad1c9f702c1cea052ae722d9ad (patch) | |
tree | 7b1a2a4c34a1ba166038b7f921bdc535d9b40ddf | |
parent | ea4ead113e2ad111be3b3fc21acfc810510372bc (diff) | |
download | ruby-7de91a21ba0802ad1c9f702c1cea052ae722d9ad.tar.gz ruby-7de91a21ba0802ad1c9f702c1cea052ae722d9ad.tar.xz ruby-7de91a21ba0802ad1c9f702c1cea052ae722d9ad.zip |
* rational.c (nurat_equal_p): Rational(0,x) and 0 are equivalent,
anyway.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | rational.c | 6 |
2 files changed, 11 insertions, 0 deletions
@@ -1,3 +1,8 @@ +Fri Jun 13 21:55:48 2008 Tadayoshi Funaba <tadf@dotrb.org> + + * rational.c (nurat_equal_p): Rational(0,x) and 0 are equivalent, + anyway. + Fri Jun 13 21:26:39 2008 Tadayoshi Funaba <tadf@dotrb.org> * complex.c (string_to_c, nucomp_s_convert): preserve the current diff --git a/rational.c b/rational.c index d24195ac1..c81b89a4a 100644 --- a/rational.c +++ b/rational.c @@ -865,6 +865,9 @@ nurat_equal_p(VALUE self, VALUE other) { get_dat1(self); + if (f_zero_p(dat->num) && f_zero_p(other)) + return Qtrue; + if (!FIXNUM_P(dat->den)) return Qfalse; if (FIX2LONG(dat->den) != 1) @@ -879,6 +882,9 @@ nurat_equal_p(VALUE self, VALUE other) { get_dat2(self, other); + if (f_zero_p(adat->num) && f_zero_p(bdat->num)) + return Qtrue; + return f_boolcast(f_equal_p(adat->num, bdat->num) && f_equal_p(adat->den, bdat->den)); } |