diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | numeric.c | 2 |
2 files changed, 5 insertions, 1 deletions
@@ -1,3 +1,7 @@ +Thu Jul 5 15:56:06 2007 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * numeric.c (int_pow): even number multiplication never be negative. + Thu Jul 5 10:42:07 2007 Nobuyoshi Nakada <nobu@ruby-lang.org> * include/ruby/{node,ruby}.h, ruby.c: added enum constants for gdb @@ -2304,7 +2304,7 @@ int_pow(long x, unsigned long y) z = xz; } } while (--y); - if (neg) z = -z; + if (neg && (y & 1)) z = -z; return LONG2NUM(z); } |