diff options
Diffstat (limited to 'libjava/java/math')
-rw-r--r-- | libjava/java/math/BigInteger.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libjava/java/math/BigInteger.java b/libjava/java/math/BigInteger.java index ed1f4f0..d3fcb02 100644 --- a/libjava/java/math/BigInteger.java +++ b/libjava/java/math/BigInteger.java @@ -1401,11 +1401,13 @@ public class BigInteger extends Number implements Comparable realloc(d_len); if (count == 0) System.arraycopy(x.words, word_count, words, 0, d_len); - else - MPN.rshift(words, x.words, word_count, d_len, count); + else + { + MPN.rshift(words, x.words, word_count, d_len, count); + if (neg) + words[d_len-1] |= -1 << (32 - count); + } ival = d_len; - if (neg) - words[ival-1] |= -1 << (32 - count); } } } |