Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/jdk/java/math/BigDecimal/StrippingZerosTest.java
41149 views
1
/*
2
* Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation.
8
*
9
* This code is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
* version 2 for more details (a copy is included in the LICENSE file that
13
* accompanied this code).
14
*
15
* You should have received a copy of the GNU General Public License version
16
* 2 along with this work; if not, write to the Free Software Foundation,
17
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18
*
19
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20
* or visit www.oracle.com if you need additional information or have any
21
* questions.
22
*/
23
24
/*
25
* @test
26
* @bug 4108852
27
* @summary A few tests of stripTrailingZeros
28
* @run main StrippingZerosTest
29
* @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+EliminateAutoBox -XX:AutoBoxCacheMax=20000 StrippingZerosTest
30
* @author Joseph D. Darcy
31
*/
32
33
import java.math.*;
34
35
public class StrippingZerosTest {
36
public static void main(String argv[]) {
37
BigDecimal [][] testCases = {
38
{new BigDecimal("1.00000"), new BigDecimal("1")},
39
{new BigDecimal("1.000"), new BigDecimal("1")},
40
{new BigDecimal("1"), new BigDecimal("1")},
41
{new BigDecimal("0.1234"), new BigDecimal("0.1234")},
42
{new BigDecimal("0.12340"), new BigDecimal("0.1234")},
43
{new BigDecimal("0.12340000000"), new BigDecimal("0.1234")},
44
{new BigDecimal("1234.5678"), new BigDecimal("1234.5678")},
45
{new BigDecimal("1234.56780"), new BigDecimal("1234.5678")},
46
{new BigDecimal("1234.567800000"), new BigDecimal("1234.5678")},
47
{new BigDecimal("0"), new BigDecimal("0")},
48
{new BigDecimal("0e2"), BigDecimal.ZERO},
49
{new BigDecimal("0e-2"), BigDecimal.ZERO},
50
{new BigDecimal("0e42"), BigDecimal.ZERO},
51
{new BigDecimal("+0e42"), BigDecimal.ZERO},
52
{new BigDecimal("-0e42"), BigDecimal.ZERO},
53
{new BigDecimal("0e-42"), BigDecimal.ZERO},
54
{new BigDecimal("+0e-42"), BigDecimal.ZERO},
55
{new BigDecimal("-0e-42"), BigDecimal.ZERO},
56
{new BigDecimal("0e-2"), BigDecimal.ZERO},
57
{new BigDecimal("0e100"), BigDecimal.ZERO},
58
{new BigDecimal("0e-100"), BigDecimal.ZERO},
59
{new BigDecimal("10"), new BigDecimal("1e1")},
60
{new BigDecimal("20"), new BigDecimal("2e1")},
61
{new BigDecimal("100"), new BigDecimal("1e2")},
62
{new BigDecimal("1000000000"), new BigDecimal("1e9")},
63
{new BigDecimal("100000000e1"), new BigDecimal("1e9")},
64
{new BigDecimal("10000000e2"), new BigDecimal("1e9")},
65
{new BigDecimal("1000000e3"), new BigDecimal("1e9")},
66
{new BigDecimal("100000e4"), new BigDecimal("1e9")},
67
// BD value which larger than Long.MaxValue
68
{new BigDecimal("1.0000000000000000000000000000"), new BigDecimal("1")},
69
{new BigDecimal("-1.0000000000000000000000000000"), new BigDecimal("-1")},
70
{new BigDecimal("1.00000000000000000000000000001"), new BigDecimal("1.00000000000000000000000000001")},
71
{new BigDecimal("1000000000000000000000000000000e4"), new BigDecimal("1e34")},
72
};
73
74
for(int i = 0; i < testCases.length; i++) {
75
76
if (!(testCases[i][0]).stripTrailingZeros().equals(testCases[i][1])) {
77
throw new RuntimeException("For input " + testCases[i][0].toString() +
78
" did not received expected result " +
79
testCases[i][1].toString() + ", got " +
80
testCases[i][0].stripTrailingZeros());
81
}
82
83
testCases[i][0] = testCases[i][0].negate();
84
testCases[i][1] = testCases[i][1].negate();
85
86
if (!(testCases[i][0]).stripTrailingZeros().equals(testCases[i][1])) {
87
throw new RuntimeException("For input " + testCases[i][0].toString() +
88
" did not received expected result " +
89
testCases[i][1].toString() + ", got " +
90
testCases[i][0].stripTrailingZeros());
91
}
92
93
}
94
}
95
}
96
97