From e615fa2637882d184a115a529d18e18f0b6bcabd Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 15 Feb 2016 05:15:33 +0000 Subject: bignum.c: micro optimization * bignum.c (rb_big_uminus, bigsub_int): use BIGNUM_NEGATE. * internal.h (BIGNUM_NEGATE): simplify negation. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- bignum.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'bignum.c') diff --git a/bignum.c b/bignum.c index 8f79713682..1f9dfb56aa 100644 --- a/bignum.c +++ b/bignum.c @@ -5526,7 +5526,7 @@ rb_big_uminus(VALUE x) { VALUE z = rb_big_clone(x); - BIGNUM_SET_SIGN(z, !BIGNUM_SIGN(x)); + BIGNUM_NEGATE(z); return bignorm(z); } @@ -5624,7 +5624,7 @@ bigsub_int(VALUE x, long y0) assert(xn == zn); num = (BDIGIT_DBL_SIGNED)xds[0] - y; if (xn == 1 && num < 0) { - BIGNUM_SET_SIGN(z, !BIGNUM_SIGN(x)); + BIGNUM_NEGATE(z); zds[0] = (BDIGIT)-num; RB_GC_GUARD(x); return bignorm(z); @@ -5687,7 +5687,7 @@ bigsub_int(VALUE x, long y0) assert(num == 0 || num == -1); if (num < 0) { get2comp(z); - BIGNUM_SET_SIGN(z, !BIGNUM_SIGN(x)); + BIGNUM_NEGATE(z); } RB_GC_GUARD(x); return bignorm(z); -- cgit v1.2.3