aboutsummaryrefslogtreecommitdiff
path: root/src/share/classes/java/math/BigDecimal.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/share/classes/java/math/BigDecimal.java')
-rw-r--r--src/share/classes/java/math/BigDecimal.java21
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);
}
/**