ruby-changes:24345
From: akr <ko1@a...>
Date: Mon, 16 Jul 2012 14:15:46 +0900 (JST)
Subject: [ruby-changes:24345] akr:r36396 (trunk): * bignum.c (enum big_op_t): new type.
akr 2012-07-16 14:15:36 +0900 (Mon, 16 Jul 2012) New Revision: 36396 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=36396 Log: * bignum.c (enum big_op_t): new type. (big_op): use enum big_op_t. (big_gt): ditto. (big_ge): ditto. (big_lt): ditto. (big_le): ditto. Modified files: trunk/ChangeLog trunk/bignum.c Index: ChangeLog =================================================================== --- ChangeLog (revision 36395) +++ ChangeLog (revision 36396) @@ -1,3 +1,12 @@ +Mon Jul 16 14:14:21 2012 Tanaka Akira <akr@f...> + + * bignum.c (enum big_op_t): new type. + (big_op): use enum big_op_t. + (big_gt): ditto. + (big_ge): ditto. + (big_lt): ditto. + (big_le): ditto. + Sat Jul 14 18:18:48 2012 Nobuyoshi Nakada <nobu@r...> * array.c (rb_get_values_at): fill with nil out of range. Index: bignum.c =================================================================== --- bignum.c (revision 36395) +++ bignum.c (revision 36396) @@ -1487,8 +1487,15 @@ (RBIGNUM_SIGN(x) ? INT2FIX(-1) : INT2FIX(1)); } +enum big_op_t { + big_op_gt, + big_op_ge, + big_op_lt, + big_op_le +}; + static VALUE -big_op(VALUE x, VALUE y, int op) +big_op(VALUE x, VALUE y, enum big_op_t op) { VALUE rel; int n; @@ -1516,10 +1523,10 @@ { ID id = 0; switch (op) { - case 0: id = '>'; break; - case 1: id = rb_intern(">="); break; - case 2: id = '<'; break; - case 3: id = rb_intern("<="); break; + case big_op_gt: id = '>'; break; + case big_op_ge: id = rb_intern(">="); break; + case big_op_lt: id = '<'; break; + case big_op_le: id = rb_intern("<="); break; } return rb_num_coerce_relop(x, y, id); } @@ -1529,10 +1536,10 @@ n = FIX2INT(rel); switch (op) { - case 0: return n > 0 ? Qtrue : Qfalse; - case 1: return n >= 0 ? Qtrue : Qfalse; - case 2: return n < 0 ? Qtrue : Qfalse; - case 3: return n <= 0 ? Qtrue : Qfalse; + case big_op_gt: return n > 0 ? Qtrue : Qfalse; + case big_op_ge: return n >= 0 ? Qtrue : Qfalse; + case big_op_lt: return n < 0 ? Qtrue : Qfalse; + case big_op_le: return n <= 0 ? Qtrue : Qfalse; } return Qundef; } @@ -1548,7 +1555,7 @@ static VALUE big_gt(VALUE x, VALUE y) { - return big_op(x, y, 0); + return big_op(x, y, big_op_gt); } /* @@ -1562,7 +1569,7 @@ static VALUE big_ge(VALUE x, VALUE y) { - return big_op(x, y, 1); + return big_op(x, y, big_op_ge); } /* @@ -1576,7 +1583,7 @@ static VALUE big_lt(VALUE x, VALUE y) { - return big_op(x, y, 2); + return big_op(x, y, big_op_lt); } /* @@ -1590,7 +1597,7 @@ static VALUE big_le(VALUE x, VALUE y) { - return big_op(x, y, 3); + return big_op(x, y, big_op_le); } /* -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/