diff options
Diffstat (limited to 'src/share/classes/java/math/BigDecimal.java')
-rw-r--r-- | src/share/classes/java/math/BigDecimal.java | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/src/share/classes/java/math/BigDecimal.java b/src/share/classes/java/math/BigDecimal.java index b7f6380948..d2a4492237 100644 --- a/src/share/classes/java/math/BigDecimal.java +++ b/src/share/classes/java/math/BigDecimal.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -3538,24 +3538,7 @@ public class BigDecimal extends Number implements Comparable<BigDecimal> { return expandBigIntegerTenPowers(n); } - if (n < 1024*524288) { - // BigInteger.pow is slow, so make 10**n by constructing a - // BigInteger from a character string (still not very fast) - // which occupies no more than 1GB (!) of memory. - char tenpow[] = new char[n + 1]; - tenpow[0] = '1'; - for (int i = 1; i <= n; i++) { - tenpow[i] = '0'; - } - return new BigInteger(tenpow, 1, tenpow.length); - } - - if ((n & 0x1) == 0x1) { - return BigInteger.TEN.multiply(bigTenToThe(n - 1)); - } else { - BigInteger tmp = bigTenToThe(n/2); - return tmp.multiply(tmp); - } + return BigInteger.TEN.pow(n); } /** |