1f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* GENERATED SOURCE. DO NOT MODIFY. */
2f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert// © 2016 and later: Unicode, Inc. and others.
3f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert// License & terms of use: http://www.unicode.org/copyright.html#License
4f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/*
5f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert *******************************************************************************
6f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * Copyright (C) 2000-2015, International Business Machines Corporation and
7f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * others. All Rights Reserved.
8f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert *******************************************************************************
9f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert */
10f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* Generated from 'DiagBigDecimal.nrx' 27 Mar 2000 22:38:44 [v1.162] */
11f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* Options: Binary Comments Crossref Format Java Logo Trace1 Verbose3 */
12f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* The generated code has been manually modified. */
13f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubertpackage android.icu.dev.test.bigdec;
14f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
15f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubertimport java.math.BigInteger;
16f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
17f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubertimport org.junit.Test;
18f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
19f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubertimport android.icu.dev.test.TestFmwk;
20f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubertimport android.icu.dev.test.TestUtil;
21f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubertimport android.icu.dev.test.TestUtil.JavaVendor;
22f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubertimport android.icu.math.BigDecimal;
23f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
24f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* ------------------------------------------------------------------ */
25f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* Decimal diagnostic tests mfc */
26f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* Copyright (c) IBM Corporation 1996-2010. All Rights Reserved. */
27f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* ------------------------------------------------------------------ */
28f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* DiagBigDecimal */
29f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/*                                                                    */
30f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* A class that tests the BigDecimal and MathContext classes. */
31f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/*                                                                    */
32f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* The tests here are derived from or cover the same paths as: */
33f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* -- ANSI X3-274 testcases */
34f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* -- Java JCK testcases */
35f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* -- NetRexx testcases */
36f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* -- VM/CMS S/370 REXX implementation testcases [1981+] */
37f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* -- IBM Vienna Laboratory Rexx compiler testcases [1988+] */
38f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* -- New testcases */
39f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/*                                                                    */
40f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* The authoritative sources for how the underlying technology */
41f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* (arithmetic) should work are: */
42f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* -- for digits=0 (fixed point): java.math.BigDecimal */
43f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* -- for digits>0 (floating point): ANSI X3.274-1996 + errata */
44f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/*                                                                    */
45f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* ------------------------------------------------------------------ */
46f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* Change list */
47f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 1997.09.05 Initial implementation, from DiagRexx [NetRexx tests] */
48f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 1998.05.02 0.07 changes (e.g., compareTo) */
49f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 1998.06.06 Rounding modes and format additions */
50f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 1998.06.25 Rename from DiagDecimal; make stand-alone [add */
51f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* DiagException as a Minor class] */
52f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 1998.06.27 Start adding testcases for DIGITS=0/FORM=PLAIN cases */
53f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* Reorganize for faster trace compilation */
54f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 1998.06.28 new: valueof, scale, movePointX, unscaledValue, etc. */
55f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 1998.07.07 Scaled divide */
56f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 1998.07.08 setScale */
57f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 1998.07.15 new scaffolding (Minor Test class) -- see diagabs */
58f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 1998.12.14 add toBigDecimal and BigDecimal(java.math.BigDecimal) */
59f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 1999.02.04 number preparation rounds instead of digits+1 trunc */
60f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 1999.02.09 format method now only has two signatures */
61f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 1999.02.27 no longer use Rexx class or RexxIO class */
62f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 1999.03.05 add MathContext tests */
63f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 1999.03.05 update for 0.96 [no null settings, etc.] */
64f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* drop sundry constructors; no blanks; char[] gets ints */
65f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* drop sundry converters, add Exact converters */
66f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 1999.05.27 additional tests for scaled arithmetic */
67f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 1999.06.29 additional tests for exponent overflows */
68f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 1999.07.03 add 'continue' option */
69f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 1999.07.10 additional tests for scaled arithmetic */
70f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 1999.07.18 randomly-generated tests added for base operators */
71f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 1999.10.28 weird intValueExact bad cases */
72f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 1999.12.21 multiplication fast path failure and edge cases */
73f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 2000.01.01 copyright update */
74f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 2000.03.26 cosmetic updates; add extra format() testcases */
75f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* 2000.03.27 1.00 move to android.icu.math package; open source release; */
76f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* change to javadoc comments */
77f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/* ------------------------------------------------------------------ */
78f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
79f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert// note BINARY for conversions checking
80f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
81f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert/**
82f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * The <code>DiagBigDecimal</code> class forms a standalone test suite for the
83f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * <code>android.icu.math.BigDecimal</code> and
84f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * <code>android.icu.math.MathContext</code> classes (or, by changing the
85f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * <code>package</code> statement, other classes of the same names and
86f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * definition in other packages). It may also be used as a constructed object to
87f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * embed the tests in an external test harness.
88f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * <p>
89f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * The tests are collected into <i>groups</i>, each corresponding to a tested
90f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * method or a more general grouping. By default, when run from the static
91f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * {@link #main(java.lang.String[])} method, the run will end if any test fails
92f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * in a group. The <code>continue</code> argument may be specified to force
93f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * the tests to run to completion.
94f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert *
95f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * @see android.icu.math.BigDecimal
96f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * @see android.icu.math.MathContext
97f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * @version 1.00 2000.03.27
98f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * @author Mike Cowlishaw
99f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert */
100f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
101f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubertpublic class DiagBigDecimalTest extends TestFmwk {
102f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final android.icu.math.BigDecimal zero = android.icu.math.BigDecimal.ZERO;
103f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final android.icu.math.BigDecimal one = android.icu.math.BigDecimal.ONE;
104f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final android.icu.math.BigDecimal two = new android.icu.math.BigDecimal(2);
105f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final android.icu.math.BigDecimal ten = android.icu.math.BigDecimal.TEN;
106f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final android.icu.math.BigDecimal tenlong = new android.icu.math.BigDecimal((long) 1234554321); // 10-digiter
107f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
108f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* Some context objects -- [some of these are checked later] */
109f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final android.icu.math.MathContext mcdef = android.icu.math.MathContext.DEFAULT;
110f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final android.icu.math.MathContext mc3 = new android.icu.math.MathContext(3);
111f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final android.icu.math.MathContext mc6 = new android.icu.math.MathContext(6);
112f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final android.icu.math.MathContext mc9 = new android.icu.math.MathContext(9);
113f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final android.icu.math.MathContext mc50 = new android.icu.math.MathContext(50);
114f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final android.icu.math.MathContext mcs = new android.icu.math.MathContext(9, android.icu.math.MathContext.SCIENTIFIC);
115f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final android.icu.math.MathContext mce = new android.icu.math.MathContext(9, android.icu.math.MathContext.ENGINEERING);
116f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final android.icu.math.MathContext mcld = new android.icu.math.MathContext(9, android.icu.math.MathContext.SCIENTIFIC, true); // lost digits
117f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final android.icu.math.MathContext mcld0 = new android.icu.math.MathContext(0, android.icu.math.MathContext.SCIENTIFIC, true); // lost digits, digits=0
118f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final android.icu.math.MathContext mcfd = new android.icu.math.MathContext(0, android.icu.math.MathContext.PLAIN); // fixed decimal style
119f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
120f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* boundary primitive values */
121f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final byte bmin = -128;
122f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final byte bmax = 127;
123f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final byte bzer = 0;
124f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final byte bneg = -1;
125f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final byte bpos = 1;
126f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final int imin = -2147483648;
127f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final int imax = 2147483647;
128f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final int izer = 0;
129f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final int ineg = -1;
130f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final int ipos = 1;
131f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final long lmin = -9223372036854775808L;
132f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final long lmax = 9223372036854775807L;
133f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final long lzer = 0;
134f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final long lneg = -1;
135f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final long lpos = 1;
136f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final short smin = -32768;
137f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final short smax = 32767;
138f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final short szer = (short) 0;
139f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final short sneg = (short) (-1);
140f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static final short spos = (short) 1;
141f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
142f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /**
143f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     * Constructs a <code>DiagBigDecimal</code> test suite.
144f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     * <p>
145f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     * Invoke its {@link #diagrun} method to run the tests.
146f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     */
147f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
148f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public DiagBigDecimalTest() {
149f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        super();
150f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
151f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
152f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    static final boolean isJDK15OrLater =
153f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            TestUtil.getJavaVendor() == JavaVendor.Android ||
154f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            TestUtil.getJavaVersion() >= 5;
155f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
156f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
157f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /*--------------------------------------------------------------------*/
158f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* Diagnostic group methods */
159f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /*--------------------------------------------------------------------*/
160f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
161f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test constructors (and {@link #toString()} for equalities). */
162f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
163f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagconstructors() {
164f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        boolean flag = false;
165f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.String num;
166f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.math.BigInteger bip;
167f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.math.BigInteger biz;
168f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.math.BigInteger bin;
169f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal bda;
170f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal bdb;
171f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal bmc;
172f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal bmd;
173f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal bme;
174f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.RuntimeException e = null;
175f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        char ca[];
176f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        double dzer;
177f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        double dpos;
178f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        double dneg;
179f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        double dpos5;
180f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        double dneg5;
181f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        double dmin;
182f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        double dmax;
183f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        double d;
184f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.String badstrings[];
185f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        int i = 0;
186f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
187f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // constants [statically-called constructors]
188f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("con001", (android.icu.math.BigDecimal.ZERO.toString()).equals("0"));
189f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("con002", (android.icu.math.BigDecimal.ONE.toString()).equals("1"));
190f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("con003", (android.icu.math.BigDecimal.TEN.toString()).equals("10"));
191f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("con004", (android.icu.math.BigDecimal.ZERO.intValueExact()) == 0);
192f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("con005", (android.icu.math.BigDecimal.ONE.intValueExact()) == 1);
193f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("con006", (android.icu.math.BigDecimal.TEN.intValueExact()) == 10);
194f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
195f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // [java.math.] BigDecimal
196f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbd001", ((new android.icu.math.BigDecimal(new java.math.BigDecimal("0"))).toString()).equals("0"));
197f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbd002", ((new android.icu.math.BigDecimal(new java.math.BigDecimal("1"))).toString()).equals("1"));
198f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbd003", ((new android.icu.math.BigDecimal(new java.math.BigDecimal("10"))).toString()).equals("10"));
199f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbd004", ((new android.icu.math.BigDecimal(new java.math.BigDecimal("1000"))).toString()).equals("1000"));
200f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbd005", ((new android.icu.math.BigDecimal(new java.math.BigDecimal("10.0"))).toString()).equals("10.0"));
201f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbd006", ((new android.icu.math.BigDecimal(new java.math.BigDecimal("10.1"))).toString()).equals("10.1"));
202f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbd007", ((new android.icu.math.BigDecimal(new java.math.BigDecimal("-1.1"))).toString()).equals("-1.1"));
203f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbd008", ((new android.icu.math.BigDecimal(new java.math.BigDecimal("-9.0"))).toString()).equals("-9.0"));
204f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbd009", ((new android.icu.math.BigDecimal(new java.math.BigDecimal("0.9"))).toString()).equals("0.9"));
205f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
206f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        num = "123456789.123456789";
207f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbd010", ((new android.icu.math.BigDecimal(new java.math.BigDecimal(num))).toString()).equals(num));
208f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        num = "123456789.000000000";
209f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbd011", ((new android.icu.math.BigDecimal(new java.math.BigDecimal(num))).toString()).equals(num));
210f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        num = "123456789000000000";
211f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbd012", ((new android.icu.math.BigDecimal(new java.math.BigDecimal(num))).toString()).equals(num));
212f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        num = "0.00000123456789";
213f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbd013", ((new android.icu.math.BigDecimal(new java.math.BigDecimal(num))).toString()).equals(num));
214f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        num = "0.000000123456789";
215f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
216f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // ignore format change issues with 1.5
217f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        if (!isJDK15OrLater)
218f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            TestFmwk.assertTrue("cbd014", ((new android.icu.math.BigDecimal(new java.math.BigDecimal(num))).toString()).equals(num));
219f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
220f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
221f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            new android.icu.math.BigDecimal((java.math.BigDecimal) null);
222f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
223f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $3) {
224f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
225f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull */
226f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbi015", flag);
227f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
228f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // BigInteger
229f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        bip = new BigInteger("987654321987654321987654321"); // biggie +ve
230f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        biz = new BigInteger("0"); // biggie 0
231f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        bin = new BigInteger("-12345678998765432112345678"); // biggie -ve
232f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbi001", ((new android.icu.math.BigDecimal(bip)).toString()).equals(bip.toString()));
233f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbi002", ((new android.icu.math.BigDecimal(biz)).toString()).equals("0"));
234f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbi003", ((new android.icu.math.BigDecimal(bin)).toString()).equals(bin.toString()));
235f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
236f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            new android.icu.math.BigDecimal((java.math.BigInteger) null);
237f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
238f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $4) {
239f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
240f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull */
241f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbi004", flag);
242f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
243f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // BigInteger with scale
244f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        bip = new BigInteger("123456789"); // bigish
245f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        bda = new android.icu.math.BigDecimal(bip);
246f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        bdb = new android.icu.math.BigDecimal(bip, 5);
247f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        bmc = new android.icu.math.BigDecimal(bip, 15);
248f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbs001", (bda.toString()).equals("123456789"));
249f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbs002", (bdb.toString()).equals("1234.56789"));
250f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbs003", (bmc.toString()).equals("0.000000123456789"));
251f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        bip = new BigInteger("123456789123456789123456789"); // biggie
252f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        bda = new android.icu.math.BigDecimal(bip);
253f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        bdb = new android.icu.math.BigDecimal(bip, 7);
254f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        bmc = new android.icu.math.BigDecimal(bip, 13);
255f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        bmd = new android.icu.math.BigDecimal(bip, 19);
256f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        bme = new android.icu.math.BigDecimal(bip, 29);
257f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbs011", (bda.toString()).equals("123456789123456789123456789"));
258f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbs012", (bdb.toString()).equals("12345678912345678912.3456789"));
259f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbs013", (bmc.toString()).equals("12345678912345.6789123456789"));
260f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbs014", (bmd.toString()).equals("12345678.9123456789123456789"));
261f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbs015", (bme.toString()).equals("0.00123456789123456789123456789"));
262f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
263f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            new android.icu.math.BigDecimal((java.math.BigInteger) null, 1);
264f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
265f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $5) {
266f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
267f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull */
268f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbs004", flag);
269f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
270f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            new android.icu.math.BigDecimal(bip, -8);
271f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
272f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.RuntimeException $6) {
273f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            e = $6;
274f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (e.getMessage()).equals("Negative scale: -8");
275f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkscale */
276f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cbs005", flag);
277f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
278f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // char[]
279f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // We just test it's there
280f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // Functionality is tested by BigDecimal(String).
281f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        ca = ("123.45").toCharArray();
282f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca001", ((new android.icu.math.BigDecimal(ca)).toString()).equals("123.45"));
283f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
284f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            new android.icu.math.BigDecimal((char[]) null);
285f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
286f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $7) {
287f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
288f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull */
289f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca010", flag);
290f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
291f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // char[],int,int
292f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // We just test it's there, and that offsets work.
293f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // Functionality is tested by BigDecimal(String).
294f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        ca = ("123.45").toCharArray();
295f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca101", ((new android.icu.math.BigDecimal(ca, 0, 6)).toString()).equals("123.45"));
296f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca102", ((new android.icu.math.BigDecimal(ca, 1, 5)).toString()).equals("23.45"));
297f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca103", ((new android.icu.math.BigDecimal(ca, 2, 4)).toString()).equals("3.45"));
298f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca104", ((new android.icu.math.BigDecimal(ca, 3, 3)).toString()).equals("0.45"));
299f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca105", ((new android.icu.math.BigDecimal(ca, 4, 2)).toString()).equals("45"));
300f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca106", ((new android.icu.math.BigDecimal(ca, 5, 1)).toString()).equals("5"));
301f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
302f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca110", ((new android.icu.math.BigDecimal(ca, 0, 1)).toString()).equals("1"));
303f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca111", ((new android.icu.math.BigDecimal(ca, 1, 1)).toString()).equals("2"));
304f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca112", ((new android.icu.math.BigDecimal(ca, 2, 1)).toString()).equals("3"));
305f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca113", ((new android.icu.math.BigDecimal(ca, 4, 1)).toString()).equals("4"));
306f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
307f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca120", ((new android.icu.math.BigDecimal(ca, 0, 2)).toString()).equals("12"));
308f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca121", ((new android.icu.math.BigDecimal(ca, 1, 2)).toString()).equals("23"));
309f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca122", ((new android.icu.math.BigDecimal(ca, 2, 2)).toString()).equals("3"));
310f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca123", ((new android.icu.math.BigDecimal(ca, 3, 2)).toString()).equals("0.4"));
311f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
312f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca130", ((new android.icu.math.BigDecimal(ca, 0, 3)).toString()).equals("123"));
313f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca131", ((new android.icu.math.BigDecimal(ca, 1, 3)).toString()).equals("23"));
314f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca132", ((new android.icu.math.BigDecimal(ca, 2, 3)).toString()).equals("3.4"));
315f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
316f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca140", ((new android.icu.math.BigDecimal(ca, 0, 4)).toString()).equals("123"));
317f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca141", ((new android.icu.math.BigDecimal(ca, 1, 4)).toString()).equals("23.4"));
318f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
319f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca150", ((new android.icu.math.BigDecimal(ca, 0, 5)).toString()).equals("123.4"));
320f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
321f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // a couple of oddies
322f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        ca = ("x23.4x").toCharArray();
323f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca160", ((new android.icu.math.BigDecimal(ca, 1, 4)).toString()).equals("23.4"));
324f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca161", ((new android.icu.math.BigDecimal(ca, 1, 1)).toString()).equals("2"));
325f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca162", ((new android.icu.math.BigDecimal(ca, 4, 1)).toString()).equals("4"));
326f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
327f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        ca = ("0123456789.9876543210").toCharArray();
328f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca163", ((new android.icu.math.BigDecimal(ca, 0, 21)).toString()).equals("123456789.9876543210"));
329f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca164", ((new android.icu.math.BigDecimal(ca, 1, 20)).toString()).equals("123456789.9876543210"));
330f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca165", ((new android.icu.math.BigDecimal(ca, 2, 19)).toString()).equals("23456789.9876543210"));
331f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca166", ((new android.icu.math.BigDecimal(ca, 2, 18)).toString()).equals("23456789.987654321"));
332f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca167", ((new android.icu.math.BigDecimal(ca, 2, 17)).toString()).equals("23456789.98765432"));
333f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca168", ((new android.icu.math.BigDecimal(ca, 2, 16)).toString()).equals("23456789.9876543"));
334f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
335f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
336f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            new android.icu.math.BigDecimal((char[]) null, 0, 1);
337f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
338f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $8) {
339f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
340f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull */
341f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca200", flag);
342f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
343f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
344f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            new android.icu.math.BigDecimal("123".toCharArray(), 0, 0);
345f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
346f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NumberFormatException $9) {
347f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
348f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checklen */
349f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca201", flag);
350f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
351f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
352f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            new android.icu.math.BigDecimal("123".toCharArray(), 2, 4);
353f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
354f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.RuntimeException $10) { // anything OK
355f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
356f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkbound */
357f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca202", flag);
358f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
359f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            new android.icu.math.BigDecimal("123".toCharArray(), -1, 2);
360f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
361f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.RuntimeException $11) { // anything OK
362f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
363f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkbound2 */
364f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca203", flag);
365f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
366f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            new android.icu.math.BigDecimal("123".toCharArray(), 1, -2);
367f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
368f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.RuntimeException $12) { // anything OK
369f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
370f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkbound3 */
371f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cca204", flag);
372f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
373f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // double [deprecated]
374f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // Note that many of these differ from the valueOf(double) results.
375f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        dzer = 0;
376f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        dpos = 1;
377f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        dpos = dpos / (10);
378f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        dneg = -dpos;
379f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cdo001", ((new android.icu.math.BigDecimal(dneg)).toString()).equals("-0.1000000000000000055511151231257827021181583404541015625"));
380f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
381f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cdo002", ((new android.icu.math.BigDecimal(dzer)).toString()).equals("0")); // NB, not '0.0'
382f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cdo003", ((new android.icu.math.BigDecimal(dpos)).toString()).equals("0.1000000000000000055511151231257827021181583404541015625"));
383f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
384f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        dpos5 = 0.5D;
385f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        dneg5 = -dpos5;
386f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cdo004", ((new android.icu.math.BigDecimal(dneg5)).toString()).equals("-0.5"));
387f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cdo005", ((new android.icu.math.BigDecimal(dpos5)).toString()).equals("0.5"));
388f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        dmin = java.lang.Double.MIN_VALUE;
389f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        dmax = java.lang.Double.MAX_VALUE;
390f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        if (!isJDK15OrLater) // for some reason we format using scientific
391f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                                // notation on 1.5 after 30 decimals or so
392f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            TestFmwk.assertTrue("cdo006", ((new android.icu.math.BigDecimal(dmin)).toString()).equals("0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844753335720832431936092382893458368060106011506169809753078342277318329247904982524730776375927247874656084778203734469699533647017972677717585125660551199131504891101451037862738167250955837389733598993664809941164205702637090279242767544565229087538682506419718265533447265625"));
393f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
394f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cdo007", ((new android.icu.math.BigDecimal(dmax)).toString()).equals("179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368"));
395f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
396f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // nasties
397f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = 9;
398f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = d / (10);
399f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cdo010", ((new android.icu.math.BigDecimal(d)).toString()).equals("0.90000000000000002220446049250313080847263336181640625"));
400f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
401f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = d / (10);
402f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cdo011", ((new android.icu.math.BigDecimal(d)).toString()).equals("0.0899999999999999966693309261245303787291049957275390625"));
403f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
404f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = d / (10);
405f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cdo012", ((new android.icu.math.BigDecimal(d)).toString()).equals("0.00899999999999999931998839741709161899052560329437255859375"));
406f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
407f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = d / (10);
408f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cdo013", ((new android.icu.math.BigDecimal(d)).toString()).equals("0.00089999999999999997536692664112933925935067236423492431640625"));
409f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
410f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = d / (10);
411f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cdo014", ((new android.icu.math.BigDecimal(d)).toString()).equals("0.00008999999999999999211568180168541175589780323207378387451171875"));
412f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
413f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = d / (10);
414f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cdo015", ((new android.icu.math.BigDecimal(d)).toString()).equals("0.00000899999999999999853394182236510090433512232266366481781005859375"));
415f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
416f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = d / (10);
417f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        if (!isJDK15OrLater)
418f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            TestFmwk.assertTrue("cdo016", ((new android.icu.math.BigDecimal(d)).toString()).equals("0.000000899999999999999853394182236510090433512232266366481781005859375"));
419f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
420f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = d / (10);
421f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        if (!isJDK15OrLater)
422f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            TestFmwk.assertTrue("cdo017", ((new android.icu.math.BigDecimal(d)).toString()).equals("0.0000000899999999999999853394182236510090433512232266366481781005859375"));
423f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
424f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = d / (10);
425f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        if (!isJDK15OrLater)
426f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            TestFmwk.assertTrue("cdo018", ((new android.icu.math.BigDecimal(d)).toString()).equals("0.000000008999999999999997872197332322678764437995369007694534957408905029296875"));
427f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
428f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
429f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            new android.icu.math.BigDecimal(
430f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    java.lang.Double.POSITIVE_INFINITY);
431f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
432f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NumberFormatException $13) {
433f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
434f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkpin */
435f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cdo101", flag);
436f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
437f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            new android.icu.math.BigDecimal(
438f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    java.lang.Double.NEGATIVE_INFINITY);
439f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
440f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NumberFormatException $14) {
441f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
442f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknin */
443f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cdo102", flag);
444f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
445f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            new android.icu.math.BigDecimal(java.lang.Double.NaN);
446f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
447f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NumberFormatException $15) {
448f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
449f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknan */
450f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cdo103", flag);
451f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
452f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // int
453f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cin001", ((new android.icu.math.BigDecimal(imin)).toString()).equals("-2147483648"));
454f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cin002", ((new android.icu.math.BigDecimal(imax)).toString()).equals("2147483647"));
455f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cin003", ((new android.icu.math.BigDecimal(ineg)).toString()).equals("-1"));
456f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cin004", ((new android.icu.math.BigDecimal(izer)).toString()).equals("0"));
457f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cin005", ((new android.icu.math.BigDecimal(ipos)).toString()).equals("1"));
458f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cin006", ((new android.icu.math.BigDecimal(10)).toString()).equals("10"));
459f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cin007", ((new android.icu.math.BigDecimal(9)).toString()).equals("9"));
460f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cin008", ((new android.icu.math.BigDecimal(5)).toString()).equals("5"));
461f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cin009", ((new android.icu.math.BigDecimal(2)).toString()).equals("2"));
462f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cin010", ((new android.icu.math.BigDecimal(-2)).toString()).equals("-2"));
463f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cin011", ((new android.icu.math.BigDecimal(-5)).toString()).equals("-5"));
464f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cin012", ((new android.icu.math.BigDecimal(-9)).toString()).equals("-9"));
465f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cin013", ((new android.icu.math.BigDecimal(-10)).toString()).equals("-10"));
466f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cin014", ((new android.icu.math.BigDecimal(-11)).toString()).equals("-11"));
467f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cin015", ((new android.icu.math.BigDecimal(-99)).toString()).equals("-99"));
468f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cin016", ((new android.icu.math.BigDecimal(-100)).toString()).equals("-100"));
469f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cin017", ((new android.icu.math.BigDecimal(-999)).toString()).equals("-999"));
470f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cin018", ((new android.icu.math.BigDecimal(-1000)).toString()).equals("-1000"));
471f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
472f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cin019", ((new android.icu.math.BigDecimal(11)).toString()).equals("11"));
473f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cin020", ((new android.icu.math.BigDecimal(99)).toString()).equals("99"));
474f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cin021", ((new android.icu.math.BigDecimal(100)).toString()).equals("100"));
475f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cin022", ((new android.icu.math.BigDecimal(999)).toString()).equals("999"));
476f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cin023", ((new android.icu.math.BigDecimal(1000)).toString()).equals("1000"));
477f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
478f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // long
479f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("clo001", ((new android.icu.math.BigDecimal(lmin)).toString()).equals("-9223372036854775808"));
480f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("clo002", ((new android.icu.math.BigDecimal(lmax)).toString()).equals("9223372036854775807"));
481f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("clo003", ((new android.icu.math.BigDecimal(lneg)).toString()).equals("-1"));
482f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("clo004", ((new android.icu.math.BigDecimal(lzer)).toString()).equals("0"));
483f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("clo005", ((new android.icu.math.BigDecimal(lpos)).toString()).equals("1"));
484f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
485f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // String [many more examples are elsewhere]
486f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // strings without E cannot generate E in result
487f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst001", ((new android.icu.math.BigDecimal("12")).toString()).equals("12"));
488f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst002", ((new android.icu.math.BigDecimal("-76")).toString()).equals("-76"));
489f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst003", ((new android.icu.math.BigDecimal("12.76")).toString()).equals("12.76"));
490f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst004", ((new android.icu.math.BigDecimal("+12.76")).toString()).equals("12.76"));
491f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst005", ((new android.icu.math.BigDecimal("012.76")).toString()).equals("12.76"));
492f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst006", ((new android.icu.math.BigDecimal("+0.003")).toString()).equals("0.003"));
493f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst007", ((new android.icu.math.BigDecimal("17.")).toString()).equals("17"));
494f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst008", ((new android.icu.math.BigDecimal(".5")).toString()).equals("0.5"));
495f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst009", ((new android.icu.math.BigDecimal("044")).toString()).equals("44"));
496f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst010", ((new android.icu.math.BigDecimal("0044")).toString()).equals("44"));
497f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst011", ((new android.icu.math.BigDecimal("0.0005")).toString()).equals("0.0005"));
498f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst012", ((new android.icu.math.BigDecimal("00.00005")).toString()).equals("0.00005"));
499f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst013", ((new android.icu.math.BigDecimal("0.000005")).toString()).equals("0.000005"));
500f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst014", ((new android.icu.math.BigDecimal("0.0000005")).toString()).equals("0.0000005")); // \NR
501f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst015", ((new android.icu.math.BigDecimal("0.00000005")).toString()).equals("0.00000005")); // \NR
502f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst016", ((new android.icu.math.BigDecimal("12345678.876543210")).toString()).equals("12345678.876543210"));
503f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst017", ((new android.icu.math.BigDecimal("2345678.876543210")).toString()).equals("2345678.876543210"));
504f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst018", ((new android.icu.math.BigDecimal("345678.876543210")).toString()).equals("345678.876543210"));
505f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst019", ((new android.icu.math.BigDecimal("0345678.87654321")).toString()).equals("345678.87654321"));
506f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst020", ((new android.icu.math.BigDecimal("345678.8765432")).toString()).equals("345678.8765432"));
507f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst021", ((new android.icu.math.BigDecimal("+345678.8765432")).toString()).equals("345678.8765432"));
508f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst022", ((new android.icu.math.BigDecimal("+0345678.8765432")).toString()).equals("345678.8765432"));
509f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst023", ((new android.icu.math.BigDecimal("+00345678.8765432")).toString()).equals("345678.8765432"));
510f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst024", ((new android.icu.math.BigDecimal("-345678.8765432")).toString()).equals("-345678.8765432"));
511f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst025", ((new android.icu.math.BigDecimal("-0345678.8765432")).toString()).equals("-345678.8765432"));
512f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst026", ((new android.icu.math.BigDecimal("-00345678.8765432")).toString()).equals("-345678.8765432"));
513f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
514f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // exotics --
515f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst035", ((new android.icu.math.BigDecimal("\u0e57.\u0e50")).toString()).equals("7.0"));
516f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst036", ((new android.icu.math.BigDecimal("\u0b66.\u0b67")).toString()).equals("0.1"));
517f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst037", ((new android.icu.math.BigDecimal("\u0b66\u0b66")).toString()).equals("0"));
518f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst038", ((new android.icu.math.BigDecimal("\u0b6a\u0b66")).toString()).equals("40"));
519f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
520f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // strings with E
521f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst040", ((new android.icu.math.BigDecimal("1E+9")).toString()).equals("1E+9"));
522f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst041", ((new android.icu.math.BigDecimal("1e+09")).toString()).equals("1E+9"));
523f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst042", ((new android.icu.math.BigDecimal("1E+90")).toString()).equals("1E+90"));
524f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst043", ((new android.icu.math.BigDecimal("+1E+009")).toString()).equals("1E+9"));
525f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst044", ((new android.icu.math.BigDecimal("0E+9")).toString()).equals("0"));
526f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst045", ((new android.icu.math.BigDecimal("1E+9")).toString()).equals("1E+9"));
527f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst046", ((new android.icu.math.BigDecimal("1E+09")).toString()).equals("1E+9"));
528f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst047", ((new android.icu.math.BigDecimal("1e+90")).toString()).equals("1E+90"));
529f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst048", ((new android.icu.math.BigDecimal("1E+009")).toString()).equals("1E+9"));
530f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst049", ((new android.icu.math.BigDecimal("0E+9")).toString()).equals("0"));
531f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst050", ((new android.icu.math.BigDecimal("1E9")).toString()).equals("1E+9"));
532f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst051", ((new android.icu.math.BigDecimal("1e09")).toString()).equals("1E+9"));
533f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst052", ((new android.icu.math.BigDecimal("1E90")).toString()).equals("1E+90"));
534f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst053", ((new android.icu.math.BigDecimal("1E009")).toString()).equals("1E+9"));
535f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst054", ((new android.icu.math.BigDecimal("0E9")).toString()).equals("0"));
536f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst055", ((new android.icu.math.BigDecimal("0.000e+0")).toString()).equals("0"));
537f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst056", ((new android.icu.math.BigDecimal("0.000E-1")).toString()).equals("0"));
538f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst057", ((new android.icu.math.BigDecimal("4E+9")).toString()).equals("4E+9"));
539f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst058", ((new android.icu.math.BigDecimal("44E+9")).toString()).equals("4.4E+10"));
540f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst059", ((new android.icu.math.BigDecimal("0.73e-7")).toString()).equals("7.3E-8"));
541f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst060", ((new android.icu.math.BigDecimal("00E+9")).toString()).equals("0"));
542f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst061", ((new android.icu.math.BigDecimal("00E-9")).toString()).equals("0"));
543f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst062", ((new android.icu.math.BigDecimal("10E+9")).toString()).equals("1.0E+10"));
544f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst063", ((new android.icu.math.BigDecimal("10E+09")).toString()).equals("1.0E+10"));
545f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst064", ((new android.icu.math.BigDecimal("10e+90")).toString()).equals("1.0E+91"));
546f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst065", ((new android.icu.math.BigDecimal("10E+009")).toString()).equals("1.0E+10"));
547f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst066", ((new android.icu.math.BigDecimal("100e+9")).toString()).equals("1.00E+11"));
548f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst067", ((new android.icu.math.BigDecimal("100e+09")).toString()).equals("1.00E+11"));
549f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst068", ((new android.icu.math.BigDecimal("100E+90")).toString()).equals("1.00E+92"));
550f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst069", ((new android.icu.math.BigDecimal("100e+009")).toString()).equals("1.00E+11"));
551f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
552f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst070", ((new android.icu.math.BigDecimal("1.265")).toString()).equals("1.265"));
553f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst071", ((new android.icu.math.BigDecimal("1.265E-20")).toString()).equals("1.265E-20"));
554f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst072", ((new android.icu.math.BigDecimal("1.265E-8")).toString()).equals("1.265E-8"));
555f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst073", ((new android.icu.math.BigDecimal("1.265E-4")).toString()).equals("1.265E-4"));
556f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst074", ((new android.icu.math.BigDecimal("1.265E-3")).toString()).equals("1.265E-3"));
557f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst075", ((new android.icu.math.BigDecimal("1.265E-2")).toString()).equals("1.265E-2"));
558f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst076", ((new android.icu.math.BigDecimal("1.265E-1")).toString()).equals("1.265E-1"));
559f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst077", ((new android.icu.math.BigDecimal("1.265E-0")).toString()).equals("1.265"));
560f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst078", ((new android.icu.math.BigDecimal("1.265E+1")).toString()).equals("1.265E+1"));
561f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst079", ((new android.icu.math.BigDecimal("1.265E+2")).toString()).equals("1.265E+2"));
562f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst080", ((new android.icu.math.BigDecimal("1.265E+3")).toString()).equals("1.265E+3"));
563f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst081", ((new android.icu.math.BigDecimal("1.265E+4")).toString()).equals("1.265E+4"));
564f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst082", ((new android.icu.math.BigDecimal("1.265E+8")).toString()).equals("1.265E+8"));
565f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst083", ((new android.icu.math.BigDecimal("1.265E+20")).toString()).equals("1.265E+20"));
566f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
567f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst090", ((new android.icu.math.BigDecimal("12.65")).toString()).equals("12.65"));
568f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst091", ((new android.icu.math.BigDecimal("12.65E-20")).toString()).equals("1.265E-19"));
569f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst092", ((new android.icu.math.BigDecimal("12.65E-8")).toString()).equals("1.265E-7"));
570f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst093", ((new android.icu.math.BigDecimal("12.65E-4")).toString()).equals("1.265E-3"));
571f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst094", ((new android.icu.math.BigDecimal("12.65E-3")).toString()).equals("1.265E-2"));
572f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst095", ((new android.icu.math.BigDecimal("12.65E-2")).toString()).equals("1.265E-1"));
573f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst096", ((new android.icu.math.BigDecimal("12.65E-1")).toString()).equals("1.265"));
574f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst097", ((new android.icu.math.BigDecimal("12.65E-0")).toString()).equals("1.265E+1"));
575f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst098", ((new android.icu.math.BigDecimal("12.65E+1")).toString()).equals("1.265E+2"));
576f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst099", ((new android.icu.math.BigDecimal("12.65E+2")).toString()).equals("1.265E+3"));
577f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst100", ((new android.icu.math.BigDecimal("12.65E+3")).toString()).equals("1.265E+4"));
578f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst101", ((new android.icu.math.BigDecimal("12.65E+4")).toString()).equals("1.265E+5"));
579f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst102", ((new android.icu.math.BigDecimal("12.65E+8")).toString()).equals("1.265E+9"));
580f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst103", ((new android.icu.math.BigDecimal("12.65E+20")).toString()).equals("1.265E+21"));
581f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
582f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst110", ((new android.icu.math.BigDecimal("126.5")).toString()).equals("126.5"));
583f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst111", ((new android.icu.math.BigDecimal("126.5E-20")).toString()).equals("1.265E-18"));
584f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst112", ((new android.icu.math.BigDecimal("126.5E-8")).toString()).equals("1.265E-6"));
585f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst113", ((new android.icu.math.BigDecimal("126.5E-4")).toString()).equals("1.265E-2"));
586f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst114", ((new android.icu.math.BigDecimal("126.5E-3")).toString()).equals("1.265E-1"));
587f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst115", ((new android.icu.math.BigDecimal("126.5E-2")).toString()).equals("1.265"));
588f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst116", ((new android.icu.math.BigDecimal("126.5E-1")).toString()).equals("1.265E+1"));
589f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst117", ((new android.icu.math.BigDecimal("126.5E-0")).toString()).equals("1.265E+2"));
590f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst118", ((new android.icu.math.BigDecimal("126.5E+1")).toString()).equals("1.265E+3"));
591f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst119", ((new android.icu.math.BigDecimal("126.5E+2")).toString()).equals("1.265E+4"));
592f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst120", ((new android.icu.math.BigDecimal("126.5E+3")).toString()).equals("1.265E+5"));
593f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst121", ((new android.icu.math.BigDecimal("126.5E+4")).toString()).equals("1.265E+6"));
594f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst122", ((new android.icu.math.BigDecimal("126.5E+8")).toString()).equals("1.265E+10"));
595f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst123", ((new android.icu.math.BigDecimal("126.5E+20")).toString()).equals("1.265E+22"));
596f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
597f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst130", ((new android.icu.math.BigDecimal("1265")).toString()).equals("1265"));
598f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst131", ((new android.icu.math.BigDecimal("1265E-20")).toString()).equals("1.265E-17"));
599f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst132", ((new android.icu.math.BigDecimal("1265E-8")).toString()).equals("1.265E-5"));
600f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst133", ((new android.icu.math.BigDecimal("1265E-4")).toString()).equals("1.265E-1"));
601f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst134", ((new android.icu.math.BigDecimal("1265E-3")).toString()).equals("1.265"));
602f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst135", ((new android.icu.math.BigDecimal("1265E-2")).toString()).equals("1.265E+1"));
603f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst136", ((new android.icu.math.BigDecimal("1265E-1")).toString()).equals("1.265E+2"));
604f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst137", ((new android.icu.math.BigDecimal("1265E-0")).toString()).equals("1.265E+3"));
605f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst138", ((new android.icu.math.BigDecimal("1265E+1")).toString()).equals("1.265E+4"));
606f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst139", ((new android.icu.math.BigDecimal("1265E+2")).toString()).equals("1.265E+5"));
607f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst140", ((new android.icu.math.BigDecimal("1265E+3")).toString()).equals("1.265E+6"));
608f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst141", ((new android.icu.math.BigDecimal("1265E+4")).toString()).equals("1.265E+7"));
609f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst142", ((new android.icu.math.BigDecimal("1265E+8")).toString()).equals("1.265E+11"));
610f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst143", ((new android.icu.math.BigDecimal("1265E+20")).toString()).equals("1.265E+23"));
611f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
612f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst150", ((new android.icu.math.BigDecimal("0.1265")).toString()).equals("0.1265"));
613f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst151", ((new android.icu.math.BigDecimal("0.1265E-20")).toString()).equals("1.265E-21"));
614f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst152", ((new android.icu.math.BigDecimal("0.1265E-8")).toString()).equals("1.265E-9"));
615f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst153", ((new android.icu.math.BigDecimal("0.1265E-4")).toString()).equals("1.265E-5"));
616f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst154", ((new android.icu.math.BigDecimal("0.1265E-3")).toString()).equals("1.265E-4"));
617f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst155", ((new android.icu.math.BigDecimal("0.1265E-2")).toString()).equals("1.265E-3"));
618f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst156", ((new android.icu.math.BigDecimal("0.1265E-1")).toString()).equals("1.265E-2"));
619f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst157", ((new android.icu.math.BigDecimal("0.1265E-0")).toString()).equals("1.265E-1"));
620f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst158", ((new android.icu.math.BigDecimal("0.1265E+1")).toString()).equals("1.265"));
621f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst159", ((new android.icu.math.BigDecimal("0.1265E+2")).toString()).equals("1.265E+1"));
622f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst160", ((new android.icu.math.BigDecimal("0.1265E+3")).toString()).equals("1.265E+2"));
623f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst161", ((new android.icu.math.BigDecimal("0.1265E+4")).toString()).equals("1.265E+3"));
624f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst162", ((new android.icu.math.BigDecimal("0.1265E+8")).toString()).equals("1.265E+7"));
625f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst163", ((new android.icu.math.BigDecimal("0.1265E+20")).toString()).equals("1.265E+19"));
626f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
627f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst170", ((new android.icu.math.BigDecimal("0.09e999999999")).toString()).equals("9E+999999997"));
628f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst171", ((new android.icu.math.BigDecimal("0.9e999999999")).toString()).equals("9E+999999998"));
629f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst172", ((new android.icu.math.BigDecimal("9e999999999")).toString()).equals("9E+999999999"));
630f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst173", ((new android.icu.math.BigDecimal("9.9e999999999")).toString()).equals("9.9E+999999999"));
631f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst174", ((new android.icu.math.BigDecimal("9.99e999999999")).toString()).equals("9.99E+999999999"));
632f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst175", ((new android.icu.math.BigDecimal("9.99e-999999999")).toString()).equals("9.99E-999999999"));
633f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst176", ((new android.icu.math.BigDecimal("9.9e-999999999")).toString()).equals("9.9E-999999999"));
634f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst177", ((new android.icu.math.BigDecimal("9e-999999999")).toString()).equals("9E-999999999"));
635f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst179", ((new android.icu.math.BigDecimal("99e-999999999")).toString()).equals("9.9E-999999998"));
636f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst180", ((new android.icu.math.BigDecimal("999e-999999999")).toString()).equals("9.99E-999999997"));
637f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
638f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // baddies --
639f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        badstrings = new java.lang.String[] { "1..2", ".", "..", "++1", "--1",
640f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-+1", "+-1", "12e", "12e++", "12f4", " +1", "+ 1", "12 ",
641f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                " + 1", " - 1 ", "x", "-1-", "12-", "3+", "", "1e-",
642f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "7e1000000000", "", "e100", "\u0e5a", "\u0b65", "99e999999999",
643f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "999e999999999", "0.9e-999999999", "0.09e-999999999",
644f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "0.1e1000000000", "10e-1000000000", "0.9e9999999999",
645f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "99e-9999999999", "111e9999999999",
646f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "1111e-9999999999" + " " + "111e*123", "111e123-", "111e+12+",
647f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "111e1-3-", "111e1*23", "111e1e+3", "1e1.0", "1e123e", "ten",
648f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "ONE", "1e.1", "1e1.", "1ee", "e+1" }; // 200-203
649f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 204-207
650f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 208-211
651f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 211-214
652f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 215-219
653f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 220-222
654f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 223-224
655f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 225-226
656f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 227-228
657f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 229-230
658f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 231-232
659f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 233-234
660f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 235-237
661f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 238-240
662f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 241-244
663f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 245-248
664f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
665f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // watch out for commas on continuation lines
666f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
667f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        {
668f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            int $16 = badstrings.length;
669f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            i = 0;
670f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            for (; $16 > 0; $16--, i++) {
671f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                try {
672f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    new android.icu.math.BigDecimal(badstrings[i]);
673f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    say(">>> cst"+(200+i)+":"+" "+badstrings[i]+" "+(new android.icu.math.BigDecimal(badstrings[i])).toString());
674f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    flag = false;
675f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                } catch (java.lang.NumberFormatException $17) {
676f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    flag = true;
677f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                }
678f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                TestFmwk.assertTrue("cst" + (200 + i), flag);
679f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            }
680f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* i */
681f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
682f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
683f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            new android.icu.math.BigDecimal((java.lang.String) null);
684f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
685f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $18) {
686f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
687f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull */
688f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cst301", flag);
689f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
690f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        return;
691f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
692f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
693f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Mutation tests (checks that contents of constant objects are unchanged). */
694f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
695f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
696f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagmutation() {
697f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        /* ---------------------------------------------------------------- */
698f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        /* Final tests -- check constants haven't mutated */
699f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        /* -- also that MC objects haven't mutated */
700f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        /* ---------------------------------------------------------------- */
701f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc001", (android.icu.math.BigDecimal.ZERO.toString()).equals("0"));
702f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc002", (android.icu.math.BigDecimal.ONE.toString()).equals("1"));
703f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc003", (android.icu.math.BigDecimal.TEN.toString()).equals("10"));
704f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
705f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        @SuppressWarnings("unused")
706f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        int constantVal; // workaround for "Comparing identical expressions" warnings
707f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc010", android.icu.math.BigDecimal.ROUND_CEILING == (constantVal = android.icu.math.MathContext.ROUND_CEILING));
708f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc011", android.icu.math.BigDecimal.ROUND_DOWN == (constantVal = android.icu.math.MathContext.ROUND_DOWN));
709f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc012", android.icu.math.BigDecimal.ROUND_FLOOR == (constantVal = android.icu.math.MathContext.ROUND_FLOOR));
710f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc013", android.icu.math.BigDecimal.ROUND_HALF_DOWN == (constantVal = android.icu.math.MathContext.ROUND_HALF_DOWN));
711f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc014", android.icu.math.BigDecimal.ROUND_HALF_EVEN == (constantVal = android.icu.math.MathContext.ROUND_HALF_EVEN));
712f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc015", android.icu.math.BigDecimal.ROUND_HALF_UP == (constantVal = android.icu.math.MathContext.ROUND_HALF_UP));
713f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc016", android.icu.math.BigDecimal.ROUND_UNNECESSARY == (constantVal = android.icu.math.MathContext.ROUND_UNNECESSARY));
714f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc017", android.icu.math.BigDecimal.ROUND_UP == (constantVal = android.icu.math.MathContext.ROUND_UP));
715f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
716f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc020", (android.icu.math.MathContext.DEFAULT.getDigits()) == 9);
717f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc021", (android.icu.math.MathContext.DEFAULT.getForm()) == android.icu.math.MathContext.SCIENTIFIC);
718f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc022", (android.icu.math.MathContext.DEFAULT.getLostDigits() ? 1 : 0) == 0);
719f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc023", (android.icu.math.MathContext.DEFAULT.getRoundingMode()) == android.icu.math.MathContext.ROUND_HALF_UP);
720f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
721f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // mc9 =MathContext(9)
722f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // mcld =MathContext(9, SCIENTIFIC, 1)
723f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // mcfd =MathContext(0, PLAIN)
724f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc030", (mc9.getDigits()) == 9);
725f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc031", (mc9.getForm()) == android.icu.math.MathContext.SCIENTIFIC);
726f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc032", (mc9.getLostDigits() ? 1 : 0) == 0);
727f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc033", (mc9.getRoundingMode()) == android.icu.math.MathContext.ROUND_HALF_UP);
728f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc034", (mcld.getDigits()) == 9);
729f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc035", (mcld.getForm()) == android.icu.math.MathContext.SCIENTIFIC);
730f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc036", (mcld.getLostDigits() ? 1 : 0) == 1);
731f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc037", (mcld.getRoundingMode()) == android.icu.math.MathContext.ROUND_HALF_UP);
732f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc038", (mcfd.getDigits()) == 0);
733f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc039", (mcfd.getForm()) == android.icu.math.MathContext.PLAIN);
734f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc040", (mcfd.getLostDigits() ? 1 : 0) == 0);
735f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cuc041", (mcfd.getRoundingMode()) == android.icu.math.MathContext.ROUND_HALF_UP);
736f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
737f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
738f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
739f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
740f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
741f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* Operator test methods */
742f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
743f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    // The use of context in these tests are primarily to show that they
744f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    // are correctly passed to the methods, except that we check that
745f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    // each method checks for lostDigits.
746f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
747f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#abs} method. */
748f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
749f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
750f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagabs() {
751f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        boolean flag = false;
752f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.ArithmeticException ae = null;
753f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
754f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // most of the function of this is tested by add
755f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("abs001", ((new android.icu.math.BigDecimal("2")).abs().toString()).equals("2"));
756f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("abs002", ((new android.icu.math.BigDecimal("-2")).abs().toString()).equals("2"));
757f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("abs003", ((new android.icu.math.BigDecimal("+0.000")).abs().toString()).equals("0.000"));
758f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("abs004", ((new android.icu.math.BigDecimal("00.000")).abs().toString()).equals("0.000"));
759f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("abs005", ((new android.icu.math.BigDecimal("-0.000")).abs().toString()).equals("0.000"));
760f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("abs006", ((new android.icu.math.BigDecimal("+0.000")).abs(mcdef).toString()).equals("0"));
761f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("abs007", ((new android.icu.math.BigDecimal("00.000")).abs(mcdef).toString()).equals("0"));
762f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("abs008", ((new android.icu.math.BigDecimal("-0.000")).abs(mcdef).toString()).equals("0"));
763f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("abs009", ((new android.icu.math.BigDecimal("-2000000")).abs().toString()).equals("2000000"));
764f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("abs010", ((new android.icu.math.BigDecimal("-2000000")).abs(mcdef).toString()).equals("2000000"));
765f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("abs011", ((new android.icu.math.BigDecimal("-2000000")).abs(mc6).toString()).equals("2.00000E+6"));
766f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("abs012", ((new android.icu.math.BigDecimal("2000000")).abs(mc6).toString()).equals("2.00000E+6"));
767f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("abs013", ((new android.icu.math.BigDecimal("0.2")).abs().toString()).equals("0.2"));
768f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("abs014", ((new android.icu.math.BigDecimal("-0.2")).abs().toString()).equals("0.2"));
769f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("abs015", ((new android.icu.math.BigDecimal("0.01")).abs().toString()).equals("0.01"));
770f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("abs016", ((new android.icu.math.BigDecimal("-0.01")).abs().toString()).equals("0.01"));
771f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
772f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            tenlong.abs(mcld);
773f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
774f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $19) {
775f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $19;
776f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits:" + " "
777f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + tenlong.toString());
778f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
779f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("abs020", flag);
780f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // check lostdigits not raised if digits=0 [monadic method]
781f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
782f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            tenlong.abs(mcld0);
783f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
784f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $20) {
785f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $20;
786f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
787f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
788f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("abs021", flag);
789f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
790f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            android.icu.math.BigDecimal.TEN
791f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    .abs((android.icu.math.MathContext) null);
792f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
793f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $21) {
794f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
795f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull */
796f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("abs022", flag);
797f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
798f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
799f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
800f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
801f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
802f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#add} method. */
803f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
804f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
805f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagadd() {
806f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        boolean flag = false;
807f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal alhs;
808f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal arhs;
809f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.ArithmeticException ae = null;
810f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
811f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // [first group are 'quick confidence check']
812f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add001", ((new android.icu.math.BigDecimal(2)).add(new android.icu.math.BigDecimal(3),mcdef).toString()).equals("5"));
813f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add003", ((new android.icu.math.BigDecimal("5.75")).add(new android.icu.math.BigDecimal("3.3"),mcdef).toString()).equals("9.05"));
814f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add004", ((new android.icu.math.BigDecimal("5")).add(new android.icu.math.BigDecimal("-3"),mcdef).toString()).equals("2"));
815f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add005", ((new android.icu.math.BigDecimal("-5")).add(new android.icu.math.BigDecimal("-3"),mcdef).toString()).equals("-8"));
816f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add006", ((new android.icu.math.BigDecimal("-7")).add(new android.icu.math.BigDecimal("2.5"),mcdef).toString()).equals("-4.5"));
817f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add007", ((new android.icu.math.BigDecimal("0.7")).add(new android.icu.math.BigDecimal("0.3"),mcdef).toString()).equals("1.0"));
818f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add008", ((new android.icu.math.BigDecimal("1.25")).add(new android.icu.math.BigDecimal("1.25"),mcdef).toString()).equals("2.50"));
819f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add009", ((new android.icu.math.BigDecimal("1.23456789")).add(new android.icu.math.BigDecimal("1.00000000"),mcdef).toString()).equals("2.23456789"));
820f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
821f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add010", ((new android.icu.math.BigDecimal("1.23456789")).add(new android.icu.math.BigDecimal("1.00000011"),mcdef).toString()).equals("2.23456800"));
822f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
823f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
824f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add011", ((new android.icu.math.BigDecimal("0.4444444444")).add(new android.icu.math.BigDecimal("0.5555555555"),mcdef).toString()).equals("1.00000000"));
825f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
826f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add012", ((new android.icu.math.BigDecimal("0.4444444440")).add(new android.icu.math.BigDecimal("0.5555555555"),mcdef).toString()).equals("1.00000000"));
827f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
828f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add013", ((new android.icu.math.BigDecimal("0.4444444444")).add(new android.icu.math.BigDecimal("0.5555555550"),mcdef).toString()).equals("0.999999999"));
829f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
830f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add014", ((new android.icu.math.BigDecimal("0.4444444444999")).add(new android.icu.math.BigDecimal("0"),mcdef).toString()).equals("0.444444444"));
831f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
832f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add015", ((new android.icu.math.BigDecimal("0.4444444445000")).add(new android.icu.math.BigDecimal("0"),mcdef).toString()).equals("0.444444445"));
833f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
834f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
835f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add016", ((new android.icu.math.BigDecimal("70")).add(new android.icu.math.BigDecimal("10000e+9"),mcdef).toString()).equals("1.00000000E+13"));
836f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
837f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add017", ((new android.icu.math.BigDecimal("700")).add(new android.icu.math.BigDecimal("10000e+9"),mcdef).toString()).equals("1.00000000E+13"));
838f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
839f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add018", ((new android.icu.math.BigDecimal("7000")).add(new android.icu.math.BigDecimal("10000e+9"),mcdef).toString()).equals("1.00000000E+13"));
840f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
841f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add019", ((new android.icu.math.BigDecimal("70000")).add(new android.icu.math.BigDecimal("10000e+9"),mcdef).toString()).equals("1.00000001E+13"));
842f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
843f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add020", ((new android.icu.math.BigDecimal("700000")).add(new android.icu.math.BigDecimal("10000e+9"),mcdef).toString()).equals("1.00000007E+13"));
844f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
845f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
846f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // [Now the same group with fixed arithmetic]
847f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add030", ((new android.icu.math.BigDecimal(2)).add(new android.icu.math.BigDecimal(3)).toString()).equals("5"));
848f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add031", ((new android.icu.math.BigDecimal("5.75")).add(new android.icu.math.BigDecimal("3.3")).toString()).equals("9.05"));
849f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add032", ((new android.icu.math.BigDecimal("5")).add(new android.icu.math.BigDecimal("-3")).toString()).equals("2"));
850f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add033", ((new android.icu.math.BigDecimal("-5")).add(new android.icu.math.BigDecimal("-3")).toString()).equals("-8"));
851f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add034", ((new android.icu.math.BigDecimal("-7")).add(new android.icu.math.BigDecimal("2.5")).toString()).equals("-4.5"));
852f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add035", ((new android.icu.math.BigDecimal("0.7")).add(new android.icu.math.BigDecimal("0.3")).toString()).equals("1.0"));
853f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add036", ((new android.icu.math.BigDecimal("1.25")).add(new android.icu.math.BigDecimal("1.25")).toString()).equals("2.50"));
854f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add037", ((new android.icu.math.BigDecimal("1.23456789")).add(new android.icu.math.BigDecimal("1.00000000")).toString()).equals("2.23456789"));
855f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
856f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add038", ((new android.icu.math.BigDecimal("1.23456789")).add(new android.icu.math.BigDecimal("1.00000011")).toString()).equals("2.23456800"));
857f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
858f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
859f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add039", ((new android.icu.math.BigDecimal("0.4444444444")).add(new android.icu.math.BigDecimal("0.5555555555")).toString()).equals("0.9999999999"));
860f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
861f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add040", ((new android.icu.math.BigDecimal("0.4444444440")).add(new android.icu.math.BigDecimal("0.5555555555")).toString()).equals("0.9999999995"));
862f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
863f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add041", ((new android.icu.math.BigDecimal("0.4444444444")).add(new android.icu.math.BigDecimal("0.5555555550")).toString()).equals("0.9999999994"));
864f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
865f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add042", ((new android.icu.math.BigDecimal("0.4444444444999")).add(new android.icu.math.BigDecimal("0")).toString()).equals("0.4444444444999"));
866f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
867f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add043", ((new android.icu.math.BigDecimal("0.4444444445000")).add(new android.icu.math.BigDecimal("0")).toString()).equals("0.4444444445000"));
868f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
869f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
870f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add044", ((new android.icu.math.BigDecimal("70")).add(new android.icu.math.BigDecimal("10000e+9")).toString()).equals("10000000000070"));
871f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
872f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add045", ((new android.icu.math.BigDecimal("700")).add(new android.icu.math.BigDecimal("10000e+9")).toString()).equals("10000000000700"));
873f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
874f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add046", ((new android.icu.math.BigDecimal("7000")).add(new android.icu.math.BigDecimal("10000e+9")).toString()).equals("10000000007000"));
875f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
876f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add047", ((new android.icu.math.BigDecimal("70000")).add(new android.icu.math.BigDecimal("10000e+9")).toString()).equals("10000000070000"));
877f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
878f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add048", ((new android.icu.math.BigDecimal("700000")).add(new android.icu.math.BigDecimal("10000e+9")).toString()).equals("10000000700000"));
879f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
880f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
881f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // symmetry:
882f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add049", ((new android.icu.math.BigDecimal("10000e+9")).add(new android.icu.math.BigDecimal("70"),mcdef).toString()).equals("1.00000000E+13"));
883f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
884f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add050", ((new android.icu.math.BigDecimal("10000e+9")).add(new android.icu.math.BigDecimal("700"),mcdef).toString()).equals("1.00000000E+13"));
885f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
886f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add051", ((new android.icu.math.BigDecimal("10000e+9")).add(new android.icu.math.BigDecimal("7000"),mcdef).toString()).equals("1.00000000E+13"));
887f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
888f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add052", ((new android.icu.math.BigDecimal("10000e+9")).add(new android.icu.math.BigDecimal("70000"),mcdef).toString()).equals("1.00000001E+13"));
889f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
890f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add053", ((new android.icu.math.BigDecimal("10000e+9")).add(new android.icu.math.BigDecimal("700000"),mcdef).toString()).equals("1.00000007E+13"));
891f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
892f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
893f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add054", ((new android.icu.math.BigDecimal("10000e+9")).add(new android.icu.math.BigDecimal("70")).toString()).equals("10000000000070"));
894f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
895f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add055", ((new android.icu.math.BigDecimal("10000e+9")).add(new android.icu.math.BigDecimal("700")).toString()).equals("10000000000700"));
896f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
897f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add056", ((new android.icu.math.BigDecimal("10000e+9")).add(new android.icu.math.BigDecimal("7000")).toString()).equals("10000000007000"));
898f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
899f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add057", ((new android.icu.math.BigDecimal("10000e+9")).add(new android.icu.math.BigDecimal("70000")).toString()).equals("10000000070000"));
900f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
901f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add058", ((new android.icu.math.BigDecimal("10000e+9")).add(new android.icu.math.BigDecimal("700000")).toString()).equals("10000000700000"));
902f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
903f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // some rounding effects
904f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add059", ((new android.icu.math.BigDecimal("0.9998")).add(new android.icu.math.BigDecimal("0.0000")).toString()).equals("0.9998"));
905f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
906f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add060", ((new android.icu.math.BigDecimal("0.9998")).add(new android.icu.math.BigDecimal("0.0001")).toString()).equals("0.9999"));
907f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
908f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add061", ((new android.icu.math.BigDecimal("0.9998")).add(new android.icu.math.BigDecimal("0.0002")).toString()).equals("1.0000"));
909f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
910f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add062", ((new android.icu.math.BigDecimal("0.9998")).add(new android.icu.math.BigDecimal("0.0003")).toString()).equals("1.0001"));
911f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
912f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
913f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // MC
914f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add070", ((new android.icu.math.BigDecimal("10000e+9")).add(new android.icu.math.BigDecimal("70000"),mcfd).toString()).equals("10000000070000"));
915f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
916f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add071", ((new android.icu.math.BigDecimal("10000e+9")).add(new android.icu.math.BigDecimal("70000"),mcdef).toString()).equals("1.00000001E+13"));
917f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
918f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add072", ((new android.icu.math.BigDecimal("10000e+9")).add(new android.icu.math.BigDecimal("70000"),mc6).toString()).equals("1.00000E+13"));
919f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
920f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
921f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // zero preservation
922f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add080", (android.icu.math.BigDecimal.ONE.add(new android.icu.math.BigDecimal("0.0001"),mc6).toString()).equals("1.0001"));
923f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
924f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add081", (android.icu.math.BigDecimal.ONE.add(new android.icu.math.BigDecimal("0.00001"),mc6).toString()).equals("1.00001"));
925f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
926f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add082", (android.icu.math.BigDecimal.ONE.add(new android.icu.math.BigDecimal("0.000001"),mc6).toString()).equals("1.00000"));
927f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
928f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add083", (android.icu.math.BigDecimal.ONE.add(new android.icu.math.BigDecimal("0.0000001"),mc6).toString()).equals("1.00000"));
929f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
930f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add084", (android.icu.math.BigDecimal.ONE.add(new android.icu.math.BigDecimal("0.00000001"),mc6).toString()).equals("1.00000"));
931f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
932f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
933f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // more fixed, LHS swaps
934f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add090", ((new android.icu.math.BigDecimal("-56267E-10")).add(zero).toString()).equals("-0.0000056267"));
935f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add091", ((new android.icu.math.BigDecimal("-56267E-6")).add(zero).toString()).equals("-0.056267"));
936f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add092", ((new android.icu.math.BigDecimal("-56267E-5")).add(zero).toString()).equals("-0.56267"));
937f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add093", ((new android.icu.math.BigDecimal("-56267E-4")).add(zero).toString()).equals("-5.6267"));
938f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add094", ((new android.icu.math.BigDecimal("-56267E-3")).add(zero).toString()).equals("-56.267"));
939f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add095", ((new android.icu.math.BigDecimal("-56267E-2")).add(zero).toString()).equals("-562.67"));
940f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add096", ((new android.icu.math.BigDecimal("-56267E-1")).add(zero).toString()).equals("-5626.7"));
941f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add097", ((new android.icu.math.BigDecimal("-56267E-0")).add(zero).toString()).equals("-56267"));
942f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add098", ((new android.icu.math.BigDecimal("-5E-10")).add(zero).toString()).equals("-0.0000000005"));
943f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add099", ((new android.icu.math.BigDecimal("-5E-5")).add(zero).toString()).equals("-0.00005"));
944f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add100", ((new android.icu.math.BigDecimal("-5E-1")).add(zero).toString()).equals("-0.5"));
945f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add101", ((new android.icu.math.BigDecimal("-5E-10")).add(zero).toString()).equals("-0.0000000005"));
946f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add102", ((new android.icu.math.BigDecimal("-5E-5")).add(zero).toString()).equals("-0.00005"));
947f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add103", ((new android.icu.math.BigDecimal("-5E-1")).add(zero).toString()).equals("-0.5"));
948f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add104", ((new android.icu.math.BigDecimal("-5E10")).add(zero).toString()).equals("-50000000000"));
949f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add105", ((new android.icu.math.BigDecimal("-5E5")).add(zero).toString()).equals("-500000"));
950f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add106", ((new android.icu.math.BigDecimal("-5E1")).add(zero).toString()).equals("-50"));
951f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add107", ((new android.icu.math.BigDecimal("-5E0")).add(zero).toString()).equals("-5"));
952f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
953f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // more fixed, RHS swaps
954f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add108", (zero.add(new android.icu.math.BigDecimal("-56267E-10")).toString()).equals("-0.0000056267"));
955f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add109", (zero.add(new android.icu.math.BigDecimal("-56267E-6")).toString()).equals("-0.056267"));
956f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add110", (zero.add(new android.icu.math.BigDecimal("-56267E-5")).toString()).equals("-0.56267"));
957f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add111", (zero.add(new android.icu.math.BigDecimal("-56267E-4")).toString()).equals("-5.6267"));
958f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add112", (zero.add(new android.icu.math.BigDecimal("-56267E-3")).toString()).equals("-56.267"));
959f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add113", (zero.add(new android.icu.math.BigDecimal("-56267E-2")).toString()).equals("-562.67"));
960f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add114", (zero.add(new android.icu.math.BigDecimal("-56267E-1")).toString()).equals("-5626.7"));
961f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add115", (zero.add(new android.icu.math.BigDecimal("-56267E-0")).toString()).equals("-56267"));
962f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add116", (zero.add(new android.icu.math.BigDecimal("-5E-10")).toString()).equals("-0.0000000005"));
963f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add117", (zero.add(new android.icu.math.BigDecimal("-5E-5")).toString()).equals("-0.00005"));
964f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add118", (zero.add(new android.icu.math.BigDecimal("-5E-1")).toString()).equals("-0.5"));
965f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add129", (zero.add(new android.icu.math.BigDecimal("-5E-10")).toString()).equals("-0.0000000005"));
966f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add130", (zero.add(new android.icu.math.BigDecimal("-5E-5")).toString()).equals("-0.00005"));
967f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add131", (zero.add(new android.icu.math.BigDecimal("-5E-1")).toString()).equals("-0.5"));
968f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add132", (zero.add(new android.icu.math.BigDecimal("-5E10")).toString()).equals("-50000000000"));
969f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add133", (zero.add(new android.icu.math.BigDecimal("-5E5")).toString()).equals("-500000"));
970f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add134", (zero.add(new android.icu.math.BigDecimal("-5E1")).toString()).equals("-50"));
971f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add135", (zero.add(new android.icu.math.BigDecimal("-5E0")).toString()).equals("-5"));
972f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
973f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // [some of the next group are really constructor tests]
974f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add140", ((new android.icu.math.BigDecimal("00.0")).add(new android.icu.math.BigDecimal("0.00"),mcdef).toString()).equals("0"));
975f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add141", ((new android.icu.math.BigDecimal("0.00")).add(new android.icu.math.BigDecimal("00.0"),mcdef).toString()).equals("0"));
976f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add142", ((new android.icu.math.BigDecimal("3")).add(new android.icu.math.BigDecimal(".3"),mcdef).toString()).equals("3.3"));
977f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add143", ((new android.icu.math.BigDecimal("3.")).add(new android.icu.math.BigDecimal(".3"),mcdef).toString()).equals("3.3"));
978f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add144", ((new android.icu.math.BigDecimal("3.0")).add(new android.icu.math.BigDecimal(".3"),mcdef).toString()).equals("3.3"));
979f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add145", ((new android.icu.math.BigDecimal("3.00")).add(new android.icu.math.BigDecimal(".3"),mcdef).toString()).equals("3.30"));
980f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add146", ((new android.icu.math.BigDecimal("3")).add(new android.icu.math.BigDecimal("3"),mcdef).toString()).equals("6"));
981f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add147", ((new android.icu.math.BigDecimal("3")).add(new android.icu.math.BigDecimal("+3"),mcdef).toString()).equals("6"));
982f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add148", ((new android.icu.math.BigDecimal("3")).add(new android.icu.math.BigDecimal("-3"),mcdef).toString()).equals("0"));
983f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add149", ((new android.icu.math.BigDecimal("0.03")).add(new android.icu.math.BigDecimal("-0.03"),mcdef).toString()).equals("0"));
984f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
985f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add150", ((new android.icu.math.BigDecimal("00.0")).add(new android.icu.math.BigDecimal("0.00")).toString()).equals("0.00"));
986f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add151", ((new android.icu.math.BigDecimal("0.00")).add(new android.icu.math.BigDecimal("00.0")).toString()).equals("0.00"));
987f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add152", ((new android.icu.math.BigDecimal("3")).add(new android.icu.math.BigDecimal(".3")).toString()).equals("3.3"));
988f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add153", ((new android.icu.math.BigDecimal("3.")).add(new android.icu.math.BigDecimal(".3")).toString()).equals("3.3"));
989f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add154", ((new android.icu.math.BigDecimal("3.0")).add(new android.icu.math.BigDecimal(".3")).toString()).equals("3.3"));
990f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add155", ((new android.icu.math.BigDecimal("3.00")).add(new android.icu.math.BigDecimal(".3")).toString()).equals("3.30"));
991f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add156", ((new android.icu.math.BigDecimal("3")).add(new android.icu.math.BigDecimal("3")).toString()).equals("6"));
992f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add157", ((new android.icu.math.BigDecimal("3")).add(new android.icu.math.BigDecimal("+3")).toString()).equals("6"));
993f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add158", ((new android.icu.math.BigDecimal("3")).add(new android.icu.math.BigDecimal("-3")).toString()).equals("0"));
994f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add159", ((new android.icu.math.BigDecimal("0.3")).add(new android.icu.math.BigDecimal("-0.3")).toString()).equals("0.0"));
995f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add160", ((new android.icu.math.BigDecimal("0.03")).add(new android.icu.math.BigDecimal("-0.03")).toString()).equals("0.00"));
996f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add161", ((new android.icu.math.BigDecimal("7E+12")).add(new android.icu.math.BigDecimal("-1"),mcfd).toString()).equals("6999999999999"));
997f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
998f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add162", ((new android.icu.math.BigDecimal("7E+12")).add(new android.icu.math.BigDecimal("1.11"),mcfd).toString()).equals("7000000000001.11"));
999f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1000f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add163", ((new android.icu.math.BigDecimal("1.11")).add(new android.icu.math.BigDecimal("7E+12"),mcfd).toString()).equals("7000000000001.11"));
1001f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1002f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1003f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // input preparation tests
1004f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        alhs=new android.icu.math.BigDecimal("12345678900000");
1005f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        arhs=new android.icu.math.BigDecimal("9999999999999");
1006f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add170", (alhs.add(arhs,mc3).toString()).equals("2.23E+13"));
1007f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add171", (arhs.add(alhs,mc3).toString()).equals("2.23E+13"));
1008f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add172", ((new android.icu.math.BigDecimal("12E+3")).add(new android.icu.math.BigDecimal("3456"),mc3).toString()).equals("1.55E+4"));
1009f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // next was 1.54E+4 under old [truncate to digits+1] rules
1010f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add173", ((new android.icu.math.BigDecimal("12E+3")).add(new android.icu.math.BigDecimal("3446"),mc3).toString()).equals("1.55E+4"));
1011f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add174", ((new android.icu.math.BigDecimal("12E+3")).add(new android.icu.math.BigDecimal("3454"),mc3).toString()).equals("1.55E+4"));
1012f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add175", ((new android.icu.math.BigDecimal("12E+3")).add(new android.icu.math.BigDecimal("3444"),mc3).toString()).equals("1.54E+4"));
1013f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1014f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add176", ((new android.icu.math.BigDecimal("3456")).add(new android.icu.math.BigDecimal("12E+3"),mc3).toString()).equals("1.55E+4"));
1015f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // next was 1.54E+4 under old [truncate to digits+1] rules
1016f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add177", ((new android.icu.math.BigDecimal("3446")).add(new android.icu.math.BigDecimal("12E+3"),mc3).toString()).equals("1.55E+4"));
1017f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add178", ((new android.icu.math.BigDecimal("3454")).add(new android.icu.math.BigDecimal("12E+3"),mc3).toString()).equals("1.55E+4"));
1018f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add179", ((new android.icu.math.BigDecimal("3444")).add(new android.icu.math.BigDecimal("12E+3"),mc3).toString()).equals("1.54E+4"));
1019f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1020f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1021f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ten.add((android.icu.math.BigDecimal) null);
1022f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1023f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $22) {
1024f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
1025f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull */
1026f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add200", flag);
1027f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1028f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ten.add(ten, (android.icu.math.MathContext) null);
1029f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1030f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $23) {
1031f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
1032f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull2 */
1033f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add201", flag);
1034f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1035f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1036f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            tenlong.add(android.icu.math.BigDecimal.ZERO, mcld);
1037f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1038f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $24) {
1039f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $24;
1040f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits:" + " "
1041f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + tenlong.toString());
1042f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
1043f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add202", flag);
1044f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1045f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            android.icu.math.BigDecimal.ZERO.add(tenlong, mcld);
1046f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1047f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $25) {
1048f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $25;
1049f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits:" + " "
1050f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + tenlong.toString());
1051f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
1052f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add203", flag);
1053f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1054f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // check lostdigits not raised if digits=0 [dyadic method]
1055f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1056f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            tenlong.add(android.icu.math.BigDecimal.ZERO, mcld0);
1057f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
1058f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $26) {
1059f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $26;
1060f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1061f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
1062f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add204", flag);
1063f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1064f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            android.icu.math.BigDecimal.ZERO.add(tenlong, mcld0);
1065f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
1066f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $27) {
1067f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $27;
1068f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1069f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
1070f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("add205", flag);
1071f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1072f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
1073f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1074f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
1075f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /**
1076f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     * Test the {@link android.icu.math.BigDecimal#compareTo(BigDecimal)}
1077f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     * method.
1078f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     */
1079f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1080f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
1081f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagcompareto() {
1082f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        boolean flag = false;
1083f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.ArithmeticException ae = null;
1084f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // we assume add/subtract test function; this just
1085f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // tests existence, exceptions, and possible results
1086f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1087f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cpt001", ((new android.icu.math.BigDecimal("5")).compareTo(new android.icu.math.BigDecimal("2")))==1);
1088f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cpt002", ((new android.icu.math.BigDecimal("5")).compareTo(new android.icu.math.BigDecimal("5")))==0);
1089f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cpt003", ((new android.icu.math.BigDecimal("5")).compareTo(new android.icu.math.BigDecimal("5.00")))==0);
1090f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cpt004", ((new android.icu.math.BigDecimal("0.5")).compareTo(new android.icu.math.BigDecimal("0.5")))==0);
1091f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cpt005", ((new android.icu.math.BigDecimal("2")).compareTo(new android.icu.math.BigDecimal("5")))==(-1));
1092f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cpt006", ((new android.icu.math.BigDecimal("2")).compareTo(new android.icu.math.BigDecimal("5"),mcdef))==(-1));
1093f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cpt007", ((new android.icu.math.BigDecimal("2")).compareTo(new android.icu.math.BigDecimal("5"),mc6))==(-1));
1094f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cpt008", ((new android.icu.math.BigDecimal("2")).compareTo(new android.icu.math.BigDecimal("5"),mcfd))==(-1));
1095f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1096f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ten.compareTo((android.icu.math.BigDecimal) null);
1097f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1098f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $28) {
1099f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
1100f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull */
1101f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cpt100", flag);
1102f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1103f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ten.compareTo(ten, (android.icu.math.MathContext) null);
1104f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1105f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $29) {
1106f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
1107f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull2 */
1108f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cpt101", flag);
1109f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1110f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1111f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            tenlong.compareTo(android.icu.math.BigDecimal.ONE, mcld);
1112f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1113f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $30) {
1114f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $30;
1115f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits:" + " "
1116f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + tenlong.toString());
1117f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
1118f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cpt102", flag);
1119f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1120f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            android.icu.math.BigDecimal.ONE.compareTo(tenlong, mcld);
1121f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1122f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $31) {
1123f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $31;
1124f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits:" + " "
1125f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + tenlong.toString());
1126f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
1127f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("cpt103", flag);
1128f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1129f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
1130f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1131f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
1132f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1133f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#divide} method. */
1134f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1135f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
1136f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagdivide() {
1137f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        boolean flag = false;
1138f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.MathContext rmcd;
1139f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        int rhu;
1140f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        int rd;
1141f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        int ru;
1142f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.RuntimeException e = null;
1143f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.ArithmeticException ae = null;
1144f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1145f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div301", ((new android.icu.math.BigDecimal("1")).divide(new android.icu.math.BigDecimal("3"),mcdef).toString()).equals("0.333333333"));
1146f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div302", ((new android.icu.math.BigDecimal("2")).divide(new android.icu.math.BigDecimal("3"),mcdef).toString()).equals("0.666666667"));
1147f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div303", ((new android.icu.math.BigDecimal("2.4")).divide(new android.icu.math.BigDecimal("1"),mcdef).toString()).equals("2.4"));
1148f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div304", ((new android.icu.math.BigDecimal("2.4")).divide(new android.icu.math.BigDecimal("-1"),mcdef).toString()).equals("-2.4"));
1149f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div305", ((new android.icu.math.BigDecimal("-2.4")).divide(new android.icu.math.BigDecimal("1"),mcdef).toString()).equals("-2.4"));
1150f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div306", ((new android.icu.math.BigDecimal("-2.4")).divide(new android.icu.math.BigDecimal("-1"),mcdef).toString()).equals("2.4"));
1151f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div307", ((new android.icu.math.BigDecimal("2.40")).divide(new android.icu.math.BigDecimal("1"),mcdef).toString()).equals("2.4"));
1152f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div308", ((new android.icu.math.BigDecimal("2.400")).divide(new android.icu.math.BigDecimal("1"),mcdef).toString()).equals("2.4"));
1153f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div309", ((new android.icu.math.BigDecimal("2.4")).divide(new android.icu.math.BigDecimal("2"),mcdef).toString()).equals("1.2"));
1154f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div310", ((new android.icu.math.BigDecimal("2.400")).divide(new android.icu.math.BigDecimal("2"),mcdef).toString()).equals("1.2"));
1155f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div311", ((new android.icu.math.BigDecimal("2.")).divide(new android.icu.math.BigDecimal("2"),mcdef).toString()).equals("1"));
1156f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div312", ((new android.icu.math.BigDecimal("20")).divide(new android.icu.math.BigDecimal("20"),mcdef).toString()).equals("1"));
1157f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div313", ((new android.icu.math.BigDecimal("187")).divide(new android.icu.math.BigDecimal("187"),mcdef).toString()).equals("1"));
1158f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div314", ((new android.icu.math.BigDecimal("5")).divide(new android.icu.math.BigDecimal("2"),mcdef).toString()).equals("2.5"));
1159f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div315", ((new android.icu.math.BigDecimal("5")).divide(new android.icu.math.BigDecimal("2.0"),mcdef).toString()).equals("2.5"));
1160f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div316", ((new android.icu.math.BigDecimal("5")).divide(new android.icu.math.BigDecimal("2.000"),mcdef).toString()).equals("2.5"));
1161f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div317", ((new android.icu.math.BigDecimal("5")).divide(new android.icu.math.BigDecimal("0.200"),mcdef).toString()).equals("25"));
1162f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div318", ((new android.icu.math.BigDecimal("999999999")).divide(new android.icu.math.BigDecimal("1"),mcdef).toString()).equals("999999999"));
1163f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div319", ((new android.icu.math.BigDecimal("999999999.4")).divide(new android.icu.math.BigDecimal("1"),mcdef).toString()).equals("999999999"));
1164f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div320", ((new android.icu.math.BigDecimal("999999999.5")).divide(new android.icu.math.BigDecimal("1"),mcdef).toString()).equals("1E+9"));
1165f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div321", ((new android.icu.math.BigDecimal("999999999.9")).divide(new android.icu.math.BigDecimal("1"),mcdef).toString()).equals("1E+9"));
1166f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div322", ((new android.icu.math.BigDecimal("999999999.999")).divide(new android.icu.math.BigDecimal("1"),mcdef).toString()).equals("1E+9"));
1167f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div323", ((new android.icu.math.BigDecimal("0.0000E-50")).divide(new android.icu.math.BigDecimal("1"),mcdef).toString()).equals("0"));
1168f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // MC
1169f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div325", ((new android.icu.math.BigDecimal("999999999")).divide(new android.icu.math.BigDecimal("1"),mcdef).toString()).equals("999999999"));
1170f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div326", ((new android.icu.math.BigDecimal("999999999")).divide(new android.icu.math.BigDecimal("1"),mc6).toString()).equals("1E+9"));
1171f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div327", ((new android.icu.math.BigDecimal("9999999")).divide(new android.icu.math.BigDecimal("1"),mc6).toString()).equals("1E+7"));
1172f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div328", ((new android.icu.math.BigDecimal("999999")).divide(new android.icu.math.BigDecimal("1"),mc6).toString()).equals("999999"));
1173f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1174f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // check rounding explicitly [note: digits+1 truncation]
1175f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        rmcd=new android.icu.math.MathContext(2,android.icu.math.MathContext.SCIENTIFIC,false,android.icu.math.MathContext.ROUND_CEILING);
1176f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div330", ((new android.icu.math.BigDecimal("1.50")).divide(one,rmcd).toString()).equals("1.5"));
1177f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div331", ((new android.icu.math.BigDecimal("1.51")).divide(one,rmcd).toString()).equals("1.6"));
1178f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div332", ((new android.icu.math.BigDecimal("1.55")).divide(one,rmcd).toString()).equals("1.6"));
1179f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        rmcd=new android.icu.math.MathContext(2,android.icu.math.MathContext.SCIENTIFIC,false,android.icu.math.MathContext.ROUND_DOWN);
1180f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div333", ((new android.icu.math.BigDecimal("1.55")).divide(one,rmcd).toString()).equals("1.5"));
1181f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div334", ((new android.icu.math.BigDecimal("1.59")).divide(one,rmcd).toString()).equals("1.5"));
1182f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        rmcd=new android.icu.math.MathContext(2,android.icu.math.MathContext.SCIENTIFIC,false,android.icu.math.MathContext.ROUND_FLOOR);
1183f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div335", ((new android.icu.math.BigDecimal("1.55")).divide(one,rmcd).toString()).equals("1.5"));
1184f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div336", ((new android.icu.math.BigDecimal("1.59")).divide(one,rmcd).toString()).equals("1.5"));
1185f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        rmcd=new android.icu.math.MathContext(2,android.icu.math.MathContext.SCIENTIFIC,false,android.icu.math.MathContext.ROUND_HALF_DOWN);
1186f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div337", ((new android.icu.math.BigDecimal("1.45")).divide(one,rmcd).toString()).equals("1.4"));
1187f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div338", ((new android.icu.math.BigDecimal("1.50")).divide(one,rmcd).toString()).equals("1.5"));
1188f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div339", ((new android.icu.math.BigDecimal("1.55")).divide(one,rmcd).toString()).equals("1.5"));
1189f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        rmcd=new android.icu.math.MathContext(2,android.icu.math.MathContext.SCIENTIFIC,false,android.icu.math.MathContext.ROUND_HALF_EVEN);
1190f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div340", ((new android.icu.math.BigDecimal("1.45")).divide(one,rmcd).toString()).equals("1.4"));
1191f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div341", ((new android.icu.math.BigDecimal("1.50")).divide(one,rmcd).toString()).equals("1.5"));
1192f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div342", ((new android.icu.math.BigDecimal("1.55")).divide(one,rmcd).toString()).equals("1.6"));
1193f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        rmcd=new android.icu.math.MathContext(2,android.icu.math.MathContext.SCIENTIFIC,false,android.icu.math.MathContext.ROUND_HALF_UP);
1194f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div343", ((new android.icu.math.BigDecimal("1.45")).divide(one,rmcd).toString()).equals("1.5"));
1195f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div344", ((new android.icu.math.BigDecimal("1.50")).divide(one,rmcd).toString()).equals("1.5"));
1196f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div345", ((new android.icu.math.BigDecimal("1.55")).divide(one,rmcd).toString()).equals("1.6"));
1197f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        rmcd=new android.icu.math.MathContext(2,android.icu.math.MathContext.SCIENTIFIC,false,android.icu.math.MathContext.ROUND_UP);
1198f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div346", ((new android.icu.math.BigDecimal("1.50")).divide(one,rmcd).toString()).equals("1.5"));
1199f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div347", ((new android.icu.math.BigDecimal("1.51")).divide(one,rmcd).toString()).equals("1.6"));
1200f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div348", ((new android.icu.math.BigDecimal("1.55")).divide(one,rmcd).toString()).equals("1.6"));
1201f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1202f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // fixed point...
1203f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div350", ((new android.icu.math.BigDecimal("1")).divide(new android.icu.math.BigDecimal("3")).toString()).equals("0"));
1204f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div351", ((new android.icu.math.BigDecimal("2")).divide(new android.icu.math.BigDecimal("3")).toString()).equals("1"));
1205f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div352", ((new android.icu.math.BigDecimal("2.4")).divide(new android.icu.math.BigDecimal("1")).toString()).equals("2.4"));
1206f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div353", ((new android.icu.math.BigDecimal("2.4")).divide(new android.icu.math.BigDecimal("-1")).toString()).equals("-2.4"));
1207f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div354", ((new android.icu.math.BigDecimal("-2.4")).divide(new android.icu.math.BigDecimal("1")).toString()).equals("-2.4"));
1208f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div355", ((new android.icu.math.BigDecimal("-2.4")).divide(new android.icu.math.BigDecimal("-1")).toString()).equals("2.4"));
1209f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div356", ((new android.icu.math.BigDecimal("2.40")).divide(new android.icu.math.BigDecimal("1")).toString()).equals("2.40"));
1210f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div357", ((new android.icu.math.BigDecimal("2.400")).divide(new android.icu.math.BigDecimal("1")).toString()).equals("2.400"));
1211f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div358", ((new android.icu.math.BigDecimal("2.4")).divide(new android.icu.math.BigDecimal("2")).toString()).equals("1.2"));
1212f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div359", ((new android.icu.math.BigDecimal("2.400")).divide(new android.icu.math.BigDecimal("2")).toString()).equals("1.200"));
1213f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div360", ((new android.icu.math.BigDecimal("2.")).divide(new android.icu.math.BigDecimal("2")).toString()).equals("1"));
1214f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div361", ((new android.icu.math.BigDecimal("20")).divide(new android.icu.math.BigDecimal("20")).toString()).equals("1"));
1215f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div362", ((new android.icu.math.BigDecimal("187")).divide(new android.icu.math.BigDecimal("187")).toString()).equals("1"));
1216f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div363", ((new android.icu.math.BigDecimal("5")).divide(new android.icu.math.BigDecimal("2")).toString()).equals("3"));
1217f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div364", ((new android.icu.math.BigDecimal("5")).divide(new android.icu.math.BigDecimal("2.0")).toString()).equals("3"));
1218f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div365", ((new android.icu.math.BigDecimal("5")).divide(new android.icu.math.BigDecimal("2.000")).toString()).equals("3"));
1219f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div366", ((new android.icu.math.BigDecimal("5")).divide(new android.icu.math.BigDecimal("0.200")).toString()).equals("25"));
1220f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div367", ((new android.icu.math.BigDecimal("5.0")).divide(new android.icu.math.BigDecimal("2")).toString()).equals("2.5"));
1221f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div368", ((new android.icu.math.BigDecimal("5.0")).divide(new android.icu.math.BigDecimal("2.0")).toString()).equals("2.5"));
1222f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div369", ((new android.icu.math.BigDecimal("5.0")).divide(new android.icu.math.BigDecimal("2.000")).toString()).equals("2.5"));
1223f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div370", ((new android.icu.math.BigDecimal("5.0")).divide(new android.icu.math.BigDecimal("0.200")).toString()).equals("25.0"));
1224f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div371", ((new android.icu.math.BigDecimal("999999999")).divide(new android.icu.math.BigDecimal("1")).toString()).equals("999999999"));
1225f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div372", ((new android.icu.math.BigDecimal("999999999.4")).divide(new android.icu.math.BigDecimal("1")).toString()).equals("999999999.4"));
1226f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div373", ((new android.icu.math.BigDecimal("999999999.5")).divide(new android.icu.math.BigDecimal("1")).toString()).equals("999999999.5"));
1227f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div374", ((new android.icu.math.BigDecimal("999999999.9")).divide(new android.icu.math.BigDecimal("1")).toString()).equals("999999999.9"));
1228f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div375", ((new android.icu.math.BigDecimal("999999999.999")).divide(new android.icu.math.BigDecimal("1")).toString()).equals("999999999.999"));
1229f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div376", ((new android.icu.math.BigDecimal("0.0000E-5")).divide(new android.icu.math.BigDecimal("1")).toString()).equals("0"));
1230f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div377", ((new android.icu.math.BigDecimal("0.000000000")).divide(new android.icu.math.BigDecimal("1")).toString()).equals("0.000000000"));
1231f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1232f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // - Fixed point; explicit scales & rounds [old BigDecimal divides]
1233f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        rhu = android.icu.math.MathContext.ROUND_HALF_UP;
1234f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        rd = android.icu.math.MathContext.ROUND_DOWN;
1235f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div001", ((new android.icu.math.BigDecimal("0")).divide(new android.icu.math.BigDecimal("3")).toString()).equals("0"));
1236f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div002", ((new android.icu.math.BigDecimal("0")).divide(new android.icu.math.BigDecimal("3"),rhu).toString()).equals("0"));
1237f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div003", ((new android.icu.math.BigDecimal("0")).divide(new android.icu.math.BigDecimal("3"),0,rhu).toString()).equals("0"));
1238f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div004", ((new android.icu.math.BigDecimal("0")).divide(new android.icu.math.BigDecimal("3"),1,rhu).toString()).equals("0.0"));
1239f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div005", ((new android.icu.math.BigDecimal("0")).divide(new android.icu.math.BigDecimal("3"),2,rhu).toString()).equals("0.00"));
1240f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div006", ((new android.icu.math.BigDecimal("0")).divide(new android.icu.math.BigDecimal("3"),3,rhu).toString()).equals("0.000"));
1241f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div007", ((new android.icu.math.BigDecimal("0")).divide(new android.icu.math.BigDecimal("3"),4,rhu).toString()).equals("0.0000"));
1242f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div008", ((new android.icu.math.BigDecimal("1")).divide(new android.icu.math.BigDecimal("3")).toString()).equals("0"));
1243f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div009", ((new android.icu.math.BigDecimal("1")).divide(new android.icu.math.BigDecimal("3"),rhu).toString()).equals("0"));
1244f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div010", ((new android.icu.math.BigDecimal("1")).divide(new android.icu.math.BigDecimal("3"),0,rhu).toString()).equals("0"));
1245f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div011", ((new android.icu.math.BigDecimal("1")).divide(new android.icu.math.BigDecimal("3"),1,rhu).toString()).equals("0.3"));
1246f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div012", ((new android.icu.math.BigDecimal("1")).divide(new android.icu.math.BigDecimal("3"),2,rhu).toString()).equals("0.33"));
1247f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div013", ((new android.icu.math.BigDecimal("1")).divide(new android.icu.math.BigDecimal("3"),3,rhu).toString()).equals("0.333"));
1248f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div014", ((new android.icu.math.BigDecimal("1")).divide(new android.icu.math.BigDecimal("3"),4,rhu).toString()).equals("0.3333"));
1249f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div015", ((new android.icu.math.BigDecimal("2")).divide(new android.icu.math.BigDecimal("3")).toString()).equals("1"));
1250f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div016", ((new android.icu.math.BigDecimal("2")).divide(new android.icu.math.BigDecimal("3"),rhu).toString()).equals("1"));
1251f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div017", ((new android.icu.math.BigDecimal("2")).divide(new android.icu.math.BigDecimal("3"),0,rhu).toString()).equals("1"));
1252f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div018", ((new android.icu.math.BigDecimal("2")).divide(new android.icu.math.BigDecimal("3"),1,rhu).toString()).equals("0.7"));
1253f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div019", ((new android.icu.math.BigDecimal("2")).divide(new android.icu.math.BigDecimal("3"),2,rhu).toString()).equals("0.67"));
1254f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div020", ((new android.icu.math.BigDecimal("2")).divide(new android.icu.math.BigDecimal("3"),3,rhu).toString()).equals("0.667"));
1255f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div021", ((new android.icu.math.BigDecimal("2")).divide(new android.icu.math.BigDecimal("3"),4,rhu).toString()).equals("0.6667"));
1256f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1257f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div030", ((new android.icu.math.BigDecimal("1000")).divide(new android.icu.math.BigDecimal("2000"),4,rhu).toString()).equals("0.5000"));
1258f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div031", ((new android.icu.math.BigDecimal("1000")).divide(new android.icu.math.BigDecimal("2000"),3,rhu).toString()).equals("0.500"));
1259f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div032", ((new android.icu.math.BigDecimal("1000")).divide(new android.icu.math.BigDecimal("2000"),2,rhu).toString()).equals("0.50"));
1260f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div033", ((new android.icu.math.BigDecimal("1000")).divide(new android.icu.math.BigDecimal("2000"),1,rhu).toString()).equals("0.5"));
1261f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div034", ((new android.icu.math.BigDecimal("1000")).divide(new android.icu.math.BigDecimal("2000"),0,rhu).toString()).equals("1"));
1262f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1263f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div035", ((new android.icu.math.BigDecimal("100")).divide(new android.icu.math.BigDecimal("5000"),4,rhu).toString()).equals("0.0200"));
1264f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div036", ((new android.icu.math.BigDecimal("100")).divide(new android.icu.math.BigDecimal("5000"),3,rhu).toString()).equals("0.020"));
1265f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div037", ((new android.icu.math.BigDecimal("100")).divide(new android.icu.math.BigDecimal("5000"),2,rhu).toString()).equals("0.02"));
1266f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div038", ((new android.icu.math.BigDecimal("100")).divide(new android.icu.math.BigDecimal("5000"),1,rhu).toString()).equals("0.0"));
1267f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div039", ((new android.icu.math.BigDecimal("100")).divide(new android.icu.math.BigDecimal("5000"),0,rhu).toString()).equals("0"));
1268f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1269f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div040", ((new android.icu.math.BigDecimal("9.99999999")).divide(new android.icu.math.BigDecimal("9.77777777"),4,rhu).toString()).equals("1.0227"));
1270f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div041", ((new android.icu.math.BigDecimal("9.9999999")).divide(new android.icu.math.BigDecimal("9.7777777"),4,rhu).toString()).equals("1.0227"));
1271f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div042", ((new android.icu.math.BigDecimal("9.999999")).divide(new android.icu.math.BigDecimal("9.777777"),4,rhu).toString()).equals("1.0227"));
1272f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div043", ((new android.icu.math.BigDecimal("9.77777777")).divide(new android.icu.math.BigDecimal("9.99999999"),4,rhu).toString()).equals("0.9778"));
1273f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div044", ((new android.icu.math.BigDecimal("9.7777777")).divide(new android.icu.math.BigDecimal("9.9999999"),4,rhu).toString()).equals("0.9778"));
1274f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div045", ((new android.icu.math.BigDecimal("9.777777")).divide(new android.icu.math.BigDecimal("9.999999"),4,rhu).toString()).equals("0.9778"));
1275f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div046", ((new android.icu.math.BigDecimal("9.77777")).divide(new android.icu.math.BigDecimal("9.99999"),4,rhu).toString()).equals("0.9778"));
1276f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div047", ((new android.icu.math.BigDecimal("9.7777")).divide(new android.icu.math.BigDecimal("9.9999"),4,rhu).toString()).equals("0.9778"));
1277f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div048", ((new android.icu.math.BigDecimal("9.777")).divide(new android.icu.math.BigDecimal("9.999"),4,rhu).toString()).equals("0.9778"));
1278f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div049", ((new android.icu.math.BigDecimal("9.77")).divide(new android.icu.math.BigDecimal("9.99"),4,rhu).toString()).equals("0.9780"));
1279f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div050", ((new android.icu.math.BigDecimal("9.7")).divide(new android.icu.math.BigDecimal("9.9"),4,rhu).toString()).equals("0.9798"));
1280f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div051", ((new android.icu.math.BigDecimal("9.")).divide(new android.icu.math.BigDecimal("9."),4,rhu).toString()).equals("1.0000"));
1281f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1282f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div060", ((new android.icu.math.BigDecimal("9.99999999")).divide(new android.icu.math.BigDecimal("9.77777777"),rhu).toString()).equals("1.02272727"));
1283f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div061", ((new android.icu.math.BigDecimal("9.9999999")).divide(new android.icu.math.BigDecimal("9.7777777"),rhu).toString()).equals("1.0227273"));
1284f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div062", ((new android.icu.math.BigDecimal("9.999999")).divide(new android.icu.math.BigDecimal("9.777777"),rhu).toString()).equals("1.022727"));
1285f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div063", ((new android.icu.math.BigDecimal("9.77777777")).divide(new android.icu.math.BigDecimal("9.99999999"),rhu).toString()).equals("0.97777778"));
1286f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div064", ((new android.icu.math.BigDecimal("9.7777777")).divide(new android.icu.math.BigDecimal("9.9999999"),rhu).toString()).equals("0.9777778"));
1287f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div065", ((new android.icu.math.BigDecimal("9.777777")).divide(new android.icu.math.BigDecimal("9.999999"),rhu).toString()).equals("0.977778"));
1288f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div066", ((new android.icu.math.BigDecimal("9.77777")).divide(new android.icu.math.BigDecimal("9.99999"),rhu).toString()).equals("0.97778"));
1289f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div067", ((new android.icu.math.BigDecimal("9.7777")).divide(new android.icu.math.BigDecimal("9.9999"),rhu).toString()).equals("0.9778"));
1290f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div068", ((new android.icu.math.BigDecimal("9.777")).divide(new android.icu.math.BigDecimal("9.999"),rhu).toString()).equals("0.978"));
1291f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div069", ((new android.icu.math.BigDecimal("9.77")).divide(new android.icu.math.BigDecimal("9.99"),rhu).toString()).equals("0.98"));
1292f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div070", ((new android.icu.math.BigDecimal("9.7")).divide(new android.icu.math.BigDecimal("9.9"),rhu).toString()).equals("1.0"));
1293f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div071", ((new android.icu.math.BigDecimal("9.")).divide(new android.icu.math.BigDecimal("9."),rhu).toString()).equals("1"));
1294f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1295f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        rd=android.icu.math.MathContext.ROUND_DOWN; // test this is actually being used
1296f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div080", ((new android.icu.math.BigDecimal("2")).divide(new android.icu.math.BigDecimal("3"),0,rd).toString()).equals("0"));
1297f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div081", ((new android.icu.math.BigDecimal("2")).divide(new android.icu.math.BigDecimal("3"),1,rd).toString()).equals("0.6"));
1298f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div082", ((new android.icu.math.BigDecimal("2")).divide(new android.icu.math.BigDecimal("3"),2,rd).toString()).equals("0.66"));
1299f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div083", ((new android.icu.math.BigDecimal("2")).divide(new android.icu.math.BigDecimal("3"),3,rd).toString()).equals("0.666"));
1300f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div084", ((new android.icu.math.BigDecimal("2")).divide(new android.icu.math.BigDecimal("3"),4,rd).toString()).equals("0.6666"));
1301f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1302f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        ru=android.icu.math.MathContext.ROUND_UNNECESSARY; // check for some 0 residues
1303f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div090", ((new android.icu.math.BigDecimal("1000")).divide(new android.icu.math.BigDecimal("5"),4,ru).toString()).equals("200.0000"));
1304f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div091", ((new android.icu.math.BigDecimal("1000")).divide(new android.icu.math.BigDecimal("50"),4,ru).toString()).equals("20.0000"));
1305f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div092", ((new android.icu.math.BigDecimal("1000")).divide(new android.icu.math.BigDecimal("500"),4,ru).toString()).equals("2.0000"));
1306f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div093", ((new android.icu.math.BigDecimal("1000")).divide(new android.icu.math.BigDecimal("5000"),4,ru).toString()).equals("0.2000"));
1307f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div094", ((new android.icu.math.BigDecimal("1000")).divide(new android.icu.math.BigDecimal("5000"),3,ru).toString()).equals("0.200"));
1308f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div095", ((new android.icu.math.BigDecimal("1000")).divide(new android.icu.math.BigDecimal("5000"),2,ru).toString()).equals("0.20"));
1309f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div096", ((new android.icu.math.BigDecimal("1000")).divide(new android.icu.math.BigDecimal("5000"),1,ru).toString()).equals("0.2"));
1310f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1311f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // check rounding explicitly
1312f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div101", ((new android.icu.math.BigDecimal("0.055")).divide(one,2,android.icu.math.MathContext.ROUND_CEILING).toString()).equals("0.06"));
1313f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div102", ((new android.icu.math.BigDecimal("0.055")).divide(one,1,android.icu.math.MathContext.ROUND_CEILING).toString()).equals("0.1"));
1314f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div103", ((new android.icu.math.BigDecimal("0.055")).divide(one,0,android.icu.math.MathContext.ROUND_CEILING).toString()).equals("1"));
1315f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div104", ((new android.icu.math.BigDecimal("0.055")).divide(one,2,android.icu.math.MathContext.ROUND_DOWN).toString()).equals("0.05"));
1316f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div105", ((new android.icu.math.BigDecimal("0.055")).divide(one,1,android.icu.math.MathContext.ROUND_DOWN).toString()).equals("0.0"));
1317f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div106", ((new android.icu.math.BigDecimal("0.055")).divide(one,0,android.icu.math.MathContext.ROUND_DOWN).toString()).equals("0"));
1318f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div107", ((new android.icu.math.BigDecimal("0.055")).divide(one,2,android.icu.math.MathContext.ROUND_FLOOR).toString()).equals("0.05"));
1319f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div108", ((new android.icu.math.BigDecimal("0.055")).divide(one,1,android.icu.math.MathContext.ROUND_FLOOR).toString()).equals("0.0"));
1320f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div109", ((new android.icu.math.BigDecimal("0.055")).divide(one,0,android.icu.math.MathContext.ROUND_FLOOR).toString()).equals("0"));
1321f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1322f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div110", ((new android.icu.math.BigDecimal("0.045")).divide(one,2,android.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("0.04"));
1323f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div111", ((new android.icu.math.BigDecimal("0.045")).divide(one,1,android.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("0.0"));
1324f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div112", ((new android.icu.math.BigDecimal("0.045")).divide(one,0,android.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("0"));
1325f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div113", ((new android.icu.math.BigDecimal("0.050")).divide(one,2,android.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("0.05"));
1326f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div114", ((new android.icu.math.BigDecimal("0.050")).divide(one,1,android.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("0.0"));
1327f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div115", ((new android.icu.math.BigDecimal("0.050")).divide(one,0,android.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("0"));
1328f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div116", ((new android.icu.math.BigDecimal("0.055")).divide(one,2,android.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("0.05"));
1329f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div117", ((new android.icu.math.BigDecimal("0.055")).divide(one,1,android.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("0.1"));
1330f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div118", ((new android.icu.math.BigDecimal("0.055")).divide(one,0,android.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("0"));
1331f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1332f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div120", ((new android.icu.math.BigDecimal("0.045")).divide(one,2,android.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0.04"));
1333f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div121", ((new android.icu.math.BigDecimal("0.045")).divide(one,1,android.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0.0"));
1334f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div122", ((new android.icu.math.BigDecimal("0.045")).divide(one,0,android.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0"));
1335f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div123", ((new android.icu.math.BigDecimal("0.050")).divide(one,2,android.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0.05"));
1336f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div124", ((new android.icu.math.BigDecimal("0.050")).divide(one,1,android.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0.0"));
1337f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div125", ((new android.icu.math.BigDecimal("0.050")).divide(one,0,android.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0"));
1338f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div126", ((new android.icu.math.BigDecimal("0.150")).divide(one,2,android.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0.15"));
1339f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div127", ((new android.icu.math.BigDecimal("0.150")).divide(one,1,android.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0.2"));
1340f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div128", ((new android.icu.math.BigDecimal("0.150")).divide(one,0,android.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0"));
1341f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div129", ((new android.icu.math.BigDecimal("0.055")).divide(one,2,android.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0.06"));
1342f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div130", ((new android.icu.math.BigDecimal("0.055")).divide(one,1,android.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0.1"));
1343f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div131", ((new android.icu.math.BigDecimal("0.055")).divide(one,0,android.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0"));
1344f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1345f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div140", ((new android.icu.math.BigDecimal("0.045")).divide(one,2,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.05"));
1346f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div141", ((new android.icu.math.BigDecimal("0.045")).divide(one,1,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.0"));
1347f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div142", ((new android.icu.math.BigDecimal("0.045")).divide(one,0,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0"));
1348f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div143", ((new android.icu.math.BigDecimal("0.050")).divide(one,2,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.05"));
1349f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div144", ((new android.icu.math.BigDecimal("0.050")).divide(one,1,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.1"));
1350f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div145", ((new android.icu.math.BigDecimal("0.050")).divide(one,0,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0"));
1351f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div146", ((new android.icu.math.BigDecimal("0.055")).divide(one,2,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.06"));
1352f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div147", ((new android.icu.math.BigDecimal("0.055")).divide(one,1,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.1"));
1353f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div148", ((new android.icu.math.BigDecimal("0.055")).divide(one,0,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0"));
1354f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1355f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div150", ((new android.icu.math.BigDecimal("0.055")).divide(one,2,android.icu.math.MathContext.ROUND_UP).toString()).equals("0.06"));
1356f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div151", ((new android.icu.math.BigDecimal("0.055")).divide(one,1,android.icu.math.MathContext.ROUND_UP).toString()).equals("0.1"));
1357f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div52.", ((new android.icu.math.BigDecimal("0.055")).divide(one,0,android.icu.math.MathContext.ROUND_UP).toString()).equals("1"));
1358f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1359f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // - error conditions ---
1360f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1361f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ten.divide((android.icu.math.BigDecimal) null);
1362f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1363f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $32) {
1364f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
1365f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull */
1366f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div201", flag);
1367f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1368f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ten.divide(ten, (android.icu.math.MathContext) null);
1369f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1370f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $33) {
1371f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
1372f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull2 */
1373f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div202", flag);
1374f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1375f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1376f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            (new android.icu.math.BigDecimal("1")).divide(new android.icu.math.BigDecimal("3"), -8, 0);
1377f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1378f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.RuntimeException $34) {
1379f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            e = $34;
1380f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = flag & (e.getMessage()).equals("Negative scale: -8");
1381f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkscale */
1382f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div203", flag);
1383f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1384f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1385f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            (new android.icu.math.BigDecimal("1000")).divide(new android.icu.math.BigDecimal("5000"), 0, android.icu.math.MathContext.ROUND_UNNECESSARY);
1386f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1387f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $35) {
1388f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $35;
1389f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Rounding necessary");
1390f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* rounn */
1391f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div204", flag);
1392f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1393f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            (new android.icu.math.BigDecimal("1001")).divide(new android.icu.math.BigDecimal("10"), 0, android.icu.math.MathContext.ROUND_UNNECESSARY);
1394f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1395f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $36) {
1396f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $36;
1397f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Rounding necessary");
1398f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* rounn */
1399f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div205", flag);
1400f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1401f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            (new android.icu.math.BigDecimal("1001")).divide(new android.icu.math.BigDecimal("100"), 1, android.icu.math.MathContext.ROUND_UNNECESSARY);
1402f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1403f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $37) {
1404f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $37;
1405f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Rounding necessary");
1406f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* rounn */
1407f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div206", flag);
1408f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1409f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            (new android.icu.math.BigDecimal("10001")).divide(
1410f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    new android.icu.math.BigDecimal("10000"), 1,
1411f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    android.icu.math.MathContext.ROUND_UNNECESSARY);
1412f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1413f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $38) {
1414f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $38;
1415f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Rounding necessary");
1416f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* rounn */
1417f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div207", flag);
1418f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1419f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            (new android.icu.math.BigDecimal("1.0001")).divide(
1420f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    new android.icu.math.BigDecimal("1"), 1,
1421f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    android.icu.math.MathContext.ROUND_UNNECESSARY);
1422f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                flag = false;
1423f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $39) {
1424f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $39;
1425f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Rounding necessary");
1426f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* rounn */
1427f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div208", flag);
1428f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1429f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1430f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            (new android.icu.math.BigDecimal("5"))
1431f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    .divide(new android.icu.math.BigDecimal("0.00"));
1432f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1433f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $40) {
1434f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $40;
1435f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Divide by 0");
1436f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* div0 */
1437f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div209", flag);
1438f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1439f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1440f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            tenlong.divide(android.icu.math.BigDecimal.ONE, mcld);
1441f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1442f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $41) {
1443f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $41;
1444f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits:" + " "
1445f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + tenlong.toString());
1446f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
1447f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div210", flag);
1448f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1449f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            android.icu.math.BigDecimal.ONE.divide(tenlong, mcld);
1450f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1451f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $42) {
1452f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $42;
1453f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits:" + " "
1454f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + tenlong.toString());
1455f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
1456f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("div211", flag);
1457f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1458f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
1459f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1460f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
1461f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1462f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#divideInteger} method. */
1463f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1464f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
1465f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagdivideInteger() {
1466f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        boolean flag = false;
1467f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.ArithmeticException ae = null;
1468f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1469f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI001", ((new android.icu.math.BigDecimal("101.3")).divideInteger(new android.icu.math.BigDecimal("1"),mcdef).toString()).equals("101"));
1470f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI002", ((new android.icu.math.BigDecimal("101.0")).divideInteger(new android.icu.math.BigDecimal("1"),mcdef).toString()).equals("101"));
1471f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI003", ((new android.icu.math.BigDecimal("101.3")).divideInteger(new android.icu.math.BigDecimal("3"),mcdef).toString()).equals("33"));
1472f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI004", ((new android.icu.math.BigDecimal("101.0")).divideInteger(new android.icu.math.BigDecimal("3"),mcdef).toString()).equals("33"));
1473f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI005", ((new android.icu.math.BigDecimal("2.4")).divideInteger(new android.icu.math.BigDecimal("1"),mcdef).toString()).equals("2"));
1474f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI006", ((new android.icu.math.BigDecimal("2.400")).divideInteger(new android.icu.math.BigDecimal("1"),mcdef).toString()).equals("2"));
1475f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI007", ((new android.icu.math.BigDecimal("18")).divideInteger(new android.icu.math.BigDecimal("18"),mcdef).toString()).equals("1"));
1476f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI008", ((new android.icu.math.BigDecimal("1120")).divideInteger(new android.icu.math.BigDecimal("1000"),mcdef).toString()).equals("1"));
1477f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI009", ((new android.icu.math.BigDecimal("2.4")).divideInteger(new android.icu.math.BigDecimal("2"),mcdef).toString()).equals("1"));
1478f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI010", ((new android.icu.math.BigDecimal("2.400")).divideInteger(new android.icu.math.BigDecimal("2"),mcdef).toString()).equals("1"));
1479f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI011", ((new android.icu.math.BigDecimal("0.5")).divideInteger(new android.icu.math.BigDecimal("2.000"),mcdef).toString()).equals("0"));
1480f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI012", ((new android.icu.math.BigDecimal("8.005")).divideInteger(new android.icu.math.BigDecimal("7"),mcdef).toString()).equals("1"));
1481f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI013", ((new android.icu.math.BigDecimal("5")).divideInteger(new android.icu.math.BigDecimal("2"),mcdef).toString()).equals("2"));
1482f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI014", ((new android.icu.math.BigDecimal("0")).divideInteger(new android.icu.math.BigDecimal("2"),mcdef).toString()).equals("0"));
1483f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI015", ((new android.icu.math.BigDecimal("0.00")).divideInteger(new android.icu.math.BigDecimal("2"),mcdef).toString()).equals("0"));
1484f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // MC
1485f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI016", ((new android.icu.math.BigDecimal("5")).divideInteger(new android.icu.math.BigDecimal("2"), mce).toString()).equals("2"));
1486f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI017", ((new android.icu.math.BigDecimal("5")).divideInteger(new android.icu.math.BigDecimal("2"), mc6).toString()).equals("2"));
1487f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1488f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // Fixed --
1489f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI021", ((new android.icu.math.BigDecimal("101.3")).divideInteger(new android.icu.math.BigDecimal("1")).toString()).equals("101"));
1490f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI022", ((new android.icu.math.BigDecimal("101.0")).divideInteger(new android.icu.math.BigDecimal("1")).toString()).equals("101"));
1491f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI023", ((new android.icu.math.BigDecimal("101.3")).divideInteger(new android.icu.math.BigDecimal("3")).toString()).equals("33"));
1492f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI024", ((new android.icu.math.BigDecimal("101.0")).divideInteger(new android.icu.math.BigDecimal("3")).toString()).equals("33"));
1493f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI025", ((new android.icu.math.BigDecimal("2.4")).divideInteger(new android.icu.math.BigDecimal("1")).toString()).equals("2"));
1494f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI026", ((new android.icu.math.BigDecimal("2.400")).divideInteger(new android.icu.math.BigDecimal("1")).toString()).equals("2"));
1495f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI027", ((new android.icu.math.BigDecimal("18")).divideInteger(new android.icu.math.BigDecimal("18")).toString()).equals("1"));
1496f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI028", ((new android.icu.math.BigDecimal("1120")).divideInteger(new android.icu.math.BigDecimal("1000")).toString()).equals("1"));
1497f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI029", ((new android.icu.math.BigDecimal("2.4")).divideInteger(new android.icu.math.BigDecimal("2")).toString()).equals("1"));
1498f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI030", ((new android.icu.math.BigDecimal("2.400")).divideInteger(new android.icu.math.BigDecimal("2")).toString()).equals("1"));
1499f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI031", ((new android.icu.math.BigDecimal("0.5")).divideInteger(new android.icu.math.BigDecimal("2.000")).toString()).equals("0"));
1500f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI032", ((new android.icu.math.BigDecimal("8.005")).divideInteger(new android.icu.math.BigDecimal("7")).toString()).equals("1"));
1501f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI033", ((new android.icu.math.BigDecimal("5")).divideInteger(new android.icu.math.BigDecimal("2")).toString()).equals("2"));
1502f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI034", ((new android.icu.math.BigDecimal("0")).divideInteger(new android.icu.math.BigDecimal("2")).toString()).equals("0"));
1503f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI035", ((new android.icu.math.BigDecimal("0.00")).divideInteger(new android.icu.math.BigDecimal("2")).toString()).equals("0"));
1504f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1505f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1506f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ten.divideInteger((android.icu.math.BigDecimal) null);
1507f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1508f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $43) {
1509f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
1510f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull */
1511f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI101", flag);
1512f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1513f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ten.divideInteger(ten, (android.icu.math.MathContext) null);
1514f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1515f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $44) {
1516f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
1517f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull2 */
1518f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI102", flag);
1519f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1520f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1521f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            android.icu.math.BigDecimal.ONE.divideInteger(tenlong, mcld);
1522f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1523f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $45) {
1524f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $45;
1525f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits:" + " "
1526f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + tenlong.toString());
1527f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
1528f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI103", flag);
1529f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1530f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1531f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            tenlong.divideInteger(android.icu.math.BigDecimal.ONE, mcld);
1532f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1533f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $46) {
1534f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $46;
1535f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits:" + " "
1536f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + tenlong.toString());
1537f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
1538f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dvI104", flag);
1539f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1540f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
1541f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1542f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
1543f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1544f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#max} method. */
1545f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1546f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
1547f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagmax() {
1548f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        boolean flag = false;
1549f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.ArithmeticException ae = null;
1550f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1551f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // we assume add/subtract test function; this and min just
1552f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // test existence and test the truth table
1553f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("max001", ((new android.icu.math.BigDecimal("5")).max(new android.icu.math.BigDecimal("2")).toString()).equals("5"));
1554f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("max002", ((new android.icu.math.BigDecimal("5")).max(new android.icu.math.BigDecimal("5")).toString()).equals("5"));
1555f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("max003", ((new android.icu.math.BigDecimal("2")).max(new android.icu.math.BigDecimal("7")).toString()).equals("7"));
1556f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("max004", ((new android.icu.math.BigDecimal("2")).max(new android.icu.math.BigDecimal("7"),mcdef).toString()).equals("7"));
1557f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("max005", ((new android.icu.math.BigDecimal("2")).max(new android.icu.math.BigDecimal("7"),mc6).toString()).equals("7"));
1558f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("max006", ((new android.icu.math.BigDecimal("2E+3")).max(new android.icu.math.BigDecimal("7")).toString()).equals("2000"));
1559f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("max007", ((new android.icu.math.BigDecimal("2E+3")).max(new android.icu.math.BigDecimal("7"),mc3).toString()).equals("2E+3"));
1560f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("max008", ((new android.icu.math.BigDecimal("7")).max(new android.icu.math.BigDecimal("2E+3")).toString()).equals("2000"));
1561f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("max009", ((new android.icu.math.BigDecimal("7")).max(new android.icu.math.BigDecimal("2E+3"),mc3).toString()).equals("2E+3"));
1562f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1563f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ten.max((android.icu.math.BigDecimal) null);
1564f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1565f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $47) {
1566f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
1567f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull */
1568f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("max010", flag);
1569f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1570f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ten.max(ten, (android.icu.math.MathContext) null);
1571f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1572f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $48) {
1573f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
1574f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull2 */
1575f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("max011", flag);
1576f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1577f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            tenlong.max(android.icu.math.BigDecimal.ONE, mcld);
1578f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1579f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $49) {
1580f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $49;
1581f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits:" + " "
1582f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + tenlong.toString());
1583f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
1584f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("max012", flag);
1585f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1586f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            android.icu.math.BigDecimal.ONE.max(tenlong, mcld);
1587f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1588f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $50) {
1589f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $50;
1590f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits:" + " "
1591f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + tenlong.toString());
1592f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
1593f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("max013", flag);
1594f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
1595f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1596f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#min} method. */
1597f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1598f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
1599f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagmin() {
1600f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        boolean flag = false;
1601f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal minx = null;
1602f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.ArithmeticException ae = null;
1603f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // we assume add/subtract test function; this and max just
1604f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // test existence and test the truth table
1605f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1606f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("min001", ((new android.icu.math.BigDecimal("5")).min(new android.icu.math.BigDecimal("2")).toString()).equals("2"));
1607f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("min002", ((new android.icu.math.BigDecimal("5")).min(new android.icu.math.BigDecimal("5")).toString()).equals("5"));
1608f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("min003", ((new android.icu.math.BigDecimal("2")).min(new android.icu.math.BigDecimal("7")).toString()).equals("2"));
1609f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("min004", ((new android.icu.math.BigDecimal("2")).min(new android.icu.math.BigDecimal("7"),mcdef).toString()).equals("2"));
1610f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("min005", ((new android.icu.math.BigDecimal("1")).min(new android.icu.math.BigDecimal("7"),mc6).toString()).equals("1"));
1611f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("min006", ((new android.icu.math.BigDecimal("-2E+3")).min(new android.icu.math.BigDecimal("7")).toString()).equals("-2000"));
1612f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("min007", ((new android.icu.math.BigDecimal("-2E+3")).min(new android.icu.math.BigDecimal("7"),mc3).toString()).equals("-2E+3"));
1613f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("min008", ((new android.icu.math.BigDecimal("7")).min(new android.icu.math.BigDecimal("-2E+3")).toString()).equals("-2000"));
1614f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("min009", ((new android.icu.math.BigDecimal("7")).min(new android.icu.math.BigDecimal("-2E+3"),mc3).toString()).equals("-2E+3"));
1615f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1616f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            minx = ten;
1617f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            minx.min((android.icu.math.BigDecimal) null);
1618f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1619f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $51) {
1620f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
1621f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull */
1622f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("min010", flag);
1623f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1624f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            minx = ten;
1625f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            minx.min(ten, (android.icu.math.MathContext) null);
1626f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1627f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $52) {
1628f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
1629f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull2 */
1630f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("min011", flag);
1631f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1632f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1633f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            tenlong.min(android.icu.math.BigDecimal.ONE, mcld);
1634f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1635f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $53) {
1636f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $53;
1637f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits:" + " "
1638f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + tenlong.toString());
1639f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
1640f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("min012", flag);
1641f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1642f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            (new android.icu.math.BigDecimal(9)).min(tenlong, mcld);
1643f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1644f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $54) {
1645f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $54;
1646f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits:" + " "
1647f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + tenlong.toString());
1648f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
1649f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("min013", flag);
1650f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
1651f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1652f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
1653f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1654f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#multiply} method. */
1655f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1656f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
1657f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagmultiply() {
1658f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        boolean flag = false;
1659f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal l9;
1660f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal l77e;
1661f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal l12345;
1662f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal edge;
1663f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal tenedge;
1664f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal hunedge;
1665f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal opo;
1666f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal d1 = null;
1667f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal d2 = null;
1668f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.ArithmeticException oe = null;
1669f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.ArithmeticException ae = null;
1670f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1671f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul001", ((new android.icu.math.BigDecimal("2")).multiply(new android.icu.math.BigDecimal("3"),mcdef).toString()).equals("6"));
1672f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul002", ((new android.icu.math.BigDecimal("5")).multiply(new android.icu.math.BigDecimal("1"),mcdef).toString()).equals("5"));
1673f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul003", ((new android.icu.math.BigDecimal("5")).multiply(new android.icu.math.BigDecimal("2"),mcdef).toString()).equals("10"));
1674f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul004", ((new android.icu.math.BigDecimal("1.20")).multiply(new android.icu.math.BigDecimal("2"),mcdef).toString()).equals("2.40"));
1675f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul005", ((new android.icu.math.BigDecimal("1.20")).multiply(new android.icu.math.BigDecimal("0"),mcdef).toString()).equals("0"));
1676f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul006", ((new android.icu.math.BigDecimal("1.20")).multiply(new android.icu.math.BigDecimal("-2"),mcdef).toString()).equals("-2.40"));
1677f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul007", ((new android.icu.math.BigDecimal("-1.20")).multiply(new android.icu.math.BigDecimal("2"),mcdef).toString()).equals("-2.40"));
1678f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul008", ((new android.icu.math.BigDecimal("-1.20")).multiply(new android.icu.math.BigDecimal("0"),mcdef).toString()).equals("0"));
1679f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul009", ((new android.icu.math.BigDecimal("-1.20")).multiply(new android.icu.math.BigDecimal("-2"),mcdef).toString()).equals("2.40"));
1680f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul010", ((new android.icu.math.BigDecimal("5.09")).multiply(new android.icu.math.BigDecimal("7.1"),mcdef).toString()).equals("36.139"));
1681f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul011", ((new android.icu.math.BigDecimal("2.5")).multiply(new android.icu.math.BigDecimal("4"),mcdef).toString()).equals("10.0"));
1682f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul012", ((new android.icu.math.BigDecimal("2.50")).multiply(new android.icu.math.BigDecimal("4"),mcdef).toString()).equals("10.00"));
1683f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul013", ((new android.icu.math.BigDecimal("1.23456789")).multiply(new android.icu.math.BigDecimal("1.00000000"),mcdef).toString()).equals("1.23456789"));
1684f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1685f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul014", ((new android.icu.math.BigDecimal("9.999999999")).multiply(new android.icu.math.BigDecimal("9.999999999"),mcdef).toString()).equals("100.000000"));
1686f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1687f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul015", ((new android.icu.math.BigDecimal("2.50")).multiply(new android.icu.math.BigDecimal("4"),mcdef).toString()).equals("10.00"));
1688f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul016", ((new android.icu.math.BigDecimal("2.50")).multiply(new android.icu.math.BigDecimal("4"),mc6).toString()).equals("10.00"));
1689f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul017", ((new android.icu.math.BigDecimal("9.999999999")).multiply(new android.icu.math.BigDecimal("9.999999999"),mc6).toString()).equals("100.000"));
1690f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1691f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1692f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul020", ((new android.icu.math.BigDecimal("2")).multiply(new android.icu.math.BigDecimal("3")).toString()).equals("6"));
1693f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul021", ((new android.icu.math.BigDecimal("5")).multiply(new android.icu.math.BigDecimal("1")).toString()).equals("5"));
1694f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul022", ((new android.icu.math.BigDecimal("5")).multiply(new android.icu.math.BigDecimal("2")).toString()).equals("10"));
1695f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul023", ((new android.icu.math.BigDecimal("1.20")).multiply(new android.icu.math.BigDecimal("2")).toString()).equals("2.40"));
1696f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul024", ((new android.icu.math.BigDecimal("1.20")).multiply(new android.icu.math.BigDecimal("0")).toString()).equals("0.00"));
1697f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul025", ((new android.icu.math.BigDecimal("1.20")).multiply(new android.icu.math.BigDecimal("-2")).toString()).equals("-2.40"));
1698f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul026", ((new android.icu.math.BigDecimal("-1.20")).multiply(new android.icu.math.BigDecimal("2")).toString()).equals("-2.40"));
1699f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul027", ((new android.icu.math.BigDecimal("-1.20")).multiply(new android.icu.math.BigDecimal("0")).toString()).equals("0.00"));
1700f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul028", ((new android.icu.math.BigDecimal("-1.20")).multiply(new android.icu.math.BigDecimal("-2")).toString()).equals("2.40"));
1701f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul029", ((new android.icu.math.BigDecimal("5.09")).multiply(new android.icu.math.BigDecimal("7.1")).toString()).equals("36.139"));
1702f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul030", ((new android.icu.math.BigDecimal("2.5")).multiply(new android.icu.math.BigDecimal("4")).toString()).equals("10.0"));
1703f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul031", ((new android.icu.math.BigDecimal("2.50")).multiply(new android.icu.math.BigDecimal("4")).toString()).equals("10.00"));
1704f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul032", ((new android.icu.math.BigDecimal("1.23456789")).multiply(new android.icu.math.BigDecimal("1.00000000")).toString()).equals("1.2345678900000000"));
1705f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1706f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul033", ((new android.icu.math.BigDecimal("1234.56789")).multiply(new android.icu.math.BigDecimal("-1000.00000")).toString()).equals("-1234567.8900000000"));
1707f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1708f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul034", ((new android.icu.math.BigDecimal("-1234.56789")).multiply(new android.icu.math.BigDecimal("1000.00000")).toString()).equals("-1234567.8900000000"));
1709f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1710f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul035", ((new android.icu.math.BigDecimal("9.999999999")).multiply(new android.icu.math.BigDecimal("9.999999999")).toString()).equals("99.999999980000000001"));
1711f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1712f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul036", ((new android.icu.math.BigDecimal("5.00")).multiply(new android.icu.math.BigDecimal("1E-3")).toString()).equals("0.00500"));
1713f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul037", ((new android.icu.math.BigDecimal("00.00")).multiply(new android.icu.math.BigDecimal("0.000")).toString()).equals("0.00000"));
1714f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul038", ((new android.icu.math.BigDecimal("00.00")).multiply(new android.icu.math.BigDecimal("0E-3")).toString()).equals("0.00")); // rhs is '0'
1715f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 1999.12.21: next one is a edge case if intermediate longs are used
1716f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul039", ((new android.icu.math.BigDecimal("999999999999")).multiply(new android.icu.math.BigDecimal("9765625")).toString()).equals("9765624999990234375"));
1717f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1718f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        l9 = new android.icu.math.BigDecimal("123456789E+10");
1719f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        l77e = new android.icu.math.BigDecimal("77E-20");
1720f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul040", (l9.multiply(new android.icu.math.BigDecimal("3456757")).toString()).equals("4267601195732730000000000"));
1721f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul041", (l9.multiply(new android.icu.math.BigDecimal("3456757"), mc3).toString()).equals("4.26E+24"));
1722f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul042", (l9.multiply(l77e).toString()).equals("0.95061727530000000000"));
1723f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul043", (l9.multiply(l77e, mc3).toString()).equals("0.947"));
1724f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul044", (l77e.multiply(l9, mc3).toString()).equals("0.947"));
1725f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1726f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        l12345 = new android.icu.math.BigDecimal("123.45");
1727f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul050", (l12345.multiply(new android.icu.math.BigDecimal("1e11"),mcdef).toString()).equals("1.2345E+13"));
1728f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul051", (l12345.multiply(new android.icu.math.BigDecimal("1e11"),mcs).toString()).equals("1.2345E+13"));
1729f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul052", (l12345.multiply(new android.icu.math.BigDecimal("1e+9"),mce).toString()).equals("123.45E+9"));
1730f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul053", (l12345.multiply(new android.icu.math.BigDecimal("1e10"),mce).toString()).equals("1.2345E+12"));
1731f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul054", (l12345.multiply(new android.icu.math.BigDecimal("1e11"),mce).toString()).equals("12.345E+12"));
1732f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul055", (l12345.multiply(new android.icu.math.BigDecimal("1e12"),mce).toString()).equals("123.45E+12"));
1733f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul056", (l12345.multiply(new android.icu.math.BigDecimal("1e13"),mce).toString()).equals("1.2345E+15"));
1734f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1735f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // test some cases that are close to exponent overflow
1736f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul060", (one.multiply(new android.icu.math.BigDecimal("9e999999999"),mcs).toString()).equals("9E+999999999"));
1737f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul061", (one.multiply(new android.icu.math.BigDecimal("9.9e999999999"),mcs).toString()).equals("9.9E+999999999"));
1738f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul062", (one.multiply(new android.icu.math.BigDecimal("9.99e999999999"),mcs).toString()).equals("9.99E+999999999"));
1739f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul063", (ten.multiply(new android.icu.math.BigDecimal("9e999999999"),mce).toString()).equals("90E+999999999"));
1740f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul064", (ten.multiply(new android.icu.math.BigDecimal("9.9e999999999"),mce).toString()).equals("99.0E+999999999"));
1741f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        edge = new android.icu.math.BigDecimal("9.999e999999999");
1742f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        tenedge = ten.multiply(edge, mce);
1743f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul065", (tenedge.toString()).equals("99.990E+999999999"));
1744f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        hunedge = ten.multiply(tenedge, mce);
1745f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul066", (hunedge.toString()).equals("999.900E+999999999"));
1746f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        opo = new android.icu.math.BigDecimal("0.1"); // one tenth
1747f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul067", (opo.multiply(new android.icu.math.BigDecimal("9e-999999998"),mcs).toString()).equals("9E-999999999"));
1748f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul068", (opo.multiply(new android.icu.math.BigDecimal("99e-999999998"),mcs).toString()).equals("9.9E-999999998"));
1749f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul069", (opo.multiply(new android.icu.math.BigDecimal("999e-999999998"),mcs).toString()).equals("9.99E-999999997"));
1750f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1751f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul070", (opo.multiply(new android.icu.math.BigDecimal("9e-999999998"),mce).toString()).equals("9E-999999999"));
1752f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul071", (opo.multiply(new android.icu.math.BigDecimal("99e-999999998"),mce).toString()).equals("99E-999999999"));
1753f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul072", (opo.multiply(new android.icu.math.BigDecimal("999e-999999998"),mce).toString()).equals("999E-999999999"));
1754f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul073", (opo.multiply(new android.icu.math.BigDecimal("999e-999999997"),mce).toString()).equals("9.99E-999999996"));
1755f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul074", (opo.multiply(new android.icu.math.BigDecimal("9999e-999999997"),mce).toString()).equals("99.99E-999999996"));
1756f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul074", (opo.multiply(new android.icu.math.BigDecimal("99999e-999999997"),mce).toString()).equals("999.99E-999999996"));
1757f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1758f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // test some intermediate lengths
1759f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul080", (opo.multiply(new android.icu.math.BigDecimal("123456789"),mcs).toString()).equals("12345678.9"));
1760f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul081", (opo.multiply(new android.icu.math.BigDecimal("12345678901234"),mcs).toString()).equals("1.23456789E+12"));
1761f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul082", (opo.multiply(new android.icu.math.BigDecimal("123456789123456789"),mcs).toString()).equals("1.23456789E+16"));
1762f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul083", (opo.multiply(new android.icu.math.BigDecimal("123456789"),mcfd).toString()).equals("12345678.9"));
1763f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul084", (opo.multiply(new android.icu.math.BigDecimal("12345678901234"),mcfd).toString()).equals("1234567890123.4"));
1764f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul085", (opo.multiply(new android.icu.math.BigDecimal("123456789123456789"),mcfd).toString()).equals("12345678912345678.9"));
1765f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1766f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul090", ((new android.icu.math.BigDecimal("123456789")).multiply(opo,mcs).toString()).equals("12345678.9"));
1767f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul091", ((new android.icu.math.BigDecimal("12345678901234")).multiply(opo,mcs).toString()).equals("1.23456789E+12"));
1768f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul092", ((new android.icu.math.BigDecimal("123456789123456789")).multiply(opo,mcs).toString()).equals("1.23456789E+16"));
1769f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul093", ((new android.icu.math.BigDecimal("123456789")).multiply(opo,mcfd).toString()).equals("12345678.9"));
1770f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul094", ((new android.icu.math.BigDecimal("12345678901234")).multiply(opo,mcfd).toString()).equals("1234567890123.4"));
1771f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul095", ((new android.icu.math.BigDecimal("123456789123456789")).multiply(opo,mcfd).toString()).equals("12345678912345678.9"));
1772f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1773f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // test some more edge cases and carries
1774f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul101", ((new android.icu.math.BigDecimal("9")).multiply(new android.icu.math.BigDecimal("9")).toString()).equals("81"));
1775f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul102", ((new android.icu.math.BigDecimal("9")).multiply(new android.icu.math.BigDecimal("90")).toString()).equals("810"));
1776f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul103", ((new android.icu.math.BigDecimal("9")).multiply(new android.icu.math.BigDecimal("900")).toString()).equals("8100"));
1777f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul104", ((new android.icu.math.BigDecimal("9")).multiply(new android.icu.math.BigDecimal("9000")).toString()).equals("81000"));
1778f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul105", ((new android.icu.math.BigDecimal("9")).multiply(new android.icu.math.BigDecimal("90000")).toString()).equals("810000"));
1779f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul106", ((new android.icu.math.BigDecimal("9")).multiply(new android.icu.math.BigDecimal("900000")).toString()).equals("8100000"));
1780f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul107", ((new android.icu.math.BigDecimal("9")).multiply(new android.icu.math.BigDecimal("9000000")).toString()).equals("81000000"));
1781f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul108", ((new android.icu.math.BigDecimal("9")).multiply(new android.icu.math.BigDecimal("90000000")).toString()).equals("810000000"));
1782f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul109", ((new android.icu.math.BigDecimal("9")).multiply(new android.icu.math.BigDecimal("900000000")).toString()).equals("8100000000"));
1783f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul110", ((new android.icu.math.BigDecimal("9")).multiply(new android.icu.math.BigDecimal("9000000000")).toString()).equals("81000000000"));
1784f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul111", ((new android.icu.math.BigDecimal("9")).multiply(new android.icu.math.BigDecimal("90000000000")).toString()).equals("810000000000"));
1785f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul112", ((new android.icu.math.BigDecimal("9")).multiply(new android.icu.math.BigDecimal("900000000000")).toString()).equals("8100000000000"));
1786f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul113", ((new android.icu.math.BigDecimal("9")).multiply(new android.icu.math.BigDecimal("9000000000000")).toString()).equals("81000000000000"));
1787f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul114", ((new android.icu.math.BigDecimal("9")).multiply(new android.icu.math.BigDecimal("90000000000000")).toString()).equals("810000000000000"));
1788f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul115", ((new android.icu.math.BigDecimal("9")).multiply(new android.icu.math.BigDecimal("900000000000000")).toString()).equals("8100000000000000"));
1789f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul116", ((new android.icu.math.BigDecimal("9")).multiply(new android.icu.math.BigDecimal("9000000000000000")).toString()).equals("81000000000000000"));
1790f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul117", ((new android.icu.math.BigDecimal("9")).multiply(new android.icu.math.BigDecimal("90000000000000000")).toString()).equals("810000000000000000"));
1791f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul118", ((new android.icu.math.BigDecimal("9")).multiply(new android.icu.math.BigDecimal("900000000000000000")).toString()).equals("8100000000000000000"));
1792f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul119", ((new android.icu.math.BigDecimal("9")).multiply(new android.icu.math.BigDecimal("9000000000000000000")).toString()).equals("81000000000000000000"));
1793f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul120", ((new android.icu.math.BigDecimal("9")).multiply(new android.icu.math.BigDecimal("90000000000000000000")).toString()).equals("810000000000000000000"));
1794f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul121", ((new android.icu.math.BigDecimal("9")).multiply(new android.icu.math.BigDecimal("900000000000000000000")).toString()).equals("8100000000000000000000"));
1795f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul122", ((new android.icu.math.BigDecimal("9")).multiply(new android.icu.math.BigDecimal("9000000000000000000000")).toString()).equals("81000000000000000000000"));
1796f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul123", ((new android.icu.math.BigDecimal("9")).multiply(new android.icu.math.BigDecimal("90000000000000000000000")).toString()).equals("810000000000000000000000"));
1797f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // test some more edge cases without carries
1798f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul131", ((new android.icu.math.BigDecimal("3")).multiply(new android.icu.math.BigDecimal("3")).toString()).equals("9"));
1799f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul132", ((new android.icu.math.BigDecimal("3")).multiply(new android.icu.math.BigDecimal("30")).toString()).equals("90"));
1800f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul133", ((new android.icu.math.BigDecimal("3")).multiply(new android.icu.math.BigDecimal("300")).toString()).equals("900"));
1801f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul134", ((new android.icu.math.BigDecimal("3")).multiply(new android.icu.math.BigDecimal("3000")).toString()).equals("9000"));
1802f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul135", ((new android.icu.math.BigDecimal("3")).multiply(new android.icu.math.BigDecimal("30000")).toString()).equals("90000"));
1803f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul136", ((new android.icu.math.BigDecimal("3")).multiply(new android.icu.math.BigDecimal("300000")).toString()).equals("900000"));
1804f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul137", ((new android.icu.math.BigDecimal("3")).multiply(new android.icu.math.BigDecimal("3000000")).toString()).equals("9000000"));
1805f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul138", ((new android.icu.math.BigDecimal("3")).multiply(new android.icu.math.BigDecimal("30000000")).toString()).equals("90000000"));
1806f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul139", ((new android.icu.math.BigDecimal("3")).multiply(new android.icu.math.BigDecimal("300000000")).toString()).equals("900000000"));
1807f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul140", ((new android.icu.math.BigDecimal("3")).multiply(new android.icu.math.BigDecimal("3000000000")).toString()).equals("9000000000"));
1808f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul141", ((new android.icu.math.BigDecimal("3")).multiply(new android.icu.math.BigDecimal("30000000000")).toString()).equals("90000000000"));
1809f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul142", ((new android.icu.math.BigDecimal("3")).multiply(new android.icu.math.BigDecimal("300000000000")).toString()).equals("900000000000"));
1810f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul143", ((new android.icu.math.BigDecimal("3")).multiply(new android.icu.math.BigDecimal("3000000000000")).toString()).equals("9000000000000"));
1811f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul144", ((new android.icu.math.BigDecimal("3")).multiply(new android.icu.math.BigDecimal("30000000000000")).toString()).equals("90000000000000"));
1812f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul145", ((new android.icu.math.BigDecimal("3")).multiply(new android.icu.math.BigDecimal("300000000000000")).toString()).equals("900000000000000"));
1813f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul146", ((new android.icu.math.BigDecimal("3")).multiply(new android.icu.math.BigDecimal("3000000000000000")).toString()).equals("9000000000000000"));
1814f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul147", ((new android.icu.math.BigDecimal("3")).multiply(new android.icu.math.BigDecimal("30000000000000000")).toString()).equals("90000000000000000"));
1815f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul148", ((new android.icu.math.BigDecimal("3")).multiply(new android.icu.math.BigDecimal("300000000000000000")).toString()).equals("900000000000000000"));
1816f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul149", ((new android.icu.math.BigDecimal("3")).multiply(new android.icu.math.BigDecimal("3000000000000000000")).toString()).equals("9000000000000000000"));
1817f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul150", ((new android.icu.math.BigDecimal("3")).multiply(new android.icu.math.BigDecimal("30000000000000000000")).toString()).equals("90000000000000000000"));
1818f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul151", ((new android.icu.math.BigDecimal("3")).multiply(new android.icu.math.BigDecimal("300000000000000000000")).toString()).equals("900000000000000000000"));
1819f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul152", ((new android.icu.math.BigDecimal("3")).multiply(new android.icu.math.BigDecimal("3000000000000000000000")).toString()).equals("9000000000000000000000"));
1820f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul153", ((new android.icu.math.BigDecimal("3")).multiply(new android.icu.math.BigDecimal("30000000000000000000000")).toString()).equals("90000000000000000000000"));
1821f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1822f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1823f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ten.multiply((android.icu.math.BigDecimal) null);
1824f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1825f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $55) {
1826f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
1827f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull */
1828f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul200", flag);
1829f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1830f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ten.multiply(ten, (android.icu.math.MathContext) null);
1831f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1832f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $56) {
1833f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
1834f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull2 */
1835f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul201", flag);
1836f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1837f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1838f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            d1 = new android.icu.math.BigDecimal("-1.23456789012345E-0");
1839f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            d2 = new android.icu.math.BigDecimal("9E+999999999");
1840f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            d1.multiply(d2, mcdef); // marginal overflow
1841f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1842f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $57) {
1843f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            oe = $57;
1844f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (oe.getMessage()).equals("Exponent Overflow: 1000000000");
1845f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkover */
1846f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul202", flag);
1847f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1848f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            d1 = new android.icu.math.BigDecimal("112");
1849f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            d2 = new android.icu.math.BigDecimal("9E+999999999");
1850f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            d1.multiply(d2, mce); // marginal overflow, engineering
1851f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1852f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $58) {
1853f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            oe = $58;
1854f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (oe.getMessage()).equals("Exponent Overflow: 1000000002");
1855f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkover */
1856f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul203", flag);
1857f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1858f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1859f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            d1 = new android.icu.math.BigDecimal("0.9");
1860f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            d2 = new android.icu.math.BigDecimal("1E-999999999");
1861f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            d1.multiply(d2, mcdef); // marginal negative overflow
1862f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1863f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $59) {
1864f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            oe = $59;
1865f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (oe.getMessage()).equals("Exponent Overflow: -1000000000");
1866f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkover */
1867f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul204", flag);
1868f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1869f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            d1 = new android.icu.math.BigDecimal("0.9");
1870f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            d2 = new android.icu.math.BigDecimal("1E-999999999");
1871f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            d1.multiply(d2, mce); // marginal negative overflow,
1872f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                                    // engineering
1873f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1874f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $60) {
1875f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            oe = $60;
1876f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (oe.getMessage()).equals("Exponent Overflow: -1000000002");
1877f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkover */
1878f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul205", flag);
1879f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1880f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1881f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            tenlong.multiply(android.icu.math.BigDecimal.ONE, mcld);
1882f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1883f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $61) {
1884f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $61;
1885f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits:" + " "
1886f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + tenlong.toString());
1887f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
1888f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul206", flag);
1889f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1890f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            android.icu.math.BigDecimal.TEN.multiply(tenlong, mcld);
1891f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1892f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $62) {
1893f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $62;
1894f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits:" + " "
1895f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + tenlong.toString());
1896f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
1897f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mul207", flag);
1898f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1899f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
1900f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1901f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
1902f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1903f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#negate} method. */
1904f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1905f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
1906f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagnegate() {
1907f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        boolean flag = false;
1908f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.ArithmeticException ae = null;
1909f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1910f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("neg001", ((new android.icu.math.BigDecimal("2")).negate().toString()).equals("-2"));
1911f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("neg002", ((new android.icu.math.BigDecimal("-2")).negate().toString()).equals("2"));
1912f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("neg003", ((new android.icu.math.BigDecimal("2.00")).negate(mcdef).toString()).equals("-2.00"));
1913f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("neg004", ((new android.icu.math.BigDecimal("-2.00")).negate(mcdef).toString()).equals("2.00"));
1914f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("neg005", ((new android.icu.math.BigDecimal("0")).negate(mcdef).toString()).equals("0"));
1915f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("neg006", ((new android.icu.math.BigDecimal("0.00")).negate(mcdef).toString()).equals("0"));
1916f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("neg007", ((new android.icu.math.BigDecimal("00.0")).negate(mcdef).toString()).equals("0"));
1917f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("neg008", ((new android.icu.math.BigDecimal("00")).negate(mcdef).toString()).equals("0"));
1918f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1919f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("neg010", ((new android.icu.math.BigDecimal("2.00")).negate().toString()).equals("-2.00"));
1920f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("neg011", ((new android.icu.math.BigDecimal("-2.00")).negate().toString()).equals("2.00"));
1921f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("neg012", ((new android.icu.math.BigDecimal("0")).negate().toString()).equals("0"));
1922f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("neg013", ((new android.icu.math.BigDecimal("0.00")).negate().toString()).equals("0.00"));
1923f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("neg014", ((new android.icu.math.BigDecimal("00.0")).negate().toString()).equals("0.0"));
1924f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("neg015", ((new android.icu.math.BigDecimal("00.00")).negate().toString()).equals("0.00"));
1925f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("neg016", ((new android.icu.math.BigDecimal("00")).negate().toString()).equals("0"));
1926f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1927f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("neg020", ((new android.icu.math.BigDecimal("-2000000")).negate().toString()).equals("2000000"));
1928f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("neg021", ((new android.icu.math.BigDecimal("-2000000")).negate(mcdef).toString()).equals("2000000"));
1929f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("neg022", ((new android.icu.math.BigDecimal("-2000000")).negate(mc6).toString()).equals("2.00000E+6"));
1930f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("neg023", ((new android.icu.math.BigDecimal("2000000")).negate(mc6).toString()).equals("-2.00000E+6"));
1931f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1932f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1933f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ten.negate((android.icu.math.MathContext) null);
1934f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1935f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $63) {
1936f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
1937f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull */
1938f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("neg100", flag);
1939f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1940f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
1941f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            tenlong.negate(mcld);
1942f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
1943f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $64) {
1944f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $64;
1945f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits:" + " "
1946f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + tenlong.toString());
1947f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
1948f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("neg101", flag);
1949f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
1950f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1951f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
1952f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1953f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#plus} method. */
1954f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1955f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
1956f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagplus() {
1957f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        boolean flag = false;
1958f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.MathContext mche1;
1959f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.ArithmeticException ae = null;
1960f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1961f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu001", ((new android.icu.math.BigDecimal("2")).plus(mcdef).toString()).equals("2"));
1962f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu002", ((new android.icu.math.BigDecimal("-2")).plus(mcdef).toString()).equals("-2"));
1963f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu003", ((new android.icu.math.BigDecimal("2.00")).plus(mcdef).toString()).equals("2.00"));
1964f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu004", ((new android.icu.math.BigDecimal("-2.00")).plus(mcdef).toString()).equals("-2.00"));
1965f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu005", ((new android.icu.math.BigDecimal("0")).plus(mcdef).toString()).equals("0"));
1966f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu006", ((new android.icu.math.BigDecimal("0.00")).plus(mcdef).toString()).equals("0"));
1967f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu007", ((new android.icu.math.BigDecimal("00.0")).plus(mcdef).toString()).equals("0"));
1968f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu008", ((new android.icu.math.BigDecimal("00")).plus(mcdef).toString()).equals("0"));
1969f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1970f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu010", ((new android.icu.math.BigDecimal("2")).plus().toString()).equals("2"));
1971f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu011", ((new android.icu.math.BigDecimal("-2")).plus().toString()).equals("-2"));
1972f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu012", ((new android.icu.math.BigDecimal("2.00")).plus().toString()).equals("2.00"));
1973f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu013", ((new android.icu.math.BigDecimal("-2.00")).plus().toString()).equals("-2.00"));
1974f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu014", ((new android.icu.math.BigDecimal("0")).plus().toString()).equals("0"));
1975f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu015", ((new android.icu.math.BigDecimal("0.00")).plus().toString()).equals("0.00"));
1976f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu016", ((new android.icu.math.BigDecimal("00.0")).plus().toString()).equals("0.0"));
1977f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu017", ((new android.icu.math.BigDecimal("00.00")).plus().toString()).equals("0.00"));
1978f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu018", ((new android.icu.math.BigDecimal("00")).plus().toString()).equals("0"));
1979f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1980f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu020", ((new android.icu.math.BigDecimal("-2000000")).plus().toString()).equals("-2000000"));
1981f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu021", ((new android.icu.math.BigDecimal("-2000000")).plus(mcdef).toString()).equals("-2000000"));
1982f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu022", ((new android.icu.math.BigDecimal("-2000000")).plus(mc6).toString()).equals("-2.00000E+6"));
1983f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu023", ((new android.icu.math.BigDecimal("2000000")).plus(mc6).toString()).equals("2.00000E+6"));
1984f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1985f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // try some exotic but silly rounding [format checks more varieties]
1986f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // [this mostly ensures we can set up and pass the setting]
1987f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mche1=new android.icu.math.MathContext(1,android.icu.math.MathContext.SCIENTIFIC,false,android.icu.math.MathContext.ROUND_HALF_EVEN);
1988f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu030", ((new android.icu.math.BigDecimal("0.24")).plus(mche1).toString()).equals("0.2"));
1989f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu031", ((new android.icu.math.BigDecimal("0.25")).plus(mche1).toString()).equals("0.2"));
1990f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu032", ((new android.icu.math.BigDecimal("0.26")).plus(mche1).toString()).equals("0.3"));
1991f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu033", ((new android.icu.math.BigDecimal("0.14")).plus(mche1).toString()).equals("0.1"));
1992f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu034", ((new android.icu.math.BigDecimal("0.15")).plus(mche1).toString()).equals("0.2"));
1993f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu035", ((new android.icu.math.BigDecimal("0.16")).plus(mche1).toString()).equals("0.2"));
1994f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1995f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu040", ((new android.icu.math.BigDecimal("0.251")).plus(mche1).toString()).equals("0.3"));
1996f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu041", ((new android.icu.math.BigDecimal("0.151")).plus(mche1).toString()).equals("0.2"));
1997f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
1998f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu050", ((new android.icu.math.BigDecimal("-0.24")).plus(mche1).toString()).equals("-0.2"));
1999f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu051", ((new android.icu.math.BigDecimal("-0.25")).plus(mche1).toString()).equals("-0.2"));
2000f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu052", ((new android.icu.math.BigDecimal("-0.26")).plus(mche1).toString()).equals("-0.3"));
2001f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu053", ((new android.icu.math.BigDecimal("-0.14")).plus(mche1).toString()).equals("-0.1"));
2002f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu054", ((new android.icu.math.BigDecimal("-0.15")).plus(mche1).toString()).equals("-0.2"));
2003f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu055", ((new android.icu.math.BigDecimal("-0.16")).plus(mche1).toString()).equals("-0.2"));
2004f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2005f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // more fixed, potential LHS swaps if done by add 0
2006f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu060", ((new android.icu.math.BigDecimal("-56267E-10")).plus().toString()).equals("-0.0000056267"));
2007f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu061", ((new android.icu.math.BigDecimal("-56267E-5")).plus().toString()).equals("-0.56267"));
2008f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu062", ((new android.icu.math.BigDecimal("-56267E-2")).plus().toString()).equals("-562.67"));
2009f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu063", ((new android.icu.math.BigDecimal("-56267E-1")).plus().toString()).equals("-5626.7"));
2010f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu065", ((new android.icu.math.BigDecimal("-56267E-0")).plus().toString()).equals("-56267"));
2011f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2012f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2013f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ten.plus((android.icu.math.MathContext) null);
2014f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2015f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $65) {
2016f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
2017f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull */
2018f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu100", flag);
2019f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2020f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2021f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            tenlong.plus(mcld);
2022f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2023f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $66) {
2024f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $66;
2025f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits:" + " "
2026f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + tenlong.toString());
2027f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
2028f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("plu101", flag);
2029f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
2030f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2031f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
2032f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2033f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#pow} method. */
2034f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2035f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
2036f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagpow() {
2037f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        boolean flag;
2038f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal x;
2039f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal temp;
2040f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        int n = 0;
2041f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal vx;
2042f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal vn;
2043f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.ArithmeticException ae = null;
2044f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        flag = true;
2045f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow001", "1".equals((new android.icu.math.BigDecimal("0.3")).pow(new android.icu.math.BigDecimal("0"),mcdef).toString()));
2046f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow002", "0.3".equals((new android.icu.math.BigDecimal("0.3")).pow(new android.icu.math.BigDecimal("1"),mcdef).toString()));
2047f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow003", "0.3".equals((new android.icu.math.BigDecimal("0.3")).pow(new android.icu.math.BigDecimal("1.00"),mcdef).toString()));
2048f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow004", "0.09".equals((new android.icu.math.BigDecimal("0.3")).pow(new android.icu.math.BigDecimal("2.00"),mcdef).toString()));
2049f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow005", "0.09".equals((new android.icu.math.BigDecimal("0.3")).pow(new android.icu.math.BigDecimal("2.000000000"),mcdef).toString()));
2050f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow006", ("1E-8").equals((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("-8"),mcdef).toString()));
2051f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow007", ("1E-7").equals((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("-7"),mcdef).toString()));
2052f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow008", "0.000001".equals((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("-6"),mcdef).toString()));
2053f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow009", "0.00001".equals((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("-5"),mcdef).toString()));
2054f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow010", "0.0001".equals((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("-4"),mcdef).toString()));
2055f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow011", "0.001".equals((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("-3"),mcdef).toString()));
2056f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow012", "0.01".equals((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("-2"),mcdef).toString()));
2057f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow013", "0.1".equals((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("-1"),mcdef).toString()));
2058f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow014", "1".equals((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("0"),mcdef).toString()));
2059f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow015", "10".equals((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("1"),mcdef).toString()));
2060f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow016", "100000000".equals((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("8"),mcdef).toString()));
2061f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow017", ("1E+9").equals((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("9"),mcdef).toString()));
2062f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow018", ("1E+99").equals((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("99"),mcdef).toString()));
2063f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow019", ("1E+999999999").equals((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("999999999"),mcdef).toString()));
2064f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow020", ("1E+999999998").equals((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("999999998"),mcdef).toString()));
2065f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow021", ("1E+999999997").equals((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("999999997"),mcdef).toString()));
2066f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow022", ("1E+333333333").equals((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("333333333"),mcdef).toString()));
2067f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow023", ("1E-333333333").equals((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("-333333333"),mcdef).toString()));
2068f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow024", ("1E-999999998").equals((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("-999999998"),mcdef).toString()));
2069f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow025", ("1E-999999999").equals((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("-999999999"),mcdef).toString()));
2070f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow026", "0.5".equals((new android.icu.math.BigDecimal("2")).pow(new android.icu.math.BigDecimal("-1"),mcdef).toString()));
2071f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow027", "0.25".equals((new android.icu.math.BigDecimal("2")).pow(new android.icu.math.BigDecimal("-2"),mcdef).toString()));
2072f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow028", "0.0625".equals((new android.icu.math.BigDecimal("2")).pow(new android.icu.math.BigDecimal("-4"),mcdef).toString()));
2073f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2074f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow050", ((new android.icu.math.BigDecimal("0")).pow(new android.icu.math.BigDecimal("0"),mcdef).toString()).equals("1"));
2075f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow051", ((new android.icu.math.BigDecimal("0")).pow(new android.icu.math.BigDecimal("1"),mcdef).toString()).equals("0"));
2076f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow052", ((new android.icu.math.BigDecimal("0")).pow(new android.icu.math.BigDecimal("2"),mcdef).toString()).equals("0"));
2077f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow053", ((new android.icu.math.BigDecimal("1")).pow(new android.icu.math.BigDecimal("0"),mcdef).toString()).equals("1"));
2078f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow054", ((new android.icu.math.BigDecimal("1")).pow(new android.icu.math.BigDecimal("1"),mcdef).toString()).equals("1"));
2079f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow055", ((new android.icu.math.BigDecimal("1")).pow(new android.icu.math.BigDecimal("2"),mcdef).toString()).equals("1"));
2080f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow056", ((new android.icu.math.BigDecimal("0.3")).pow(new android.icu.math.BigDecimal("0"),mcdef).toString()).equals("1"));
2081f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow057", ((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("999999999"),mcdef).toString()).equals("1E+999999999"));
2082f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow058", ((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("999999998"),mcdef).toString()).equals("1E+999999998"));
2083f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow059", ((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("999999997"),mcdef).toString()).equals("1E+999999997"));
2084f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow060", ((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("333333333"),mcdef).toString()).equals("1E+333333333"));
2085f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow061", ((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("77"),mcdef).toString()).equals("1E+77"));
2086f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow062", ((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("22"),mcdef).toString()).equals("1E+22"));
2087f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow063", ((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("-77"),mcdef).toString()).equals("1E-77"));
2088f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow064", ((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("-22"),mcdef).toString()).equals("1E-22"));
2089f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow065", ((new android.icu.math.BigDecimal("2")).pow(new android.icu.math.BigDecimal("-1"),mcdef).toString()).equals("0.5"));
2090f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow066", ((new android.icu.math.BigDecimal("2")).pow(new android.icu.math.BigDecimal("-2"),mcdef).toString()).equals("0.25"));
2091f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow067", ((new android.icu.math.BigDecimal("2")).pow(new android.icu.math.BigDecimal("-4"),mcdef).toString()).equals("0.0625"));
2092f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow068", ((new android.icu.math.BigDecimal("6.0")).pow(new android.icu.math.BigDecimal("2"),mcdef).toString()).equals("36"));
2093f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow069", ((new android.icu.math.BigDecimal("-3")).pow(new android.icu.math.BigDecimal("2"),mcdef).toString()).equals("9"));/* from book */
2094f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow070", ((new android.icu.math.BigDecimal("2")).pow(new android.icu.math.BigDecimal("2"),mcdef).pow(new android.icu.math.BigDecimal("3"),mcdef).toString()).equals("64"));/* from book */
2095f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2096f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 1998.12.14 Next test removed as pow() no longer rounds RHS [as per ANSI]
2097f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // Test('pow071').ok=BigDecimal('2').pow(BigDecimal('2.000000001'),mcdef).toString == '4'/* check input rounding */
2098f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2099f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        /* General tests from original Rexx diagnostics */
2100f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        x = new android.icu.math.BigDecimal("0.5");
2101f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        temp = android.icu.math.BigDecimal.ONE;
2102f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        flag = true;
2103f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        {
2104f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            n = 1;
2105f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            for (; n <= 10; n++) {
2106f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                temp = temp.multiply(x).divide(android.icu.math.BigDecimal.ONE);
2107f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                flag = flag
2108f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                        & (x.pow(new android.icu.math.BigDecimal(n), mcdef)
2109f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                                .toString()).equals(temp.toString());
2110f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            }
2111f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* n */
2112f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow080", flag);
2113f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2114f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        x = new android.icu.math.BigDecimal("2");
2115f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        temp = android.icu.math.BigDecimal.ONE;
2116f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        flag = true;
2117f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        {
2118f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            n = 1;
2119f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            for (; n <= 29; n++) {
2120f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                temp = temp.multiply(x).divide(android.icu.math.BigDecimal.ONE);
2121f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                flag=flag&(x.pow(new android.icu.math.BigDecimal(n),mcdef).toString()).equals(temp.toString());
2122f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                flag=flag&(x.pow(new android.icu.math.BigDecimal(-n),mcdef).toString()).equals(android.icu.math.BigDecimal.ONE.divide(temp,mcdef).toString());
2123f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                /* Note that rounding errors are possible for larger "n" */
2124f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                /* due to the information content of the exponent */
2125f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            }
2126f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* n */
2127f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow081", flag);
2128f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2129f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        /* The Vienna case. Checks both setup and 1/acc working precision */
2130f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // Modified 1998.12.14 as RHS no longer rounded before use (must fit)
2131f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // Modified 1990.02.04 as LHS is now rounded (instead of truncated to guard)
2132f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        vx=new android.icu.math.BigDecimal("123456789E+10"); // lhs .. rounded to 1.23E+18
2133f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        vn=new android.icu.math.BigDecimal("-1.23000e+2"); // rhs .. [was: -1.23455e+2, rounds to -123]
2134f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow090", (vx.pow(vn,mc3).toString()).equals("8.74E-2226"));
2135f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2136f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // - fixed point versions ---
2137f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow101", "1".equals((new android.icu.math.BigDecimal("0.3")).pow(new android.icu.math.BigDecimal("0")).toString()));
2138f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow102", "0.3".equals((new android.icu.math.BigDecimal("0.3")).pow(new android.icu.math.BigDecimal("1")).toString()));
2139f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow103", "0.3".equals((new android.icu.math.BigDecimal("0.3")).pow(new android.icu.math.BigDecimal("1.00")).toString()));
2140f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow104", "0.09".equals((new android.icu.math.BigDecimal("0.3")).pow(new android.icu.math.BigDecimal("2")).toString()));
2141f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow105", "0.09".equals((new android.icu.math.BigDecimal("0.3")).pow(new android.icu.math.BigDecimal("2.00")).toString()));
2142f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow106", "10".equals((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("1")).toString()));
2143f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow107", "100000000".equals((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("8")).toString()));
2144f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow108", "1000000000".equals((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("9")).toString()));
2145f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow109", "10000000000".equals((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("10")).toString()));
2146f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow110", "1".equals((new android.icu.math.BigDecimal("2")).pow(new android.icu.math.BigDecimal("0")).toString()));
2147f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow111", "16".equals((new android.icu.math.BigDecimal("2")).pow(new android.icu.math.BigDecimal("4")).toString()));
2148f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow112", "256".equals((new android.icu.math.BigDecimal("2")).pow(new android.icu.math.BigDecimal("8")).toString()));
2149f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow113", "1024".equals((new android.icu.math.BigDecimal("2")).pow(new android.icu.math.BigDecimal("10")).toString()));
2150f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow114", "1.0510100501".equals((new android.icu.math.BigDecimal("1.01")).pow(new android.icu.math.BigDecimal("5")).toString()));
2151f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2152f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow120", ((new android.icu.math.BigDecimal("0")).pow(new android.icu.math.BigDecimal("0")).toString()).equals("1"));
2153f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow121", ((new android.icu.math.BigDecimal("0")).pow(new android.icu.math.BigDecimal("1")).toString()).equals("0"));
2154f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow122", ((new android.icu.math.BigDecimal("0")).pow(new android.icu.math.BigDecimal("2")).toString()).equals("0"));
2155f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow123", ((new android.icu.math.BigDecimal("1")).pow(new android.icu.math.BigDecimal("0")).toString()).equals("1"));
2156f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow144", ((new android.icu.math.BigDecimal("1")).pow(new android.icu.math.BigDecimal("1")).toString()).equals("1"));
2157f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow125", ((new android.icu.math.BigDecimal("1")).pow(new android.icu.math.BigDecimal("2")).toString()).equals("1"));
2158f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow126", ((new android.icu.math.BigDecimal("0.3")).pow(new android.icu.math.BigDecimal("0")).toString()).equals("1"));
2159f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow127", ((new android.icu.math.BigDecimal("10")).pow(new android.icu.math.BigDecimal("7")).toString()).equals("10000000"));
2160f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow128", ((new android.icu.math.BigDecimal("6.0")).pow(new android.icu.math.BigDecimal("2")).toString()).equals("36.00"));
2161f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow129", ((new android.icu.math.BigDecimal("6.00")).pow(new android.icu.math.BigDecimal("2")).toString()).equals("36.0000"));
2162f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow130", ((new android.icu.math.BigDecimal("6.000")).pow(new android.icu.math.BigDecimal("2")).toString()).equals("36.000000"));
2163f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow131", ((new android.icu.math.BigDecimal("-3")).pow(new android.icu.math.BigDecimal("2")).toString()).equals("9"));
2164f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow132", ((new android.icu.math.BigDecimal("2")).pow(new android.icu.math.BigDecimal("2")).pow(new android.icu.math.BigDecimal("3")).toString()).equals("64"));
2165f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2166f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        /* errors */
2167f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2168f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ten.pow((android.icu.math.BigDecimal) null);
2169f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2170f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $67) {
2171f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
2172f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull */
2173f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow150", flag);
2174f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2175f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ten.pow(ten, (android.icu.math.MathContext) null);
2176f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2177f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $68) {
2178f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
2179f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull2 */
2180f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow151", flag);
2181f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2182f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        flag = true;
2183f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2184f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            tenlong.pow(android.icu.math.BigDecimal.ONE, mcld);
2185f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2186f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $69) {
2187f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $69;
2188f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits:" + " "
2189f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + tenlong.toString());
2190f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
2191f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow152", flag);
2192f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2193f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2194f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            android.icu.math.BigDecimal.ONE.pow(tenlong, mcld);
2195f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2196f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $70) {
2197f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $70;
2198f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits:" + " "
2199f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + tenlong.toString());
2200f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
2201f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow153", flag);
2202f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2203f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2204f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            android.icu.math.BigDecimal.ONE
2205f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    .pow(new android.icu.math.BigDecimal("-71"));
2206f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2207f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $71) {
2208f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $71;
2209f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Negative power: -71");
2210f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkpos */
2211f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow154", flag);
2212f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2213f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2214f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            android.icu.math.BigDecimal.ONE.pow(
2215f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    new android.icu.math.BigDecimal("1234"), mc3);
2216f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2217f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $72) {
2218f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $72;
2219f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits: 1234");
2220f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkwhole */
2221f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow155", flag);
2222f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2223f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2224f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            android.icu.math.BigDecimal.ONE.pow(
2225f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    new android.icu.math.BigDecimal("12.34e+2"), mc3);
2226f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2227f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $73) {
2228f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $73;
2229f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits: 1.234E+3");
2230f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkwhole1 */
2231f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow156", flag);
2232f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2233f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2234f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            android.icu.math.BigDecimal.ONE.pow(
2235f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    new android.icu.math.BigDecimal("12.4"), mcdef);
2236f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2237f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $74) {
2238f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $74;
2239f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Decimal part non-zero: 12.4");
2240f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkwhole2 */
2241f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow157", flag);
2242f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2243f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2244f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            android.icu.math.BigDecimal.ONE.pow(
2245f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    new android.icu.math.BigDecimal("1.01"), mcdef);
2246f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2247f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $75) {
2248f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $75;
2249f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Decimal part non-zero: 1.01");
2250f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkwhole3 */
2251f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow158", flag);
2252f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2253f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2254f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            android.icu.math.BigDecimal.ONE.pow(
2255f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    new android.icu.math.BigDecimal("1.000000001"), mcdef);
2256f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2257f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $76) {
2258f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $76;
2259f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage())
2260f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    .equals("Decimal part non-zero: 1.000000001");
2261f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkwhole4 */
2262f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow159", flag);
2263f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2264f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2265f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            android.icu.math.BigDecimal.ONE.pow(
2266f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    new android.icu.math.BigDecimal("1.000000001"), mc3);
2267f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2268f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $77) {
2269f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $77;
2270f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage())
2271f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    .equals("Decimal part non-zero: 1.000000001");
2272f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkwhole5 */
2273f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow160", flag);
2274f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2275f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2276f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            android.icu.math.BigDecimal.ONE
2277f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    .pow(
2278f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                            new android.icu.math.BigDecimal(
2279f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                                    "5.67E-987654321"), mc3);
2280f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2281f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $78) {
2282f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $78;
2283f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage())
2284f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    .equals("Decimal part non-zero: 5.67E-987654321");
2285f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkwhole6 */
2286f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("pow161", flag);
2287f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
2288f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2289f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /*--------------------------------------------------------------------*/
2290f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2291f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#remainder} method. */
2292f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2293f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
2294f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagremainder() {
2295f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        boolean flag = false;
2296f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.ArithmeticException ae = null;
2297f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2298f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem001", ((new android.icu.math.BigDecimal("1")).remainder(new android.icu.math.BigDecimal("3"),mcdef).toString()).equals("1"));
2299f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem002", ((new android.icu.math.BigDecimal("5")).remainder(new android.icu.math.BigDecimal("5"),mcdef).toString()).equals("0"));
2300f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem003", ((new android.icu.math.BigDecimal("13")).remainder(new android.icu.math.BigDecimal("10"),mcdef).toString()).equals("3"));
2301f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem004", ((new android.icu.math.BigDecimal("13")).remainder(new android.icu.math.BigDecimal("50"),mcdef).toString()).equals("13"));
2302f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem005", ((new android.icu.math.BigDecimal("13")).remainder(new android.icu.math.BigDecimal("100"),mcdef).toString()).equals("13"));
2303f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem006", ((new android.icu.math.BigDecimal("13")).remainder(new android.icu.math.BigDecimal("1000"),mcdef).toString()).equals("13"));
2304f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem007", ((new android.icu.math.BigDecimal(".13")).remainder(one).toString()).equals("0.13"));
2305f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem008", ((new android.icu.math.BigDecimal("0.133")).remainder(one).toString()).equals("0.133"));
2306f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem009", ((new android.icu.math.BigDecimal("0.1033")).remainder(one).toString()).equals("0.1033"));
2307f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem010", ((new android.icu.math.BigDecimal("1.033")).remainder(one).toString()).equals("0.033"));
2308f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem011", ((new android.icu.math.BigDecimal("10.33")).remainder(one).toString()).equals("0.33"));
2309f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem012", ((new android.icu.math.BigDecimal("10.33")).remainder(android.icu.math.BigDecimal.TEN).toString()).equals("0.33"));
2310f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem013", ((new android.icu.math.BigDecimal("103.3")).remainder(android.icu.math.BigDecimal.ONE).toString()).equals("0.3"));
2311f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem014", ((new android.icu.math.BigDecimal("133")).remainder(android.icu.math.BigDecimal.TEN).toString()).equals("3"));
2312f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem015", ((new android.icu.math.BigDecimal("1033")).remainder(android.icu.math.BigDecimal.TEN).toString()).equals("3"));
2313f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem016", ((new android.icu.math.BigDecimal("1033")).remainder(new android.icu.math.BigDecimal(50),mcdef).toString()).equals("33"));
2314f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem017", ((new android.icu.math.BigDecimal("101.0")).remainder(new android.icu.math.BigDecimal(3),mcdef).toString()).equals("2.0"));
2315f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem018", ((new android.icu.math.BigDecimal("102.0")).remainder(new android.icu.math.BigDecimal(3),mcdef).toString()).equals("0"));
2316f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem019", ((new android.icu.math.BigDecimal("103.0")).remainder(new android.icu.math.BigDecimal(3),mcdef).toString()).equals("1.0"));
2317f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem020", ((new android.icu.math.BigDecimal("2.40")).remainder(one).toString()).equals("0.40"));
2318f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem021", ((new android.icu.math.BigDecimal("2.400")).remainder(one).toString()).equals("0.400"));
2319f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem022", ((new android.icu.math.BigDecimal("2.4")).remainder(one).toString()).equals("0.4"));
2320f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem023", ((new android.icu.math.BigDecimal("2.4")).remainder(new android.icu.math.BigDecimal(2),mcdef).toString()).equals("0.4"));
2321f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem024", ((new android.icu.math.BigDecimal("2.400")).remainder(new android.icu.math.BigDecimal(2),mcdef).toString()).equals("0.400"));
2322f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem025", ((new android.icu.math.BigDecimal("1")).remainder(new android.icu.math.BigDecimal("0.3"),mcdef).toString()).equals("0.1"));
2323f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem026", ((new android.icu.math.BigDecimal("1")).remainder(new android.icu.math.BigDecimal("0.30"),mcdef).toString()).equals("0.10"));
2324f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem027", ((new android.icu.math.BigDecimal("1")).remainder(new android.icu.math.BigDecimal("0.300"),mcdef).toString()).equals("0.100"));
2325f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem028", ((new android.icu.math.BigDecimal("1")).remainder(new android.icu.math.BigDecimal("0.3000"),mcdef).toString()).equals("0.1000"));
2326f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem029", ((new android.icu.math.BigDecimal("1.0")).remainder(new android.icu.math.BigDecimal("0.3"),mcdef).toString()).equals("0.1"));
2327f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem030", ((new android.icu.math.BigDecimal("1.00")).remainder(new android.icu.math.BigDecimal("0.3"),mcdef).toString()).equals("0.10"));
2328f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem031", ((new android.icu.math.BigDecimal("1.000")).remainder(new android.icu.math.BigDecimal("0.3"),mcdef).toString()).equals("0.100"));
2329f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem032", ((new android.icu.math.BigDecimal("1.0000")).remainder(new android.icu.math.BigDecimal("0.3"),mcdef).toString()).equals("0.1000"));
2330f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem033", ((new android.icu.math.BigDecimal("0.5")).remainder(new android.icu.math.BigDecimal("2.001"),mcdef).toString()).equals("0.5"));
2331f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2332f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem040", ((new android.icu.math.BigDecimal("0.5")).remainder(new android.icu.math.BigDecimal("0.5000001"),mcdef).toString()).equals("0.5"));
2333f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem041", ((new android.icu.math.BigDecimal("0.5")).remainder(new android.icu.math.BigDecimal("0.50000001"),mcdef).toString()).equals("0.5"));
2334f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem042", ((new android.icu.math.BigDecimal("0.5")).remainder(new android.icu.math.BigDecimal("0.500000001"),mcdef).toString()).equals("0.5"));
2335f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem043", ((new android.icu.math.BigDecimal("0.5")).remainder(new android.icu.math.BigDecimal("0.5000000001"),mcdef).toString()).equals("0"));
2336f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem044", ((new android.icu.math.BigDecimal("0.5")).remainder(new android.icu.math.BigDecimal("0.50000000001"),mcdef).toString()).equals("0"));
2337f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem045", ((new android.icu.math.BigDecimal("0.5")).remainder(new android.icu.math.BigDecimal("0.4999999"),mcdef).toString()).equals("1E-7"));
2338f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem046", ((new android.icu.math.BigDecimal("0.5")).remainder(new android.icu.math.BigDecimal("0.49999999"),mcdef).toString()).equals("1E-8"));
2339f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem047", ((new android.icu.math.BigDecimal("0.5")).remainder(new android.icu.math.BigDecimal("0.499999999"),mcdef).toString()).equals("1E-9"));
2340f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem048", ((new android.icu.math.BigDecimal("0.5")).remainder(new android.icu.math.BigDecimal("0.4999999999"),mcdef).toString()).equals("0"));
2341f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem049", ((new android.icu.math.BigDecimal("0.5")).remainder(new android.icu.math.BigDecimal("0.49999999999"),mcdef).toString()).equals("0"));
2342f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2343f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem050", ((new android.icu.math.BigDecimal("0.03")).remainder(new android.icu.math.BigDecimal("7"),mcdef).toString()).equals("0.03"));
2344f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem051", ((new android.icu.math.BigDecimal("5")).remainder(new android.icu.math.BigDecimal("2"),mcdef).toString()).equals("1"));
2345f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem052", ((new android.icu.math.BigDecimal("4.1")).remainder(new android.icu.math.BigDecimal("2"),mcdef).toString()).equals("0.1"));
2346f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem053", ((new android.icu.math.BigDecimal("4.01")).remainder(new android.icu.math.BigDecimal("2"),mcdef).toString()).equals("0.01"));
2347f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem054", ((new android.icu.math.BigDecimal("4.001")).remainder(new android.icu.math.BigDecimal("2"),mcdef).toString()).equals("0.001"));
2348f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem055", ((new android.icu.math.BigDecimal("4.0001")).remainder(new android.icu.math.BigDecimal("2"),mcdef).toString()).equals("0.0001"));
2349f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem056", ((new android.icu.math.BigDecimal("4.00001")).remainder(new android.icu.math.BigDecimal("2"),mcdef).toString()).equals("0.00001"));
2350f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem057", ((new android.icu.math.BigDecimal("4.000001")).remainder(new android.icu.math.BigDecimal("2"),mcdef).toString()).equals("0.000001"));
2351f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem058", ((new android.icu.math.BigDecimal("4.0000001")).remainder(new android.icu.math.BigDecimal("2"),mcdef).toString()).equals("1E-7"));
2352f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2353f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem060", ((new android.icu.math.BigDecimal("1.2")).remainder(new android.icu.math.BigDecimal("0.7345"),mcdef).toString()).equals("0.4655"));
2354f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem061", ((new android.icu.math.BigDecimal("0.8")).remainder(new android.icu.math.BigDecimal("12"),mcdef).toString()).equals("0.8"));
2355f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem062", ((new android.icu.math.BigDecimal("0.8")).remainder(new android.icu.math.BigDecimal("0.2"),mcdef).toString()).equals("0"));
2356f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem063", ((new android.icu.math.BigDecimal("0.8")).remainder(new android.icu.math.BigDecimal("0.3"),mcdef).toString()).equals("0.2"));
2357f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem064", ((new android.icu.math.BigDecimal("0.800")).remainder(new android.icu.math.BigDecimal("12"),mcdef).toString()).equals("0.800"));
2358f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem065", ((new android.icu.math.BigDecimal("0.800")).remainder(new android.icu.math.BigDecimal("1.7"),mcdef).toString()).equals("0.800"));
2359f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem066", ((new android.icu.math.BigDecimal("2.400")).remainder(new android.icu.math.BigDecimal(2),mcdef).toString()).equals("0.400"));
2360f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2361f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // MC --
2362f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem071", ((new android.icu.math.BigDecimal("2.400")).remainder(new android.icu.math.BigDecimal(2),mc6).toString()).equals("0.400"));
2363f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem072", ((new android.icu.math.BigDecimal("12345678900000")).remainder(new android.icu.math.BigDecimal("12e+12"),mc3).toString()).equals("3E+11"));
2364f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2365f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // Fixed --
2366f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem101", ((new android.icu.math.BigDecimal("1")).remainder(new android.icu.math.BigDecimal("3")).toString()).equals("1"));
2367f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem102", ((new android.icu.math.BigDecimal("5")).remainder(new android.icu.math.BigDecimal("5")).toString()).equals("0"));
2368f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem103", ((new android.icu.math.BigDecimal("13")).remainder(new android.icu.math.BigDecimal("10")).toString()).equals("3"));
2369f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem104", ((new android.icu.math.BigDecimal("13")).remainder(new android.icu.math.BigDecimal("50")).toString()).equals("13"));
2370f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem105", ((new android.icu.math.BigDecimal("13")).remainder(new android.icu.math.BigDecimal("100")).toString()).equals("13"));
2371f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem106", ((new android.icu.math.BigDecimal("13")).remainder(new android.icu.math.BigDecimal("1000")).toString()).equals("13"));
2372f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem107", ((new android.icu.math.BigDecimal(".13")).remainder(one).toString()).equals("0.13"));
2373f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem108", ((new android.icu.math.BigDecimal("0.133")).remainder(one).toString()).equals("0.133"));
2374f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem109", ((new android.icu.math.BigDecimal("0.1033")).remainder(one).toString()).equals("0.1033"));
2375f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem110", ((new android.icu.math.BigDecimal("1.033")).remainder(one).toString()).equals("0.033"));
2376f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem111", ((new android.icu.math.BigDecimal("10.33")).remainder(one).toString()).equals("0.33"));
2377f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem112", ((new android.icu.math.BigDecimal("10.33")).remainder(android.icu.math.BigDecimal.TEN).toString()).equals("0.33"));
2378f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem113", ((new android.icu.math.BigDecimal("103.3")).remainder(android.icu.math.BigDecimal.ONE).toString()).equals("0.3"));
2379f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem114", ((new android.icu.math.BigDecimal("133")).remainder(android.icu.math.BigDecimal.TEN).toString()).equals("3"));
2380f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem115", ((new android.icu.math.BigDecimal("1033")).remainder(android.icu.math.BigDecimal.TEN).toString()).equals("3"));
2381f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem116", ((new android.icu.math.BigDecimal("1033")).remainder(new android.icu.math.BigDecimal(50)).toString()).equals("33"));
2382f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem117", ((new android.icu.math.BigDecimal("101.0")).remainder(new android.icu.math.BigDecimal(3)).toString()).equals("2.0"));
2383f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem118", ((new android.icu.math.BigDecimal("102.0")).remainder(new android.icu.math.BigDecimal(3)).toString()).equals("0"));
2384f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem119", ((new android.icu.math.BigDecimal("103.0")).remainder(new android.icu.math.BigDecimal(3)).toString()).equals("1.0"));
2385f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem120", ((new android.icu.math.BigDecimal("2.40")).remainder(one).toString()).equals("0.40"));
2386f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem121", ((new android.icu.math.BigDecimal("2.400")).remainder(one).toString()).equals("0.400"));
2387f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem122", ((new android.icu.math.BigDecimal("2.4")).remainder(one).toString()).equals("0.4"));
2388f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem123", ((new android.icu.math.BigDecimal("2.4")).remainder(new android.icu.math.BigDecimal(2)).toString()).equals("0.4"));
2389f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem124", ((new android.icu.math.BigDecimal("2.400")).remainder(new android.icu.math.BigDecimal(2)).toString()).equals("0.400"));
2390f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem125", ((new android.icu.math.BigDecimal("1")).remainder(new android.icu.math.BigDecimal("0.3")).toString()).equals("0.1"));
2391f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem126", ((new android.icu.math.BigDecimal("1")).remainder(new android.icu.math.BigDecimal("0.30")).toString()).equals("0.10"));
2392f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem127", ((new android.icu.math.BigDecimal("1")).remainder(new android.icu.math.BigDecimal("0.300")).toString()).equals("0.100"));
2393f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem128", ((new android.icu.math.BigDecimal("1")).remainder(new android.icu.math.BigDecimal("0.3000")).toString()).equals("0.1000"));
2394f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem129", ((new android.icu.math.BigDecimal("1.0")).remainder(new android.icu.math.BigDecimal("0.3")).toString()).equals("0.1"));
2395f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem130", ((new android.icu.math.BigDecimal("1.00")).remainder(new android.icu.math.BigDecimal("0.3")).toString()).equals("0.10"));
2396f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem131", ((new android.icu.math.BigDecimal("1.000")).remainder(new android.icu.math.BigDecimal("0.3")).toString()).equals("0.100"));
2397f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem132", ((new android.icu.math.BigDecimal("1.0000")).remainder(new android.icu.math.BigDecimal("0.3")).toString()).equals("0.1000"));
2398f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem133", ((new android.icu.math.BigDecimal("0.5")).remainder(new android.icu.math.BigDecimal("2.001")).toString()).equals("0.5"));
2399f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem134", ((new android.icu.math.BigDecimal("0.5")).remainder(new android.icu.math.BigDecimal("0.500000001")).toString()).equals("0.5"));
2400f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem135", ((new android.icu.math.BigDecimal("0.5")).remainder(new android.icu.math.BigDecimal("0.5000000001")).toString()).equals("0.5"));
2401f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem136", ((new android.icu.math.BigDecimal("0.03")).remainder(new android.icu.math.BigDecimal("7")).toString()).equals("0.03"));
2402f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem137", ((new android.icu.math.BigDecimal("5")).remainder(new android.icu.math.BigDecimal("2")).toString()).equals("1"));
2403f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem138", ((new android.icu.math.BigDecimal("4.1")).remainder(new android.icu.math.BigDecimal("2")).toString()).equals("0.1"));
2404f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem139", ((new android.icu.math.BigDecimal("4.01")).remainder(new android.icu.math.BigDecimal("2")).toString()).equals("0.01"));
2405f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem140", ((new android.icu.math.BigDecimal("4.001")).remainder(new android.icu.math.BigDecimal("2")).toString()).equals("0.001"));
2406f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem141", ((new android.icu.math.BigDecimal("4.0001")).remainder(new android.icu.math.BigDecimal("2")).toString()).equals("0.0001"));
2407f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem142", ((new android.icu.math.BigDecimal("4.00001")).remainder(new android.icu.math.BigDecimal("2")).toString()).equals("0.00001"));
2408f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem143", ((new android.icu.math.BigDecimal("4.000001")).remainder(new android.icu.math.BigDecimal("2")).toString()).equals("0.000001"));
2409f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem144", ((new android.icu.math.BigDecimal("4.0000001")).remainder(new android.icu.math.BigDecimal("2")).toString()).equals("0.0000001")); // 1E-7, plain
2410f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem145", ((new android.icu.math.BigDecimal("1.2")).remainder(new android.icu.math.BigDecimal("0.7345")).toString()).equals("0.4655"));
2411f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem146", ((new android.icu.math.BigDecimal("0.8")).remainder(new android.icu.math.BigDecimal("12")).toString()).equals("0.8"));
2412f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem147", ((new android.icu.math.BigDecimal("0.8")).remainder(new android.icu.math.BigDecimal("0.2")).toString()).equals("0"));
2413f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem148", ((new android.icu.math.BigDecimal("0.8")).remainder(new android.icu.math.BigDecimal("0.3")).toString()).equals("0.2"));
2414f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem149", ((new android.icu.math.BigDecimal("0.800")).remainder(new android.icu.math.BigDecimal("12")).toString()).equals("0.800"));
2415f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem150", ((new android.icu.math.BigDecimal("0.800")).remainder(new android.icu.math.BigDecimal("1.7")).toString()).equals("0.800"));
2416f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem151", ((new android.icu.math.BigDecimal("2.400")).remainder(new android.icu.math.BigDecimal(2),mcdef).toString()).equals("0.400"));
2417f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2418f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2419f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2420f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ten.remainder((android.icu.math.BigDecimal) null);
2421f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2422f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $79) {
2423f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
2424f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull */
2425f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem200", flag);
2426f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2427f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ten.remainder(ten, (android.icu.math.MathContext) null);
2428f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2429f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $80) {
2430f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
2431f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull2 */
2432f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem201", flag);
2433f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2434f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2435f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            android.icu.math.BigDecimal.ONE.remainder(tenlong, mcld);
2436f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2437f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $81) {
2438f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $81;
2439f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits:" + " "
2440f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + tenlong.toString());
2441f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
2442f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem202", flag);
2443f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2444f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2445f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            tenlong.remainder(one, mcld);
2446f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2447f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $82) {
2448f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $82;
2449f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits:" + " "
2450f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + tenlong.toString());
2451f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
2452f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("rem203", flag);
2453f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
2454f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2455f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /*--------------------------------------------------------------------*/
2456f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2457f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#subtract} method. */
2458f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2459f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
2460f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagsubtract() {
2461f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        boolean flag = false;
2462f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal alhs;
2463f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal arhs;
2464f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.ArithmeticException ae = null;
2465f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2466f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // [first group are 'quick confidence check']
2467f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub301", ((new android.icu.math.BigDecimal(2)).subtract(new android.icu.math.BigDecimal(3),mcdef).toString()).equals("-1"));
2468f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub302", ((new android.icu.math.BigDecimal("5.75")).subtract(new android.icu.math.BigDecimal("3.3"),mcdef).toString()).equals("2.45"));
2469f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub303", ((new android.icu.math.BigDecimal("5")).subtract(new android.icu.math.BigDecimal("-3"),mcdef).toString()).equals("8"));
2470f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub304", ((new android.icu.math.BigDecimal("-5")).subtract(new android.icu.math.BigDecimal("-3"),mcdef).toString()).equals("-2"));
2471f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub305", ((new android.icu.math.BigDecimal("-7")).subtract(new android.icu.math.BigDecimal("2.5"),mcdef).toString()).equals("-9.5"));
2472f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub306", ((new android.icu.math.BigDecimal("0.7")).subtract(new android.icu.math.BigDecimal("0.3"),mcdef).toString()).equals("0.4"));
2473f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub307", ((new android.icu.math.BigDecimal("1.3")).subtract(new android.icu.math.BigDecimal("0.3"),mcdef).toString()).equals("1.0"));
2474f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub308", ((new android.icu.math.BigDecimal("1.25")).subtract(new android.icu.math.BigDecimal("1.25"),mcdef).toString()).equals("0"));
2475f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub309", ((new android.icu.math.BigDecimal("1.23456789")).subtract(new android.icu.math.BigDecimal("1.00000000"),mcdef).toString()).equals("0.23456789"));
2476f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2477f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub310", ((new android.icu.math.BigDecimal("1.23456789")).subtract(new android.icu.math.BigDecimal("1.00000089"),mcdef).toString()).equals("0.23456700"));
2478f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2479f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub311", ((new android.icu.math.BigDecimal("0.5555555559")).subtract(new android.icu.math.BigDecimal("0.0000000001"),mcdef).toString()).equals("0.555555556"));
2480f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2481f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub312", ((new android.icu.math.BigDecimal("0.5555555559")).subtract(new android.icu.math.BigDecimal("0.0000000005"),mcdef).toString()).equals("0.555555556"));
2482f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2483f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub313", ((new android.icu.math.BigDecimal("0.4444444444")).subtract(new android.icu.math.BigDecimal("0.1111111111"),mcdef).toString()).equals("0.333333333"));
2484f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2485f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub314", ((new android.icu.math.BigDecimal("1.0000000000")).subtract(new android.icu.math.BigDecimal("0.00000001"),mcdef).toString()).equals("0.99999999"));
2486f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2487f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub315", ((new android.icu.math.BigDecimal("0.4444444444999")).subtract(new android.icu.math.BigDecimal("0"),mcdef).toString()).equals("0.444444444"));
2488f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2489f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub316", ((new android.icu.math.BigDecimal("0.4444444445000")).subtract(new android.icu.math.BigDecimal("0"),mcdef).toString()).equals("0.444444445"));
2490f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2491f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2492f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub317", ((new android.icu.math.BigDecimal("70")).subtract(new android.icu.math.BigDecimal("10000e+9"),mcdef).toString()).equals("-1.00000000E+13"));
2493f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2494f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub318", ((new android.icu.math.BigDecimal("700")).subtract(new android.icu.math.BigDecimal("10000e+9"),mcdef).toString()).equals("-1.00000000E+13"));
2495f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2496f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub319", ((new android.icu.math.BigDecimal("7000")).subtract(new android.icu.math.BigDecimal("10000e+9"),mcdef).toString()).equals("-1.00000000E+13"));
2497f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2498f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub320", ((new android.icu.math.BigDecimal("70000")).subtract(new android.icu.math.BigDecimal("10000e+9"),mcdef).toString()).equals("-9.9999999E+12"));
2499f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2500f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub321", ((new android.icu.math.BigDecimal("700000")).subtract(new android.icu.math.BigDecimal("10000e+9"),mcdef).toString()).equals("-9.9999993E+12"));
2501f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2502f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // symmetry:
2503f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub322", ((new android.icu.math.BigDecimal("10000e+9")).subtract(new android.icu.math.BigDecimal("70"),mcdef).toString()).equals("1.00000000E+13"));
2504f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2505f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub323", ((new android.icu.math.BigDecimal("10000e+9")).subtract(new android.icu.math.BigDecimal("700"),mcdef).toString()).equals("1.00000000E+13"));
2506f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2507f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub324", ((new android.icu.math.BigDecimal("10000e+9")).subtract(new android.icu.math.BigDecimal("7000"),mcdef).toString()).equals("1.00000000E+13"));
2508f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2509f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub325", ((new android.icu.math.BigDecimal("10000e+9")).subtract(new android.icu.math.BigDecimal("70000"),mcdef).toString()).equals("9.9999999E+12"));
2510f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2511f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub326", ((new android.icu.math.BigDecimal("10000e+9")).subtract(new android.icu.math.BigDecimal("700000"),mcdef).toString()).equals("9.9999993E+12"));
2512f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2513f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2514f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // [same with fixed point arithmetic]
2515f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub001", ((new android.icu.math.BigDecimal(2)).subtract(new android.icu.math.BigDecimal(3)).toString()).equals("-1"));
2516f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub002", ((new android.icu.math.BigDecimal("5.75")).subtract(new android.icu.math.BigDecimal("3.3")).toString()).equals("2.45"));
2517f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub003", ((new android.icu.math.BigDecimal("5")).subtract(new android.icu.math.BigDecimal("-3")).toString()).equals("8"));
2518f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub004", ((new android.icu.math.BigDecimal("-5")).subtract(new android.icu.math.BigDecimal("-3")).toString()).equals("-2"));
2519f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub005", ((new android.icu.math.BigDecimal("-7")).subtract(new android.icu.math.BigDecimal("2.5")).toString()).equals("-9.5"));
2520f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub006", ((new android.icu.math.BigDecimal("0.7")).subtract(new android.icu.math.BigDecimal("0.3")).toString()).equals("0.4"));
2521f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub007", ((new android.icu.math.BigDecimal("1.3")).subtract(new android.icu.math.BigDecimal("0.3")).toString()).equals("1.0"));
2522f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub008", ((new android.icu.math.BigDecimal("1.25")).subtract(new android.icu.math.BigDecimal("1.25")).toString()).equals("0.00"));
2523f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub009", ((new android.icu.math.BigDecimal("0.02")).subtract(new android.icu.math.BigDecimal("0.02")).toString()).equals("0.00"));
2524f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2525f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub010", ((new android.icu.math.BigDecimal("1.23456789")).subtract(new android.icu.math.BigDecimal("1.00000000")).toString()).equals("0.23456789"));
2526f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2527f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub011", ((new android.icu.math.BigDecimal("1.23456789")).subtract(new android.icu.math.BigDecimal("1.00000089")).toString()).equals("0.23456700"));
2528f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2529f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub012", ((new android.icu.math.BigDecimal("0.5555555559")).subtract(new android.icu.math.BigDecimal("0.0000000001")).toString()).equals("0.5555555558"));
2530f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2531f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub013", ((new android.icu.math.BigDecimal("0.5555555559")).subtract(new android.icu.math.BigDecimal("0.0000000005")).toString()).equals("0.5555555554"));
2532f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2533f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub014", ((new android.icu.math.BigDecimal("0.4444444444")).subtract(new android.icu.math.BigDecimal("0.1111111111")).toString()).equals("0.3333333333"));
2534f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2535f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub015", ((new android.icu.math.BigDecimal("1.0000000000")).subtract(new android.icu.math.BigDecimal("0.00000001")).toString()).equals("0.9999999900"));
2536f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2537f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub016", ((new android.icu.math.BigDecimal("0.4444444444999")).subtract(new android.icu.math.BigDecimal("0")).toString()).equals("0.4444444444999"));
2538f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2539f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub017", ((new android.icu.math.BigDecimal("0.4444444445000")).subtract(new android.icu.math.BigDecimal("0")).toString()).equals("0.4444444445000"));
2540f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2541f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2542f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub018", ((new android.icu.math.BigDecimal("70")).subtract(new android.icu.math.BigDecimal("10000e+9")).toString()).equals("-9999999999930"));
2543f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2544f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub019", ((new android.icu.math.BigDecimal("700")).subtract(new android.icu.math.BigDecimal("10000e+9")).toString()).equals("-9999999999300"));
2545f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2546f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub020", ((new android.icu.math.BigDecimal("7000")).subtract(new android.icu.math.BigDecimal("10000e+9")).toString()).equals("-9999999993000"));
2547f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2548f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub021", ((new android.icu.math.BigDecimal("70000")).subtract(new android.icu.math.BigDecimal("10000e+9")).toString()).equals("-9999999930000"));
2549f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2550f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub022", ((new android.icu.math.BigDecimal("700000")).subtract(new android.icu.math.BigDecimal("10000e+9")).toString()).equals("-9999999300000"));
2551f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2552f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // symmetry:
2553f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub023", ((new android.icu.math.BigDecimal("10000e+9")).subtract(new android.icu.math.BigDecimal("70")).toString()).equals("9999999999930"));
2554f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2555f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub024", ((new android.icu.math.BigDecimal("10000e+9")).subtract(new android.icu.math.BigDecimal("700")).toString()).equals("9999999999300"));
2556f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2557f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub025", ((new android.icu.math.BigDecimal("10000e+9")).subtract(new android.icu.math.BigDecimal("7000")).toString()).equals("9999999993000"));
2558f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2559f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub026", ((new android.icu.math.BigDecimal("10000e+9")).subtract(new android.icu.math.BigDecimal("70000")).toString()).equals("9999999930000"));
2560f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2561f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub027", ((new android.icu.math.BigDecimal("10000e+9")).subtract(new android.icu.math.BigDecimal("700000")).toString()).equals("9999999300000"));
2562f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2563f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // MC
2564f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub030", ((new android.icu.math.BigDecimal("10000e+9")).subtract(new android.icu.math.BigDecimal("70000"),mcdef).toString()).equals("9.9999999E+12"));
2565f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2566f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub031", ((new android.icu.math.BigDecimal("10000e+9")).subtract(new android.icu.math.BigDecimal("70000"),mc6).toString()).equals("1.00000E+13"));
2567f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2568f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2569f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // some of the next group are really constructor tests
2570f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub040", ((new android.icu.math.BigDecimal("00.0")).subtract(new android.icu.math.BigDecimal("0.0")).toString()).equals("0.0"));
2571f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub041", ((new android.icu.math.BigDecimal("00.0")).subtract(new android.icu.math.BigDecimal("0.00")).toString()).equals("0.00"));
2572f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub042", ((new android.icu.math.BigDecimal("0.00")).subtract(new android.icu.math.BigDecimal("00.0")).toString()).equals("0.00"));
2573f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub043", ((new android.icu.math.BigDecimal("00.0")).subtract(new android.icu.math.BigDecimal("0.00"),mcdef).toString()).equals("0"));
2574f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub044", ((new android.icu.math.BigDecimal("0.00")).subtract(new android.icu.math.BigDecimal("00.0"),mcdef).toString()).equals("0"));
2575f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub045", ((new android.icu.math.BigDecimal("3")).subtract(new android.icu.math.BigDecimal(".3"),mcdef).toString()).equals("2.7"));
2576f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub046", ((new android.icu.math.BigDecimal("3.")).subtract(new android.icu.math.BigDecimal(".3"),mcdef).toString()).equals("2.7"));
2577f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub047", ((new android.icu.math.BigDecimal("3.0")).subtract(new android.icu.math.BigDecimal(".3"),mcdef).toString()).equals("2.7"));
2578f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub048", ((new android.icu.math.BigDecimal("3.00")).subtract(new android.icu.math.BigDecimal(".3"),mcdef).toString()).equals("2.70"));
2579f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub049", ((new android.icu.math.BigDecimal("3")).subtract(new android.icu.math.BigDecimal("3"),mcdef).toString()).equals("0"));
2580f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub050", ((new android.icu.math.BigDecimal("3")).subtract(new android.icu.math.BigDecimal("+3"),mcdef).toString()).equals("0"));
2581f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub051", ((new android.icu.math.BigDecimal("3")).subtract(new android.icu.math.BigDecimal("-3"),mcdef).toString()).equals("6"));
2582f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub052", ((new android.icu.math.BigDecimal("3")).subtract(new android.icu.math.BigDecimal(".3")).toString()).equals("2.7"));
2583f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub053", ((new android.icu.math.BigDecimal("3.")).subtract(new android.icu.math.BigDecimal(".3")).toString()).equals("2.7"));
2584f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub054", ((new android.icu.math.BigDecimal("3.0")).subtract(new android.icu.math.BigDecimal(".3")).toString()).equals("2.7"));
2585f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub055", ((new android.icu.math.BigDecimal("3.00")).subtract(new android.icu.math.BigDecimal(".3")).toString()).equals("2.70"));
2586f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub056", ((new android.icu.math.BigDecimal("3")).subtract(new android.icu.math.BigDecimal("3")).toString()).equals("0"));
2587f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub057", ((new android.icu.math.BigDecimal("3")).subtract(new android.icu.math.BigDecimal("+3")).toString()).equals("0"));
2588f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub058", ((new android.icu.math.BigDecimal("3")).subtract(new android.icu.math.BigDecimal("-3")).toString()).equals("6"));
2589f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2590f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // the above all from add; massaged and extended. Now some new ones...
2591f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // [particularly important for comparisons]
2592f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // NB: -1E-7 below were non-exponents pre-ANSI
2593f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub080", ("-1E-7").equals((new android.icu.math.BigDecimal("10.23456784")).subtract(new android.icu.math.BigDecimal("10.23456789"),mcdef).toString()));
2594f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub081", "0".equals((new android.icu.math.BigDecimal("10.23456785")).subtract(new android.icu.math.BigDecimal("10.23456789"),mcdef).toString()));
2595f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub082", "0".equals((new android.icu.math.BigDecimal("10.23456786")).subtract(new android.icu.math.BigDecimal("10.23456789"),mcdef).toString()));
2596f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub083", "0".equals((new android.icu.math.BigDecimal("10.23456787")).subtract(new android.icu.math.BigDecimal("10.23456789"),mcdef).toString()));
2597f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub084", "0".equals((new android.icu.math.BigDecimal("10.23456788")).subtract(new android.icu.math.BigDecimal("10.23456789"),mcdef).toString()));
2598f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub085", "0".equals((new android.icu.math.BigDecimal("10.23456789")).subtract(new android.icu.math.BigDecimal("10.23456789"),mcdef).toString()));
2599f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub086", "0".equals((new android.icu.math.BigDecimal("10.23456790")).subtract(new android.icu.math.BigDecimal("10.23456789"),mcdef).toString()));
2600f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub087", "0".equals((new android.icu.math.BigDecimal("10.23456791")).subtract(new android.icu.math.BigDecimal("10.23456789"),mcdef).toString()));
2601f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub088", "0".equals((new android.icu.math.BigDecimal("10.23456792")).subtract(new android.icu.math.BigDecimal("10.23456789"),mcdef).toString()));
2602f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub089", "0".equals((new android.icu.math.BigDecimal("10.23456793")).subtract(new android.icu.math.BigDecimal("10.23456789"),mcdef).toString()));
2603f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub090", "0".equals((new android.icu.math.BigDecimal("10.23456794")).subtract(new android.icu.math.BigDecimal("10.23456789"),mcdef).toString()));
2604f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub091", ("-1E-7").equals((new android.icu.math.BigDecimal("10.23456781")).subtract(new android.icu.math.BigDecimal("10.23456786"),mcdef).toString()));
2605f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub092", ("-1E-7").equals((new android.icu.math.BigDecimal("10.23456782")).subtract(new android.icu.math.BigDecimal("10.23456786"),mcdef).toString()));
2606f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub093", ("-1E-7").equals((new android.icu.math.BigDecimal("10.23456783")).subtract(new android.icu.math.BigDecimal("10.23456786"),mcdef).toString()));
2607f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub094", ("-1E-7").equals((new android.icu.math.BigDecimal("10.23456784")).subtract(new android.icu.math.BigDecimal("10.23456786"),mcdef).toString()));
2608f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub095", "0".equals((new android.icu.math.BigDecimal("10.23456785")).subtract(new android.icu.math.BigDecimal("10.23456786"),mcdef).toString()));
2609f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub096", "0".equals((new android.icu.math.BigDecimal("10.23456786")).subtract(new android.icu.math.BigDecimal("10.23456786"),mcdef).toString()));
2610f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub097", "0".equals((new android.icu.math.BigDecimal("10.23456787")).subtract(new android.icu.math.BigDecimal("10.23456786"),mcdef).toString()));
2611f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub098", "0".equals((new android.icu.math.BigDecimal("10.23456788")).subtract(new android.icu.math.BigDecimal("10.23456786"),mcdef).toString()));
2612f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub099", "0".equals((new android.icu.math.BigDecimal("10.23456789")).subtract(new android.icu.math.BigDecimal("10.23456786"),mcdef).toString()));
2613f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub100", "0".equals((new android.icu.math.BigDecimal("10.23456790")).subtract(new android.icu.math.BigDecimal("10.23456786"),mcdef).toString()));
2614f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub101", "0".equals((new android.icu.math.BigDecimal("10.23456791")).subtract(new android.icu.math.BigDecimal("10.23456786"),mcdef).toString()));
2615f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub102", "0".equals(android.icu.math.BigDecimal.ONE.subtract(new android.icu.math.BigDecimal("0.999999999"),mcdef).toString()));
2616f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub103", "0".equals((new android.icu.math.BigDecimal("0.999999999")).subtract(android.icu.math.BigDecimal.ONE,mcdef).toString()));
2617f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2618f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        alhs = new android.icu.math.BigDecimal("12345678900000");
2619f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        arhs = new android.icu.math.BigDecimal("9999999999999");
2620f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub110", (alhs.subtract(arhs, mc3).toString()).equals("2.3E+12"));
2621f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub111", (arhs.subtract(alhs, mc3).toString()).equals("-2.3E+12"));
2622f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub112", (alhs.subtract(arhs).toString()).equals("2345678900001"));
2623f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub113", (arhs.subtract(alhs).toString()).equals("-2345678900001"));
2624f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2625f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // additional scaled arithmetic tests [0.97 problem]
2626f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub120", ((new android.icu.math.BigDecimal("0")).subtract(new android.icu.math.BigDecimal(".1")).toString()).equals("-0.1"));
2627f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub121", ((new android.icu.math.BigDecimal("00")).subtract(new android.icu.math.BigDecimal(".97983")).toString()).equals("-0.97983"));
2628f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub122", ((new android.icu.math.BigDecimal("0")).subtract(new android.icu.math.BigDecimal(".9")).toString()).equals("-0.9"));
2629f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub123", ((new android.icu.math.BigDecimal("0")).subtract(new android.icu.math.BigDecimal("0.102")).toString()).equals("-0.102"));
2630f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub124", ((new android.icu.math.BigDecimal("0")).subtract(new android.icu.math.BigDecimal(".4")).toString()).equals("-0.4"));
2631f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub125", ((new android.icu.math.BigDecimal("0")).subtract(new android.icu.math.BigDecimal(".307")).toString()).equals("-0.307"));
2632f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub126", ((new android.icu.math.BigDecimal("0")).subtract(new android.icu.math.BigDecimal(".43822")).toString()).equals("-0.43822"));
2633f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub127", ((new android.icu.math.BigDecimal("0")).subtract(new android.icu.math.BigDecimal(".911")).toString()).equals("-0.911"));
2634f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub128", ((new android.icu.math.BigDecimal(".0")).subtract(new android.icu.math.BigDecimal(".02")).toString()).equals("-0.02"));
2635f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub129", ((new android.icu.math.BigDecimal("00")).subtract(new android.icu.math.BigDecimal(".392")).toString()).equals("-0.392"));
2636f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub130", ((new android.icu.math.BigDecimal("0")).subtract(new android.icu.math.BigDecimal(".26")).toString()).equals("-0.26"));
2637f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub131", ((new android.icu.math.BigDecimal("0")).subtract(new android.icu.math.BigDecimal("0.51")).toString()).equals("-0.51"));
2638f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub132", ((new android.icu.math.BigDecimal("0")).subtract(new android.icu.math.BigDecimal(".2234")).toString()).equals("-0.2234"));
2639f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub133", ((new android.icu.math.BigDecimal("0")).subtract(new android.icu.math.BigDecimal(".2")).toString()).equals("-0.2"));
2640f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub134", ((new android.icu.math.BigDecimal(".0")).subtract(new android.icu.math.BigDecimal(".0008")).toString()).equals("-0.0008"));
2641f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 0. on left
2642f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub140", ((new android.icu.math.BigDecimal("0.0")).subtract(new android.icu.math.BigDecimal("-.1")).toString()).equals("0.1"));
2643f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub141", ((new android.icu.math.BigDecimal("0.00")).subtract(new android.icu.math.BigDecimal("-.97983")).toString()).equals("0.97983"));
2644f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub142", ((new android.icu.math.BigDecimal("0.0")).subtract(new android.icu.math.BigDecimal("-.9")).toString()).equals("0.9"));
2645f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub143", ((new android.icu.math.BigDecimal("0.0")).subtract(new android.icu.math.BigDecimal("-0.102")).toString()).equals("0.102"));
2646f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub144", ((new android.icu.math.BigDecimal("0.0")).subtract(new android.icu.math.BigDecimal("-.4")).toString()).equals("0.4"));
2647f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub145", ((new android.icu.math.BigDecimal("0.0")).subtract(new android.icu.math.BigDecimal("-.307")).toString()).equals("0.307"));
2648f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub146", ((new android.icu.math.BigDecimal("0.0")).subtract(new android.icu.math.BigDecimal("-.43822")).toString()).equals("0.43822"));
2649f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub147", ((new android.icu.math.BigDecimal("0.0")).subtract(new android.icu.math.BigDecimal("-.911")).toString()).equals("0.911"));
2650f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub148", ((new android.icu.math.BigDecimal("0.0")).subtract(new android.icu.math.BigDecimal("-.02")).toString()).equals("0.02"));
2651f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub149", ((new android.icu.math.BigDecimal("0.00")).subtract(new android.icu.math.BigDecimal("-.392")).toString()).equals("0.392"));
2652f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub150", ((new android.icu.math.BigDecimal("0.0")).subtract(new android.icu.math.BigDecimal("-.26")).toString()).equals("0.26"));
2653f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub151", ((new android.icu.math.BigDecimal("0.0")).subtract(new android.icu.math.BigDecimal("-0.51")).toString()).equals("0.51"));
2654f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub152", ((new android.icu.math.BigDecimal("0.0")).subtract(new android.icu.math.BigDecimal("-.2234")).toString()).equals("0.2234"));
2655f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub153", ((new android.icu.math.BigDecimal("0.0")).subtract(new android.icu.math.BigDecimal("-.2")).toString()).equals("0.2"));
2656f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub154", ((new android.icu.math.BigDecimal("0.0")).subtract(new android.icu.math.BigDecimal("-.0008")).toString()).equals("0.0008"));
2657f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // negatives of same
2658f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub160", ((new android.icu.math.BigDecimal("0")).subtract(new android.icu.math.BigDecimal("-.1")).toString()).equals("0.1"));
2659f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub161", ((new android.icu.math.BigDecimal("00")).subtract(new android.icu.math.BigDecimal("-.97983")).toString()).equals("0.97983"));
2660f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub162", ((new android.icu.math.BigDecimal("0")).subtract(new android.icu.math.BigDecimal("-.9")).toString()).equals("0.9"));
2661f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub163", ((new android.icu.math.BigDecimal("0")).subtract(new android.icu.math.BigDecimal("-0.102")).toString()).equals("0.102"));
2662f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub164", ((new android.icu.math.BigDecimal("0")).subtract(new android.icu.math.BigDecimal("-.4")).toString()).equals("0.4"));
2663f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub165", ((new android.icu.math.BigDecimal("0")).subtract(new android.icu.math.BigDecimal("-.307")).toString()).equals("0.307"));
2664f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub166", ((new android.icu.math.BigDecimal("0")).subtract(new android.icu.math.BigDecimal("-.43822")).toString()).equals("0.43822"));
2665f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub167", ((new android.icu.math.BigDecimal("0")).subtract(new android.icu.math.BigDecimal("-.911")).toString()).equals("0.911"));
2666f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub168", ((new android.icu.math.BigDecimal(".0")).subtract(new android.icu.math.BigDecimal("-.02")).toString()).equals("0.02"));
2667f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub169", ((new android.icu.math.BigDecimal("00")).subtract(new android.icu.math.BigDecimal("-.392")).toString()).equals("0.392"));
2668f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub170", ((new android.icu.math.BigDecimal("0")).subtract(new android.icu.math.BigDecimal("-.26")).toString()).equals("0.26"));
2669f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub171", ((new android.icu.math.BigDecimal("0")).subtract(new android.icu.math.BigDecimal("-0.51")).toString()).equals("0.51"));
2670f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub172", ((new android.icu.math.BigDecimal("0")).subtract(new android.icu.math.BigDecimal("-.2234")).toString()).equals("0.2234"));
2671f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub173", ((new android.icu.math.BigDecimal("0")).subtract(new android.icu.math.BigDecimal("-.2")).toString()).equals("0.2"));
2672f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub174", ((new android.icu.math.BigDecimal(".0")).subtract(new android.icu.math.BigDecimal("-.0008")).toString()).equals("0.0008"));
2673f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2674f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // more fixed, LHS swaps [really same as testcases under add]
2675f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub180", ((new android.icu.math.BigDecimal("-56267E-10")).subtract(zero).toString()).equals("-0.0000056267"));
2676f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub181", ((new android.icu.math.BigDecimal("-56267E-5")).subtract(zero).toString()).equals("-0.56267"));
2677f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub182", ((new android.icu.math.BigDecimal("-56267E-2")).subtract(zero).toString()).equals("-562.67"));
2678f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub183", ((new android.icu.math.BigDecimal("-56267E-1")).subtract(zero).toString()).equals("-5626.7"));
2679f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub185", ((new android.icu.math.BigDecimal("-56267E-0")).subtract(zero).toString()).equals("-56267"));
2680f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2681f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2682f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ten.subtract((android.icu.math.BigDecimal) null);
2683f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2684f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $83) {
2685f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
2686f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull */
2687f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub200", flag);
2688f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2689f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ten.subtract(ten, (android.icu.math.MathContext) null);
2690f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2691f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NullPointerException $84) {
2692f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
2693f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknull2 */
2694f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub201", flag);
2695f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2696f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2697f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            android.icu.math.BigDecimal.ONE.subtract(tenlong, mcld);
2698f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2699f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $85) {
2700f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $85;
2701f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits:" + " "
2702f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + tenlong.toString());
2703f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
2704f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub202", flag);
2705f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2706f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            tenlong.subtract(android.icu.math.BigDecimal.ONE, mcld);
2707f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2708f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $86) {
2709f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $86;
2710f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Too many digits:" + " "
2711f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + tenlong.toString());
2712f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigits */
2713f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sub203", flag);
2714f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
2715f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2716f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
2717f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2718f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
2719f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* Other methods */
2720f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
2721f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2722f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the <code>BigDecimal.byteValue()</code> method. */
2723f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2724f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
2725f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagbyteValue() {
2726f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        boolean flag = false;
2727f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.String v = null;
2728f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.ArithmeticException ae = null;
2729f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.String badstrings[];
2730f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        int i = 0;
2731f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.String norm = null;
2732f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2733f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv001", ((((byte)-128)))==((new android.icu.math.BigDecimal("-128")).byteValue()));
2734f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv002", ((0))==((new android.icu.math.BigDecimal("0")).byteValue()));
2735f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv003", ((1))==((new android.icu.math.BigDecimal("1")).byteValue()));
2736f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv004", ((99))==((new android.icu.math.BigDecimal("99")).byteValue()));
2737f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv005", ((127))==((new android.icu.math.BigDecimal("127")).byteValue()));
2738f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv006", ((-128))==((new android.icu.math.BigDecimal("128")).byteValue()));
2739f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv007", ((-127))==((new android.icu.math.BigDecimal("129")).byteValue()));
2740f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv008", ((127))==((new android.icu.math.BigDecimal("-129")).byteValue()));
2741f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv009", ((126))==((new android.icu.math.BigDecimal("-130")).byteValue()));
2742f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv010", ((bmax))==((new android.icu.math.BigDecimal(bmax)).byteValue()));
2743f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv011", ((bmin))==((new android.icu.math.BigDecimal(bmin)).byteValue()));
2744f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv012", ((bneg))==((new android.icu.math.BigDecimal(bneg)).byteValue()));
2745f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv013", ((bzer))==((new android.icu.math.BigDecimal(bzer)).byteValue()));
2746f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv014", ((bpos))==((new android.icu.math.BigDecimal(bpos)).byteValue()));
2747f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv015", ((bmin))==((new android.icu.math.BigDecimal(bmax+1)).byteValue()));
2748f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv016", ((bmax))==((new android.icu.math.BigDecimal(bmin-1)).byteValue()));
2749f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2750f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv021", ((((byte)-128)))==((new android.icu.math.BigDecimal("-128")).byteValueExact()));
2751f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv022", ((0))==((new android.icu.math.BigDecimal("0")).byteValueExact()));
2752f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv023", ((1))==((new android.icu.math.BigDecimal("1")).byteValueExact()));
2753f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv024", ((99))==((new android.icu.math.BigDecimal("99")).byteValueExact()));
2754f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv025", ((127))==((new android.icu.math.BigDecimal("127")).byteValueExact()));
2755f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv026", ((bmax))==((new android.icu.math.BigDecimal(bmax)).byteValueExact()));
2756f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv027", ((bmin))==((new android.icu.math.BigDecimal(bmin)).byteValueExact()));
2757f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv028", ((bneg))==((new android.icu.math.BigDecimal(bneg)).byteValueExact()));
2758f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv029", ((bzer))==((new android.icu.math.BigDecimal(bzer)).byteValueExact()));
2759f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv030", ((bpos))==((new android.icu.math.BigDecimal(bpos)).byteValueExact()));
2760f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2761f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            v = "-129";
2762f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            (new android.icu.math.BigDecimal(v)).byteValueExact();
2763f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2764f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $87) {
2765f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $87;
2766f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Conversion overflow:" + " " + v);
2767f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
2768f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv100", flag);
2769f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2770f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            v = "128";
2771f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            (new android.icu.math.BigDecimal(v)).byteValueExact();
2772f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2773f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $88) {
2774f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $88;
2775f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Conversion overflow:" + " " + v);
2776f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
2777f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv101", flag);
2778f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
2779f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            v = "1.5";
2780f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            (new android.icu.math.BigDecimal(v)).byteValueExact();
2781f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
2782f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $89) {
2783f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $89;
2784f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Decimal part non-zero:" + " " + v);
2785f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
2786f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("byv102", flag);
2787f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2788f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        badstrings = new java.lang.String[] {
2789f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "1234",
2790f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                (new android.icu.math.BigDecimal(bmax)).add(one).toString(),
2791f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                (new android.icu.math.BigDecimal(bmin)).subtract(one)
2792f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                        .toString(),
2793f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "170",
2794f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "270",
2795f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "370",
2796f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "470",
2797f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "570",
2798f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "670",
2799f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "770",
2800f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "870",
2801f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "970",
2802f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-170",
2803f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-270",
2804f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-370",
2805f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-470",
2806f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-570",
2807f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-670",
2808f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-770",
2809f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-870",
2810f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-970",
2811f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                (new android.icu.math.BigDecimal(bmin)).multiply(two)
2812f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                        .toString(),
2813f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                (new android.icu.math.BigDecimal(bmax)).multiply(two)
2814f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                        .toString(),
2815f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                (new android.icu.math.BigDecimal(bmin)).multiply(ten)
2816f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                        .toString(),
2817f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                (new android.icu.math.BigDecimal(bmax)).multiply(ten)
2818f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                        .toString(), "-1234" }; // 220
2819f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 221
2820f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 222
2821f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 223
2822f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 224
2823f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 225
2824f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 226
2825f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 227
2826f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 228
2827f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 229
2828f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 230
2829f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 231
2830f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 232
2831f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 233
2832f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 234
2833f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 235
2834f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 236
2835f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 237
2836f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 238
2837f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 239
2838f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 240
2839f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 241
2840f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 242
2841f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 243
2842f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 244
2843f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 245
2844f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        {
2845f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            int $90 = badstrings.length;
2846f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            i = 0;
2847f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            for (; $90 > 0; $90--, i++) {
2848f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                try {
2849f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    v = badstrings[i];
2850f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    (new android.icu.math.BigDecimal(v)).byteValueExact();
2851f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    flag = false;
2852f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                } catch (java.lang.ArithmeticException $91) {
2853f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    ae = $91;
2854f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    norm = (new android.icu.math.BigDecimal(v)).toString();
2855f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    flag = (ae.getMessage()).equals("Conversion overflow:"
2856f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                            + " " + norm);
2857f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                }
2858f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                TestFmwk.assertTrue("byv" + (220 + i), flag);
2859f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            }
2860f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* i */
2861f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
2862f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2863f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
2864f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2865f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /**
2866f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     * Test the {@link android.icu.math.BigDecimal#compareTo(java.lang.Object)}
2867f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     * method.
2868f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     */
2869f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2870f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
2871f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagcomparetoObj() {
2872f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        boolean flag = false;
2873f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        android.icu.math.BigDecimal d;
2874f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        android.icu.math.BigDecimal long1;
2875f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        android.icu.math.BigDecimal long2;
2876f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//
2877f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        d = new android.icu.math.BigDecimal(17);
2878f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        (new Test("cto001")).ok = (d
2879f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//                .compareTo((java.lang.Object) (new android.icu.math.BigDecimal(
2880f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//                        66)))) == (-1);
2881f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        (new Test("cto002")).ok = (d
2882f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//                .compareTo((java.lang.Object) ((new android.icu.math.BigDecimal(
2883f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//                        10)).add(new android.icu.math.BigDecimal(7))))) == 0;
2884f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        (new Test("cto003")).ok = (d
2885f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//                .compareTo((java.lang.Object) (new android.icu.math.BigDecimal(
2886f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//                        10)))) == 1;
2887f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        long1 = new android.icu.math.BigDecimal("12345678903");
2888f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        long2 = new android.icu.math.BigDecimal("12345678900");
2889f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        TestFmwk.assertTrue("cto004", (long1.compareTo((java.lang.Object) long2)) == 1);
2890f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        TestFmwk.assertTrue("cto005", (long2.compareTo((java.lang.Object) long1)) == (-1));
2891f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        TestFmwk.assertTrue("cto006", (long2.compareTo((java.lang.Object) long2)) == 0);
2892f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        try {
2893f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//            d.compareTo((java.lang.Object) null);
2894f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//            flag = false;
2895f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        } catch (java.lang.NullPointerException $92) {
2896f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//            flag = true; // should get here
2897f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        }
2898f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        TestFmwk.assertTrue("cto101", flag);
2899f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        try {
2900f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//            d.compareTo((java.lang.Object) "foo");
2901f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//            flag = false;
2902f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        } catch (java.lang.ClassCastException $93) {
2903f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//            flag = true; // should get here
2904f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        }
2905f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        TestFmwk.assertTrue("cto102", flag);
2906f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        summary("compareTo(Obj)");
2907f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
2908f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2909f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
2910f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2911f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#doubleValue} method. */
2912f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2913f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
2914f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagdoublevalue() {
2915f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.String val;
2916f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 1999.03.07 Infinities no longer errors
2917f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        val = "-1";
2918f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dov001", ((new android.icu.math.BigDecimal(val)).doubleValue()) == ((new java.lang.Double(val)).doubleValue()));
2919f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        val = "-0.1";
2920f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dov002", ((new android.icu.math.BigDecimal(val)).doubleValue()) == ((new java.lang.Double(val)).doubleValue()));
2921f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        val = "0";
2922f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dov003", ((new android.icu.math.BigDecimal(val)).doubleValue()) == ((new java.lang.Double(val)).doubleValue()));
2923f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        val = "0.1";
2924f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dov004", ((new android.icu.math.BigDecimal(val)).doubleValue()) == ((new java.lang.Double(val)).doubleValue()));
2925f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        val = "1";
2926f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dov005", ((new android.icu.math.BigDecimal(val)).doubleValue()) == ((new java.lang.Double(val)).doubleValue()));
2927f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        val = "1e1000";
2928f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dov006", ((new android.icu.math.BigDecimal(val)).doubleValue()) == java.lang.Double.POSITIVE_INFINITY);
2929f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        val = "-1e1000";
2930f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("dov007", ((new android.icu.math.BigDecimal(val)).doubleValue()) == java.lang.Double.NEGATIVE_INFINITY);
2931f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
2932f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2933f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
2934f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2935f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#equals} method. */
2936f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2937f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
2938f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagequals() {
2939f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal d;
2940f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = new android.icu.math.BigDecimal(17);
2941f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("equ001", (!(d.equals((java.lang.Object) null))));
2942f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("equ002", (!(d.equals("foo"))));
2943f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("equ003", (!(d.equals((new android.icu.math.BigDecimal(66))))));
2944f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("equ004", d.equals(d));
2945f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("equ005", d.equals(((new android.icu.math.BigDecimal(10)).add(new android.icu.math.BigDecimal(7)))));
2946f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
2947f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2948f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
2949f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2950f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#floatValue} method. */
2951f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2952f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
2953f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagfloatvalue() {
2954f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.String val;
2955f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 1999.03.07 Infinities no longer errors
2956f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        val = "-1";
2957f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("flv001", ((new android.icu.math.BigDecimal(val)).floatValue()) == ((new java.lang.Float(val)).floatValue()));
2958f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        val = "-0.1";
2959f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("flv002", ((new android.icu.math.BigDecimal(val)).floatValue()) == ((new java.lang.Float(val)).floatValue()));
2960f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        val = "0";
2961f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("flv003", ((new android.icu.math.BigDecimal(val)).floatValue()) == ((new java.lang.Float(val)).floatValue()));
2962f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        val = "0.1";
2963f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("flv004", ((new android.icu.math.BigDecimal(val)).floatValue()) == ((new java.lang.Float(val)).floatValue()));
2964f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        val = "1";
2965f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("flv005", ((new android.icu.math.BigDecimal(val)).floatValue()) == ((new java.lang.Float(val)).floatValue()));
2966f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        val = "1e200";
2967f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("flv006", ((new android.icu.math.BigDecimal(val)).floatValue()) == java.lang.Float.POSITIVE_INFINITY);
2968f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        val = "-1e200";
2969f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("flv007", ((new android.icu.math.BigDecimal(val)).floatValue()) == java.lang.Float.NEGATIVE_INFINITY);
2970f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        val = "1e1000";
2971f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("flv008", ((new android.icu.math.BigDecimal(val)).floatValue()) == java.lang.Float.POSITIVE_INFINITY);
2972f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        val = "-1e1000";
2973f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("flv009", ((new android.icu.math.BigDecimal(val)).floatValue()) == java.lang.Float.NEGATIVE_INFINITY);
2974f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
2975f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2976f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
2977f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2978f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#format} method. */
2979f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
2980f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
2981f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagformat() {
2982f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        boolean flag = false;
2983f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        int eng;
2984f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        int sci;
2985f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal d04;
2986f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal d05;
2987f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal d06;
2988f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal d15;
2989f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.IllegalArgumentException iae = null;
2990f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal d050;
2991f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal d150;
2992f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal m050;
2993f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal m150;
2994f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal d051;
2995f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal d151;
2996f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal d000;
2997f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal d500;
2998f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.ArithmeticException ae = null;
2999f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 1999.02.09 now only two signatures for format(), so some tests below
3000f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // may now be redundant
3001f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3002f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for001", ((new android.icu.math.BigDecimal("12.3")).format(-1,-1)).equals("12.3"));
3003f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for002", ((new android.icu.math.BigDecimal("-12.73")).format(-1,-1)).equals("-12.73"));
3004f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for003", ((new android.icu.math.BigDecimal("0.000")).format(-1,-1)).equals("0.000"));
3005f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for004", ((new android.icu.math.BigDecimal("3E+3")).format(-1,-1)).equals("3000"));
3006f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for005", ((new android.icu.math.BigDecimal("3")).format(4,-1)).equals("   3"));
3007f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for006", ((new android.icu.math.BigDecimal("1.73")).format(4,0)).equals("   2"));
3008f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for007", ((new android.icu.math.BigDecimal("1.73")).format(4,1)).equals("   1.7"));
3009f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for008", ((new android.icu.math.BigDecimal("1.75")).format(4,1)).equals("   1.8"));
3010f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for009", ((new android.icu.math.BigDecimal("0.5")).format(4,1)).equals("   0.5"));
3011f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for010", ((new android.icu.math.BigDecimal("0.05")).format(4,1)).equals("   0.1"));
3012f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for011", ((new android.icu.math.BigDecimal("0.04")).format(4,1)).equals("   0.0"));
3013f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for012", ((new android.icu.math.BigDecimal("0")).format(4,0)).equals("   0"));
3014f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for013", ((new android.icu.math.BigDecimal("0")).format(4,1)).equals("   0.0"));
3015f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for014", ((new android.icu.math.BigDecimal("0")).format(4,2)).equals("   0.00"));
3016f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for015", ((new android.icu.math.BigDecimal("0")).format(4,3)).equals("   0.000"));
3017f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for016", ((new android.icu.math.BigDecimal("0")).format(4,4)).equals("   0.0000"));
3018f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for017", ((new android.icu.math.BigDecimal("0.005")).format(4,0)).equals("   0"));
3019f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for018", ((new android.icu.math.BigDecimal("0.005")).format(4,1)).equals("   0.0"));
3020f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for019", ((new android.icu.math.BigDecimal("0.005")).format(4,2)).equals("   0.01"));
3021f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for020", ((new android.icu.math.BigDecimal("0.004")).format(4,2)).equals("   0.00"));
3022f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for021", ((new android.icu.math.BigDecimal("0.005")).format(4,3)).equals("   0.005"));
3023f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for022", ((new android.icu.math.BigDecimal("0.005")).format(4,4)).equals("   0.0050"));
3024f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3025f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for023", ((new android.icu.math.BigDecimal("1.73")).format(4,2)).equals("   1.73"));
3026f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for024", ((new android.icu.math.BigDecimal("1.73")).format(4,3)).equals("   1.730"));
3027f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for025", ((new android.icu.math.BigDecimal("-.76")).format(4,1)).equals("  -0.8"));
3028f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for026", ((new android.icu.math.BigDecimal("-12.73")).format(-1,4)).equals("-12.7300"));
3029f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3030f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for027", ((new android.icu.math.BigDecimal("3.03")).format(4,-1)).equals("   3.03"));
3031f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for028", ((new android.icu.math.BigDecimal("3.03")).format(4,1)).equals("   3.0"));
3032f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for029", ((new android.icu.math.BigDecimal("3.03")).format(4,-1,3,-1,-1,-1)).equals("   3.03     "));
3033f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for030", ((new android.icu.math.BigDecimal("3.03")).format(-1,-1,3,-1,-1,-1)).equals("3.03     "));
3034f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for031", ((new android.icu.math.BigDecimal("12345.73")).format(-1,-1,-1,4,-1,-1)).equals("1.234573E+4"));
3035f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for032", ((new android.icu.math.BigDecimal("12345.73")).format(-1,-1,-1,5,-1,-1)).equals("12345.73"));
3036f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for033", ((new android.icu.math.BigDecimal("12345.73")).format(-1,-1,-1,6,-1,-1)).equals("12345.73"));
3037f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3038f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for034", ((new android.icu.math.BigDecimal("12345.73")).format(-1,8,-1,3,-1,-1)).equals("1.23457300E+4"));
3039f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for035", ((new android.icu.math.BigDecimal("12345.73")).format(-1,7,-1,3,-1,-1)).equals("1.2345730E+4"));
3040f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for036", ((new android.icu.math.BigDecimal("12345.73")).format(-1,6,-1,3,-1,-1)).equals("1.234573E+4"));
3041f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for037", ((new android.icu.math.BigDecimal("12345.73")).format(-1,5,-1,3,-1,-1)).equals("1.23457E+4"));
3042f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for038", ((new android.icu.math.BigDecimal("12345.73")).format(-1,4,-1,3,-1,-1)).equals("1.2346E+4"));
3043f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for039", ((new android.icu.math.BigDecimal("12345.73")).format(-1,3,-1,3,-1,-1)).equals("1.235E+4"));
3044f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for040", ((new android.icu.math.BigDecimal("12345.73")).format(-1,2,-1,3,-1,-1)).equals("1.23E+4"));
3045f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for041", ((new android.icu.math.BigDecimal("12345.73")).format(-1,1,-1,3,-1,-1)).equals("1.2E+4"));
3046f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for042", ((new android.icu.math.BigDecimal("12345.73")).format(-1,0,-1,3,-1,-1)).equals("1E+4"));
3047f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3048f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for043", ((new android.icu.math.BigDecimal("99999.99")).format(-1,6,-1,3,-1,-1)).equals("9.999999E+4"));
3049f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for044", ((new android.icu.math.BigDecimal("99999.99")).format(-1,5,-1,3,-1,-1)).equals("1.00000E+5"));
3050f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for045", ((new android.icu.math.BigDecimal("99999.99")).format(-1,2,-1,3,-1,-1)).equals("1.00E+5"));
3051f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for046", ((new android.icu.math.BigDecimal("99999.99")).format(-1,0,-1,3,-1,-1)).equals("1E+5"));
3052f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for047", ((new android.icu.math.BigDecimal("99999.99")).format(3,0,-1,3,-1,-1)).equals("  1E+5"));
3053f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3054f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for048", ((new android.icu.math.BigDecimal("12345.73")).format(-1,-1,2,2,-1,-1)).equals("1.234573E+04"));
3055f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for049", ((new android.icu.math.BigDecimal("12345.73")).format(-1,3,-1,0,-1,-1)).equals("1.235E+4"));
3056f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for050", ((new android.icu.math.BigDecimal("1.234573")).format(-1,3,-1,0,-1,-1)).equals("1.235"));
3057f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for051", ((new android.icu.math.BigDecimal("123.45")).format(-1,3,2,0,-1,-1)).equals("1.235E+02"));
3058f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3059f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for052", ((new android.icu.math.BigDecimal("0.444")).format(-1,0)).equals("0"));
3060f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for053", ((new android.icu.math.BigDecimal("-0.444")).format(-1,0)).equals("0"));
3061f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for054", ((new android.icu.math.BigDecimal("0.4")).format(-1,0)).equals("0"));
3062f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for055", ((new android.icu.math.BigDecimal("-0.4")).format(-1,0)).equals("0"));
3063f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3064f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        eng = android.icu.math.MathContext.ENGINEERING;
3065f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        sci = android.icu.math.MathContext.SCIENTIFIC;
3066f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for060", ((new android.icu.math.BigDecimal("1234.5")).format(-1,3,2,0,eng,-1)).equals("1.235E+03"));
3067f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for061", ((new android.icu.math.BigDecimal("12345")).format(-1,3,3,0,eng,-1)).equals("12.345E+003"));
3068f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for062", ((new android.icu.math.BigDecimal("12345")).format(-1,3,3,0,sci,-1)).equals("1.235E+004"));
3069f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for063", ((new android.icu.math.BigDecimal("1234.5")).format(4,3,2,0,eng,-1)).equals("   1.235E+03"));
3070f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for064", ((new android.icu.math.BigDecimal("12345")).format(5,3,3,0,eng,-1)).equals("   12.345E+003"));
3071f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for065", ((new android.icu.math.BigDecimal("12345")).format(6,3,3,0,sci,-1)).equals("     1.235E+004"));
3072f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3073f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for066", ((new android.icu.math.BigDecimal("1.2345")).format(-1,3,2,0,-1,-1)).equals("1.235    "));
3074f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for067", ((new android.icu.math.BigDecimal("12345.73")).format(-1,-1,3,6,-1,-1)).equals("12345.73     "));
3075f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for068", ((new android.icu.math.BigDecimal("12345e+5")).format(-1,0)).equals("1234500000"));
3076f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for069", ((new android.icu.math.BigDecimal("12345e+5")).format(-1,1)).equals("1234500000.0"));
3077f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for070", ((new android.icu.math.BigDecimal("12345e+5")).format(-1,2)).equals("1234500000.00"));
3078f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for071", ((new android.icu.math.BigDecimal("12345e+5")).format(-1,3)).equals("1234500000.000"));
3079f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for072", ((new android.icu.math.BigDecimal("12345e+5")).format(-1,4)).equals("1234500000.0000"));
3080f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3081f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // some from ANSI Dallas [Nov 1998]
3082f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for073", ((new android.icu.math.BigDecimal("99.999")).format(-1,2,-1,2,-1,-1)).equals("100.00"));
3083f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for074", ((new android.icu.math.BigDecimal("0.99999")).format(-1,4,2,2,-1,-1)).equals("1.0000    "));
3084f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3085f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // try some rounding modes [default ROUND_HALF_UP widely tested above]
3086f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // the first few also tests that defaults are accepted for the others
3087f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d04 = new android.icu.math.BigDecimal("0.04");
3088f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d05 = new android.icu.math.BigDecimal("0.05");
3089f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d06 = new android.icu.math.BigDecimal("0.06");
3090f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d15 = new android.icu.math.BigDecimal("0.15");
3091f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for080", (d05.format(-1, 1)).equals("0.1"));
3092f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for081", (d05.format(-1, 1, -1, -1, -1, android.icu.math.MathContext.ROUND_HALF_UP)).equals("0.1"));
3093f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for082", (d05.format(-1, 1, -1, -1, -1, -1)).equals("0.1"));
3094f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for083", (d05.format(-1, -1, -1, -1, -1, -1)).equals("0.05"));
3095f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for084", (d05.format(-1, -1)).equals("0.05"));
3096f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
3097f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            d05.format(-1, -1, -1, -1, -1, 30); // bad mode
3098f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false; // shouldn't get here
3099f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.IllegalArgumentException $94) {
3100f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            iae = $94;
3101f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (iae.getMessage()).equals("Bad argument 6 to format: 30");
3102f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
3103f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for085", flag);
3104f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3105f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for090", (d04.format(-1,1)).equals("0.0"));
3106f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for091", (d06.format(-1,1)).equals("0.1"));
3107f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for092", (d04.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_HALF_DOWN)).equals("0.0"));
3108f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for093", (d05.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_HALF_DOWN)).equals("0.0"));
3109f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for094", (d06.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_HALF_DOWN)).equals("0.1"));
3110f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3111f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for095", (d04.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_HALF_EVEN)).equals("0.0"));
3112f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for096", (d05.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_HALF_EVEN)).equals("0.0"));
3113f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for097", (d06.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_HALF_EVEN)).equals("0.1"));
3114f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for098", (d15.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_HALF_EVEN)).equals("0.2"));
3115f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d050 = new android.icu.math.BigDecimal("0.050");
3116f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d150 = new android.icu.math.BigDecimal("0.150");
3117f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for099", (d050.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_HALF_EVEN)).equals("0.0"));
3118f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for100", (d150.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_HALF_EVEN)).equals("0.2"));
3119f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        m050 = new android.icu.math.BigDecimal("-0.050");
3120f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        m150 = new android.icu.math.BigDecimal("-0.150");
3121f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for101", (m050.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_HALF_EVEN)).equals("0.0"));
3122f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for102", (m150.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_HALF_EVEN)).equals("-0.2"));
3123f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d051 = new android.icu.math.BigDecimal("0.051");
3124f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d151 = new android.icu.math.BigDecimal("0.151");
3125f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for103", (d051.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_HALF_EVEN)).equals("0.1"));
3126f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for104", (d151.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_HALF_EVEN)).equals("0.2"));
3127f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3128f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for105", (m050.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_CEILING)).equals("0.0"));
3129f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for106", (m150.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_CEILING)).equals("-0.1"));
3130f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for107", (d050.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_CEILING)).equals("0.1"));
3131f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for108", (d150.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_CEILING)).equals("0.2"));
3132f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3133f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for109", (m050.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_FLOOR)).equals("-0.1"));
3134f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for110", (m150.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_FLOOR)).equals("-0.2"));
3135f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for111", (d050.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_FLOOR)).equals("0.0"));
3136f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for112", (d150.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_FLOOR)).equals("0.1"));
3137f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3138f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for113", (m050.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_UP)).equals("-0.1"));
3139f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for114", (m150.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_UP)).equals("-0.2"));
3140f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for115", (d050.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_UP)).equals("0.1"));
3141f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for116", (d150.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_UP)).equals("0.2"));
3142f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3143f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for117", (m050.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_DOWN)).equals("0.0"));
3144f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for118", (m150.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_DOWN)).equals("-0.1"));
3145f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for119", (d050.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_DOWN)).equals("0.0"));
3146f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for120", (d150.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_DOWN)).equals("0.1"));
3147f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3148f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d000 = new android.icu.math.BigDecimal("0.000");
3149f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d500 = new android.icu.math.BigDecimal("0.500");
3150f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for121", (d000.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_UNNECESSARY)).equals("0.0"));
3151f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for122", (d000.format(-1,2,-1,-1,-1,android.icu.math.MathContext.ROUND_UNNECESSARY)).equals("0.00"));
3152f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for123", (d000.format(-1,3,-1,-1,-1,android.icu.math.MathContext.ROUND_UNNECESSARY)).equals("0.000"));
3153f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try { // this should trap..
3154f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            d050.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_UNNECESSARY);
3155f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
3156f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $95) {
3157f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $95;
3158f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Rounding necessary");
3159f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
3160f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for124", flag);
3161f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for125", (d050.format(-1,2,-1,-1,-1,android.icu.math.MathContext.ROUND_UNNECESSARY)).equals("0.05"));
3162f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for126", (d050.format(-1,3,-1,-1,-1,android.icu.math.MathContext.ROUND_UNNECESSARY)).equals("0.050"));
3163f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for127", (d500.format(-1,1,-1,-1,-1,android.icu.math.MathContext.ROUND_UNNECESSARY)).equals("0.5"));
3164f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for128", (d500.format(-1,2,-1,-1,-1,android.icu.math.MathContext.ROUND_UNNECESSARY)).equals("0.50"));
3165f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for129", (d500.format(-1,3,-1,-1,-1,android.icu.math.MathContext.ROUND_UNNECESSARY)).equals("0.500"));
3166f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3167f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // bad negs --
3168f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
3169f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            d050.format(-2, -1, -1, -1, -1, -1);
3170f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
3171f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.IllegalArgumentException $96) {
3172f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
3173f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
3174f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for131", flag);
3175f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
3176f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            d050.format(-1, -2, -1, -1, -1, -1);
3177f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
3178f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.IllegalArgumentException $97) {
3179f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
3180f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
3181f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for132", flag);
3182f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
3183f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            d050.format(-1, -1, -2, -1, -1, -1);
3184f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
3185f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.IllegalArgumentException $98) {
3186f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
3187f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
3188f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for133", flag);
3189f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
3190f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            d050.format(-1, -1, -1, -2, -1, -1);
3191f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
3192f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.IllegalArgumentException $99) {
3193f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
3194f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
3195f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for134", flag);
3196f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
3197f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            d050.format(-1, -1, -1, -1, -2, -1);
3198f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
3199f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.IllegalArgumentException $100) {
3200f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
3201f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
3202f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for135", flag);
3203f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
3204f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            d050.format(-1, -1, -1, -1, -1, -2);
3205f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
3206f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.IllegalArgumentException $101) {
3207f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
3208f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
3209f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("for136", flag);
3210f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
3211f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3212f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
3213f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3214f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#hashCode} method. */
3215f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3216f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
3217f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diaghashcode() {
3218f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.String hs;
3219f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal d;
3220f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        hs = "27827817";
3221f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = new android.icu.math.BigDecimal(hs);
3222f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("has001", (d.hashCode()) == (hs.hashCode()));
3223f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        hs = "1.265E+200";
3224f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = new android.icu.math.BigDecimal(hs);
3225f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("has002", (d.hashCode()) == (hs.hashCode()));
3226f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        hs = "126.5E+200";
3227f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = new android.icu.math.BigDecimal(hs);
3228f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("has003", (d.hashCode()) != (hs.hashCode()));
3229f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
3230f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3231f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
3232f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3233f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#intValue} method. */
3234f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3235f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
3236f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagintvalue() {
3237f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        boolean flag = false;
3238f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.String v = null;
3239f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.ArithmeticException ae = null;
3240f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.String badstrings[];
3241f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        int i = 0;
3242f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.String norm = null;
3243f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal dimax;
3244f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal num = null;
3245f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal dv = null;
3246f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal dimin;
3247f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3248f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // intValue --
3249f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3250f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv001", imin==((new android.icu.math.BigDecimal(imin)).intValue()));
3251f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv002", ((99))==((new android.icu.math.BigDecimal("99")).intValue()));
3252f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv003", ((1))==((new android.icu.math.BigDecimal("1")).intValue()));
3253f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv004", ((0))==((new android.icu.math.BigDecimal("0")).intValue()));
3254f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv005", ((-1))==((new android.icu.math.BigDecimal("-1")).intValue()));
3255f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv006", ((-99))==((new android.icu.math.BigDecimal("-99")).intValue()));
3256f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv007", imax==((new android.icu.math.BigDecimal(imax)).intValue()));
3257f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv008", ((5))==((new android.icu.math.BigDecimal("5.0")).intValue()));
3258f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv009", ((5))==((new android.icu.math.BigDecimal("5.3")).intValue()));
3259f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv010", ((5))==((new android.icu.math.BigDecimal("5.5")).intValue()));
3260f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv011", ((5))==((new android.icu.math.BigDecimal("5.7")).intValue()));
3261f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv012", ((5))==((new android.icu.math.BigDecimal("5.9")).intValue()));
3262f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv013", ((-5))==((new android.icu.math.BigDecimal("-5.0")).intValue()));
3263f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv014", ((-5))==((new android.icu.math.BigDecimal("-5.3")).intValue()));
3264f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv015", ((-5))==((new android.icu.math.BigDecimal("-5.5")).intValue()));
3265f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv016", ((-5))==((new android.icu.math.BigDecimal("-5.7")).intValue()));
3266f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv017", ((-5))==((new android.icu.math.BigDecimal("-5.9")).intValue()));
3267f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv018", ((new android.icu.math.BigDecimal("88888888888")).intValue())==(-1305424328)); // ugh
3268f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv019", ((new android.icu.math.BigDecimal("-88888888888")).intValue())==1305424328); // ugh
3269f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv020", ((imin))==((new android.icu.math.BigDecimal((((long)imax))+1)).intValue()));
3270f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv021", ((imax))==((new android.icu.math.BigDecimal((((long)imin))-1)).intValue()));
3271f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3272f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // intValueExact --
3273f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3274f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv101", imin==((new android.icu.math.BigDecimal(imin)).intValueExact()));
3275f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv102", ((99))==((new android.icu.math.BigDecimal("99")).intValue()));
3276f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv103", ((1))==((new android.icu.math.BigDecimal("1")).intValue()));
3277f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv104", ((0))==((new android.icu.math.BigDecimal("0")).intValue()));
3278f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv105", ((-1))==((new android.icu.math.BigDecimal("-1")).intValue()));
3279f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv106", ((-99))==((new android.icu.math.BigDecimal("-99")).intValue()));
3280f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv107", imax==((new android.icu.math.BigDecimal(imax)).intValue()));
3281f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv108", ((5))==((new android.icu.math.BigDecimal("5.0")).intValue()));
3282f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv109", ((-5))==((new android.icu.math.BigDecimal("-5.0")).intValue()));
3283f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv110", imax==((new android.icu.math.BigDecimal(imax)).intValueExact()));
3284f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3285f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
3286f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            v = "-88588688888";
3287f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            (new android.icu.math.BigDecimal(v)).intValueExact();
3288f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
3289f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $102) {
3290f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $102;
3291f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Conversion overflow:" + " " + v);
3292f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
3293f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv200", flag);
3294f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3295f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // this one could raise either overflow or bad decimal part
3296f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
3297f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            v = "88088818888.00001";
3298f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            (new android.icu.math.BigDecimal(v)).intValueExact();
3299f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
3300f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $103) {
3301f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
3302f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
3303f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("inv201", flag);
3304f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3305f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 1999.10.28: the testcases marked '*' failed
3306f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        badstrings = new java.lang.String[] {
3307f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "12345678901",
3308f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                (new android.icu.math.BigDecimal(imax)).add(one).toString(),
3309f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                (new android.icu.math.BigDecimal(imin)).subtract(one)
3310f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                        .toString(),
3311f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "3731367293",
3312f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "4731367293",
3313f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "5731367293",
3314f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "6731367293",
3315f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "7731367293",
3316f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "8731367293",
3317f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "9731367293",
3318f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-3731367293",
3319f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-4731367293",
3320f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-5731367293",
3321f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-6731367293",
3322f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-7731367293",
3323f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-8731367293",
3324f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-9731367293",
3325f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                (new android.icu.math.BigDecimal(imin)).multiply(two)
3326f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                        .toString(),
3327f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                (new android.icu.math.BigDecimal(imax)).multiply(two)
3328f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                        .toString(),
3329f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                (new android.icu.math.BigDecimal(imin)).multiply(ten)
3330f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                        .toString(),
3331f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                (new android.icu.math.BigDecimal(imax)).multiply(ten)
3332f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                        .toString(), "4731367293", "4831367293", "4931367293",
3333f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "5031367293", "5131367293", "5231367293", "5331367293",
3334f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "5431367293", "5531367293", "5631367293", "5731367293",
3335f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "5831367293", "5931367293", "6031367293", "6131367293",
3336f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "6231367293", "6331367293", "6431367293", "6531367293",
3337f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "6631367293", "6731367293", "2200000000", "2300000000",
3338f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "2400000000", "2500000000", "2600000000", "2700000000",
3339f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "2800000000", "2900000000", "-2200000000", "-2300000000",
3340f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-2400000000", "-2500000000", "-2600000000", "-2700000000",
3341f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-2800000000", "-2900000000", "25E+8", "-25E+8", "-12345678901" }; // 220
3342f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 221
3343f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 222
3344f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 223
3345f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 224
3346f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 225 *
3347f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 226
3348f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 227
3349f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 228
3350f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 229 *
3351f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 230
3352f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 231
3353f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 232 *
3354f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 233
3355f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 234
3356f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 235
3357f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 236 *
3358f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 237
3359f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 238
3360f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 239
3361f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 240
3362f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 241
3363f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 242 *
3364f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 243 *
3365f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 244 *
3366f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 245 *
3367f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 246 *
3368f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 247 *
3369f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 248 *
3370f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 249 *
3371f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 250 *
3372f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 251 *
3373f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 252 *
3374f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 253 *
3375f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 254 *
3376f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 255 *
3377f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 256 *
3378f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 257 *
3379f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 258 *
3380f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 259
3381f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 260
3382f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 261
3383f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 262
3384f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 263
3385f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 264
3386f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 265
3387f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 266
3388f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 267
3389f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 268
3390f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 269
3391f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 270
3392f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 271
3393f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 272
3394f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 273
3395f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 274
3396f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 275
3397f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 276
3398f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 277
3399f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 278
3400f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 279
3401f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 280
3402f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        {
3403f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            int $104 = badstrings.length;
3404f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            i = 0;
3405f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            for (; $104 > 0; $104--, i++) {
3406f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                try {
3407f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    v = badstrings[i];
3408f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    (new android.icu.math.BigDecimal(v)).intValueExact();
3409f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    flag = false;
3410f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                } catch (java.lang.ArithmeticException $105) {
3411f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    ae = $105;
3412f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    norm = (new android.icu.math.BigDecimal(v)).toString();
3413f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    flag = (ae.getMessage()).equals("Conversion overflow:"
3414f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                            + " " + norm);
3415f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                }
3416f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                TestFmwk.assertTrue("inv" + (220 + i), flag);
3417f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            }
3418f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* i */
3419f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3420f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // now slip in some single bits...
3421f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        dimax = new android.icu.math.BigDecimal(imax);
3422f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        {
3423f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            i = 0;
3424f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            for (; i <= 49; i++) {
3425f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                try {
3426f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    num = two.pow(new android.icu.math.BigDecimal(i), mc50);
3427f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    dv = dimax.add(num, mc50);
3428f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    dv.intValueExact();
3429f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    flag = false;
3430f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                } catch (java.lang.ArithmeticException $106) {
3431f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    ae = $106;
3432f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    norm = dv.toString();
3433f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    flag = (ae.getMessage()).equals("Conversion overflow:"
3434f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                            + " " + norm);
3435f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                }
3436f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                TestFmwk.assertTrue("inv" + (300 + i), flag);
3437f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            }
3438f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* i */
3439f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        dimin = new android.icu.math.BigDecimal(imin);
3440f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        {
3441f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            i = 50;
3442f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            for (; i <= 99; i++) {
3443f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                try {
3444f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    num = two.pow(new android.icu.math.BigDecimal(i), mc50);
3445f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    dv = dimin.subtract(num, mc50);
3446f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    dv.intValueExact();
3447f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    flag = false;
3448f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                } catch (java.lang.ArithmeticException $107) {
3449f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    ae = $107;
3450f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    norm = dv.toString();
3451f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    flag = (ae.getMessage()).equals("Conversion overflow:"
3452f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                            + " " + norm);
3453f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                }
3454f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                TestFmwk.assertTrue("inv" + (300 + i), flag);
3455f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            }
3456f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* i */
3457f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3458f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // the following should all raise bad-decimal-part exceptions
3459f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        badstrings = new java.lang.String[] { "0.09", "0.9", "0.01", "0.1",
3460f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-0.01", "-0.1", "1.01", "-1.01", "-1.1", "-111.111",
3461f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "+111.111", "1.09", "1.05", "1.04", "1.99", "1.9", "1.5",
3462f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "1.4", "-1.09", "-1.05", "-1.04", "-1.99", "-1.9", "-1.5",
3463f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-1.4", "1E-1000", "-1E-1000", "11E-1", "1.5" }; // 400-403
3464f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 404-407
3465f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 408-411
3466f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 412-416
3467f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 417-420
3468f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 421-424
3469f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 425-428
3470f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3471f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        {
3472f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            int $108 = badstrings.length;
3473f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            i = 0;
3474f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            for (; $108 > 0; $108--, i++) {
3475f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                try {
3476f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    v = badstrings[i];
3477f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    (new android.icu.math.BigDecimal(v)).intValueExact();
3478f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    flag = false;
3479f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                } catch (java.lang.ArithmeticException $109) {
3480f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    ae = $109;
3481f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    norm = (new android.icu.math.BigDecimal(v)).toString();
3482f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    flag = (ae.getMessage()).equals("Decimal part non-zero:"
3483f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                            + " " + norm);
3484f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                }
3485f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                TestFmwk.assertTrue("inv" + (400 + i), flag);
3486f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            }
3487f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* i */
3488f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
3489f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3490f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
3491f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3492f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#longValue} method. */
3493f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3494f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
3495f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diaglongvalue() {
3496f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        boolean flag = false;
3497f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.String v = null;
3498f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.ArithmeticException ae = null;
3499f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.String badstrings[];
3500f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        int i = 0;
3501f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.String norm = null;
3502f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal dlmax;
3503f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal num = null;
3504f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal dv = null;
3505f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal dlmin;
3506f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3507f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // longValue --
3508f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3509f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov001", lmin==((new android.icu.math.BigDecimal(lmin)).longValue()));
3510f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov002", ((99))==((new android.icu.math.BigDecimal("99")).longValue()));
3511f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov003", ((1))==((new android.icu.math.BigDecimal("1")).longValue()));
3512f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov004", ((0))==((new android.icu.math.BigDecimal("0")).longValue()));
3513f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov005", ((-1))==((new android.icu.math.BigDecimal("-1")).longValue()));
3514f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov006", ((-99))==((new android.icu.math.BigDecimal("-99")).longValue()));
3515f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov007", lmax==((new android.icu.math.BigDecimal(lmax)).longValue()));
3516f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov008", ((5))==((new android.icu.math.BigDecimal("5.0")).longValue()));
3517f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov009", ((5))==((new android.icu.math.BigDecimal("5.3")).longValue()));
3518f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov010", ((5))==((new android.icu.math.BigDecimal("5.5")).longValue()));
3519f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov011", ((5))==((new android.icu.math.BigDecimal("5.7")).longValue()));
3520f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov012", ((5))==((new android.icu.math.BigDecimal("5.9")).longValue()));
3521f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov013", ((-5))==((new android.icu.math.BigDecimal("-5.0")).longValue()));
3522f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov014", ((-5))==((new android.icu.math.BigDecimal("-5.3")).longValue()));
3523f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov015", ((-5))==((new android.icu.math.BigDecimal("-5.5")).longValue()));
3524f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov016", ((-5))==((new android.icu.math.BigDecimal("-5.7")).longValue()));
3525f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov017", ((-5))==((new android.icu.math.BigDecimal("-5.9")).longValue()));
3526f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov018", ((new android.icu.math.BigDecimal("888888888899999999998")).longValue())==3445173361941522430L); // ugh
3527f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov019", ((new android.icu.math.BigDecimal("-888888888899999999998")).longValue())==(-3445173361941522430L)); // ugh
3528f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3529f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // longValueExact --
3530f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3531f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov101", lmin==((new android.icu.math.BigDecimal(lmin)).longValue()));
3532f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov102", ((99))==((new android.icu.math.BigDecimal("99")).longValue()));
3533f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov103", ((1))==((new android.icu.math.BigDecimal("1")).longValue()));
3534f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov104", ((0))==((new android.icu.math.BigDecimal("0")).longValue()));
3535f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov105", ((-1))==((new android.icu.math.BigDecimal("-1")).longValue()));
3536f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov106", ((-99))==((new android.icu.math.BigDecimal("-99")).longValue()));
3537f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov107", lmax==((new android.icu.math.BigDecimal(lmax)).longValue()));
3538f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov108", ((5))==((new android.icu.math.BigDecimal("5.0")).longValue()));
3539f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov109", ((-5))==((new android.icu.math.BigDecimal("-5.0")).longValue()));
3540f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3541f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
3542f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            v = "-888888888899999999998";
3543f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            (new android.icu.math.BigDecimal(v)).longValueExact();
3544f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
3545f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $110) {
3546f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $110;
3547f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Conversion overflow:" + " " + v);
3548f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
3549f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov200", flag);
3550f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
3551f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            v = "88888887487487479488888";
3552f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            (new android.icu.math.BigDecimal(v)).longValueExact();
3553f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
3554f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $111) {
3555f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $111;
3556f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Conversion overflow:" + " " + v);
3557f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
3558f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov201", flag);
3559f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
3560f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            v = "1.5";
3561f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            (new android.icu.math.BigDecimal(v)).longValueExact();
3562f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
3563f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $112) {
3564f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $112;
3565f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Decimal part non-zero:" + " " + v);
3566f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
3567f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("lov202", flag);
3568f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3569f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        badstrings = new java.lang.String[] {
3570f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "1234567890110987654321",
3571f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-1234567890110987654321",
3572f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                (new android.icu.math.BigDecimal(lmax)).add(one).toString(),
3573f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                (new android.icu.math.BigDecimal(lmin)).subtract(one)
3574f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                        .toString(),
3575f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                (new android.icu.math.BigDecimal(lmin)).multiply(two)
3576f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                        .toString(),
3577f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                (new android.icu.math.BigDecimal(lmax)).multiply(two)
3578f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                        .toString(),
3579f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                (new android.icu.math.BigDecimal(lmin)).multiply(ten)
3580f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                        .toString(),
3581f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                (new android.icu.math.BigDecimal(lmax)).multiply(ten)
3582f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                        .toString(), "9223372036854775818",
3583f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "9323372036854775818", "9423372036854775818",
3584f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "9523372036854775818", "9623372036854775818",
3585f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "9723372036854775818", "9823372036854775818",
3586f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "9923372036854775818", "-9223372036854775818",
3587f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-9323372036854775818", "-9423372036854775818",
3588f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-9523372036854775818", "-9623372036854775818",
3589f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-9723372036854775818", "-9823372036854775818",
3590f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-9923372036854775818", "12345678901234567890" }; // 220
3591f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 221
3592f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 222
3593f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 223
3594f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 224
3595f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 225
3596f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 226
3597f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 227
3598f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 228
3599f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 229
3600f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 230
3601f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 231
3602f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 232
3603f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 233
3604f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 234
3605f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 235
3606f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 236
3607f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 237
3608f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 238
3609f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 239
3610f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 240
3611f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 241
3612f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 242
3613f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 243
3614f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 244
3615f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        {
3616f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            int $113 = badstrings.length;
3617f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            i = 0;
3618f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            for (; $113 > 0; $113--, i++) {
3619f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                try {
3620f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    v = badstrings[i];
3621f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    (new android.icu.math.BigDecimal(v)).longValueExact();
3622f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    flag = false;
3623f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                } catch (java.lang.ArithmeticException $114) {
3624f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    ae = $114;
3625f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    norm = (new android.icu.math.BigDecimal(v)).toString();
3626f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    flag = (ae.getMessage()).equals("Conversion overflow:"
3627f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                            + " " + norm);
3628f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                }
3629f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                TestFmwk.assertTrue("lov" + (220 + i), flag);
3630f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            }
3631f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* i */
3632f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3633f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // now slip in some single bits...
3634f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        dlmax = new android.icu.math.BigDecimal(lmax);
3635f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        {
3636f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            i = 0;
3637f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            for (; i <= 99; i++) {
3638f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                try {
3639f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    num = two.pow(new android.icu.math.BigDecimal(i), mc50);
3640f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    dv = dlmax.add(num, mc50);
3641f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    dv.longValueExact();
3642f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    flag = false;
3643f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                } catch (java.lang.ArithmeticException $115) {
3644f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    ae = $115;
3645f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    norm = dv.toString();
3646f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    flag = (ae.getMessage()).equals("Conversion overflow:"
3647f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                            + " " + norm);
3648f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                }
3649f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                TestFmwk.assertTrue("lov" + (300 + i), flag);
3650f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            }
3651f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* i */
3652f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        dlmin = new android.icu.math.BigDecimal(lmin);
3653f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        {
3654f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            i = 0;
3655f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            for (; i <= 99; i++) {
3656f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                try {
3657f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    num = two.pow(new android.icu.math.BigDecimal(i), mc50);
3658f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    dv = dlmin.subtract(num, mc50);
3659f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    dv.longValueExact();
3660f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    flag = false;
3661f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                } catch (java.lang.ArithmeticException $116) {
3662f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    ae = $116;
3663f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    norm = dv.toString();
3664f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    flag = (ae.getMessage()).equals("Conversion overflow:"
3665f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                            + " " + norm);
3666f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                }
3667f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                TestFmwk.assertTrue("lov" + (400 + i), flag);
3668f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            }
3669f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* i */
3670f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
3671f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3672f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
3673f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3674f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#movePointLeft} method. */
3675f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3676f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
3677f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagmovepointleft() {
3678f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl001", ((new android.icu.math.BigDecimal("-1")).movePointLeft(-10).toString()).equals("-10000000000"));
3679f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl002", ((new android.icu.math.BigDecimal("-1")).movePointLeft(-5).toString()).equals("-100000"));
3680f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl003", ((new android.icu.math.BigDecimal("-1")).movePointLeft(-1).toString()).equals("-10"));
3681f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl004", ((new android.icu.math.BigDecimal("-1")).movePointLeft(0).toString()).equals("-1"));
3682f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl005", ((new android.icu.math.BigDecimal("-1")).movePointLeft(+1).toString()).equals("-0.1"));
3683f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl006", ((new android.icu.math.BigDecimal("-1")).movePointLeft(+5).toString()).equals("-0.00001"));
3684f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl007", ((new android.icu.math.BigDecimal("-1")).movePointLeft(+10).toString()).equals("-0.0000000001"));
3685f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3686f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl010", ((new android.icu.math.BigDecimal("0")).movePointLeft(-10).toString()).equals("0"));
3687f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl010", ((new android.icu.math.BigDecimal("0")).movePointLeft(-5).toString()).equals("0"));
3688f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl010", ((new android.icu.math.BigDecimal("0")).movePointLeft(-1).toString()).equals("0"));
3689f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl010", ((new android.icu.math.BigDecimal("0")).movePointLeft(0).toString()).equals("0"));
3690f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl010", ((new android.icu.math.BigDecimal("0")).movePointLeft(+1).toString()).equals("0.0"));
3691f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl010", ((new android.icu.math.BigDecimal("0")).movePointLeft(+5).toString()).equals("0.00000"));
3692f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl010", ((new android.icu.math.BigDecimal("0")).movePointLeft(+10).toString()).equals("0.0000000000"));
3693f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3694f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl020", ((new android.icu.math.BigDecimal("+1")).movePointLeft(-10).toString()).equals("10000000000"));
3695f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl021", ((new android.icu.math.BigDecimal("+1")).movePointLeft(-5).toString()).equals("100000"));
3696f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl022", ((new android.icu.math.BigDecimal("+1")).movePointLeft(-1).toString()).equals("10"));
3697f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl023", ((new android.icu.math.BigDecimal("+1")).movePointLeft(0).toString()).equals("1"));
3698f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl024", ((new android.icu.math.BigDecimal("+1")).movePointLeft(+1).toString()).equals("0.1"));
3699f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl025", ((new android.icu.math.BigDecimal("+1")).movePointLeft(+5).toString()).equals("0.00001"));
3700f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl026", ((new android.icu.math.BigDecimal("+1")).movePointLeft(+10).toString()).equals("0.0000000001"));
3701f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3702f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl030", ((new android.icu.math.BigDecimal("0.5E+1")).movePointLeft(-10).toString()).equals("50000000000"));
3703f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl031", ((new android.icu.math.BigDecimal("0.5E+1")).movePointLeft(-5).toString()).equals("500000"));
3704f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl032", ((new android.icu.math.BigDecimal("0.5E+1")).movePointLeft(-1).toString()).equals("50"));
3705f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl033", ((new android.icu.math.BigDecimal("0.5E+1")).movePointLeft(0).toString()).equals("5"));
3706f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl034", ((new android.icu.math.BigDecimal("0.5E+1")).movePointLeft(+1).toString()).equals("0.5"));
3707f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl035", ((new android.icu.math.BigDecimal("0.5E+1")).movePointLeft(+5).toString()).equals("0.00005"));
3708f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpl036", ((new android.icu.math.BigDecimal("0.5E+1")).movePointLeft(+10).toString()).equals("0.0000000005"));
3709f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
3710f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3711f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
3712f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3713f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#movePointRight} method. */
3714f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3715f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
3716f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagmovepointright() {
3717f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr001", ((new android.icu.math.BigDecimal("-1")).movePointRight(+10).toString()).equals("-10000000000"));
3718f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr002", ((new android.icu.math.BigDecimal("-1")).movePointRight(+5).toString()).equals("-100000"));
3719f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr003", ((new android.icu.math.BigDecimal("-1")).movePointRight(+1).toString()).equals("-10"));
3720f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr004", ((new android.icu.math.BigDecimal("-1")).movePointRight(0).toString()).equals("-1"));
3721f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr005", ((new android.icu.math.BigDecimal("-1")).movePointRight(-1).toString()).equals("-0.1"));
3722f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr006", ((new android.icu.math.BigDecimal("-1")).movePointRight(-5).toString()).equals("-0.00001"));
3723f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr007", ((new android.icu.math.BigDecimal("-1")).movePointRight(-10).toString()).equals("-0.0000000001"));
3724f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3725f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr010", ((new android.icu.math.BigDecimal("0")).movePointRight(+10).toString()).equals("0"));
3726f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr011", ((new android.icu.math.BigDecimal("0")).movePointRight(+5).toString()).equals("0"));
3727f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr012", ((new android.icu.math.BigDecimal("0")).movePointRight(+1).toString()).equals("0"));
3728f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr013", ((new android.icu.math.BigDecimal("0")).movePointRight(0).toString()).equals("0"));
3729f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr014", ((new android.icu.math.BigDecimal("0")).movePointRight(-1).toString()).equals("0.0"));
3730f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr015", ((new android.icu.math.BigDecimal("0")).movePointRight(-5).toString()).equals("0.00000"));
3731f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr016", ((new android.icu.math.BigDecimal("0")).movePointRight(-10).toString()).equals("0.0000000000"));
3732f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3733f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr020", ((new android.icu.math.BigDecimal("+1")).movePointRight(+10).toString()).equals("10000000000"));
3734f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr021", ((new android.icu.math.BigDecimal("+1")).movePointRight(+5).toString()).equals("100000"));
3735f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr022", ((new android.icu.math.BigDecimal("+1")).movePointRight(+1).toString()).equals("10"));
3736f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr023", ((new android.icu.math.BigDecimal("+1")).movePointRight(0).toString()).equals("1"));
3737f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr024", ((new android.icu.math.BigDecimal("+1")).movePointRight(-1).toString()).equals("0.1"));
3738f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr025", ((new android.icu.math.BigDecimal("+1")).movePointRight(-5).toString()).equals("0.00001"));
3739f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr026", ((new android.icu.math.BigDecimal("+1")).movePointRight(-10).toString()).equals("0.0000000001"));
3740f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3741f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr030", ((new android.icu.math.BigDecimal("0.5E+1")).movePointRight(+10).toString()).equals("50000000000"));
3742f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr031", ((new android.icu.math.BigDecimal("0.5E+1")).movePointRight(+5).toString()).equals("500000"));
3743f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr032", ((new android.icu.math.BigDecimal("0.5E+1")).movePointRight(+1).toString()).equals("50"));
3744f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr033", ((new android.icu.math.BigDecimal("0.5E+1")).movePointRight(0).toString()).equals("5"));
3745f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr034", ((new android.icu.math.BigDecimal("0.5E+1")).movePointRight(-1).toString()).equals("0.5"));
3746f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr035", ((new android.icu.math.BigDecimal("0.5E+1")).movePointRight(-5).toString()).equals("0.00005"));
3747f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mpr036", ((new android.icu.math.BigDecimal("0.5E+1")).movePointRight(-10).toString()).equals("0.0000000005"));
3748f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
3749f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3750f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
3751f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3752f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#scale} method. */
3753f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3754f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
3755f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagscale() {
3756f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sca001", ((new android.icu.math.BigDecimal("-1")).scale())==0);
3757f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sca002", ((new android.icu.math.BigDecimal("-10")).scale())==0);
3758f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sca003", ((new android.icu.math.BigDecimal("+1")).scale())==0);
3759f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sca004", ((new android.icu.math.BigDecimal("+10")).scale())==0);
3760f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sca005", ((new android.icu.math.BigDecimal("1E+10")).scale())==0);
3761f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sca006", ((new android.icu.math.BigDecimal("1E-10")).scale())==10);
3762f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sca007", ((new android.icu.math.BigDecimal("0E-10")).scale())==0);
3763f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sca008", ((new android.icu.math.BigDecimal("0.000")).scale())==3);
3764f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sca009", ((new android.icu.math.BigDecimal("0.00")).scale())==2);
3765f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sca010", ((new android.icu.math.BigDecimal("0.0")).scale())==1);
3766f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sca011", ((new android.icu.math.BigDecimal("0.1")).scale())==1);
3767f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sca012", ((new android.icu.math.BigDecimal("0.12")).scale())==2);
3768f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sca013", ((new android.icu.math.BigDecimal("0.123")).scale())==3);
3769f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sca014", ((new android.icu.math.BigDecimal("-0.0")).scale())==1);
3770f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sca015", ((new android.icu.math.BigDecimal("-0.1")).scale())==1);
3771f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sca016", ((new android.icu.math.BigDecimal("-0.12")).scale())==2);
3772f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sca017", ((new android.icu.math.BigDecimal("-0.123")).scale())==3);
3773f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
3774f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3775f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
3776f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3777f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#setScale} method. */
3778f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3779f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
3780f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagsetscale() {
3781f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        boolean flag = false;
3782f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.RuntimeException e = null;
3783f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3784f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc001", ((new android.icu.math.BigDecimal("-1")).setScale(0).toString()).equals("-1"));
3785f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc002", ((new android.icu.math.BigDecimal("-1")).setScale(1).toString()).equals("-1.0"));
3786f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc003", ((new android.icu.math.BigDecimal("-1")).setScale(2).toString()).equals("-1.00"));
3787f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc004", ((new android.icu.math.BigDecimal("0")).setScale(0).toString()).equals("0"));
3788f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc005", ((new android.icu.math.BigDecimal("0")).setScale(1).toString()).equals("0.0"));
3789f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc006", ((new android.icu.math.BigDecimal("0")).setScale(2).toString()).equals("0.00"));
3790f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc007", ((new android.icu.math.BigDecimal("+1")).setScale(0).toString()).equals("1"));
3791f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc008", ((new android.icu.math.BigDecimal("+1")).setScale(1).toString()).equals("1.0"));
3792f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc009", ((new android.icu.math.BigDecimal("+1")).setScale(2).toString()).equals("1.00"));
3793f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc010", ((new android.icu.math.BigDecimal("-1")).setScale(0,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("-1"));
3794f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc011", ((new android.icu.math.BigDecimal("-1")).setScale(1,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("-1.0"));
3795f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc012", ((new android.icu.math.BigDecimal("-1")).setScale(2,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("-1.00"));
3796f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc013", ((new android.icu.math.BigDecimal("0")).setScale(0,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0"));
3797f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc014", ((new android.icu.math.BigDecimal("0")).setScale(1,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.0"));
3798f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc015", ((new android.icu.math.BigDecimal("0")).setScale(2,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.00"));
3799f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc016", ((new android.icu.math.BigDecimal("+1")).setScale(0,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1"));
3800f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc017", ((new android.icu.math.BigDecimal("+1")).setScale(1,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1.0"));
3801f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc018", ((new android.icu.math.BigDecimal("+1")).setScale(2,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1.00"));
3802f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3803f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc020", ((new android.icu.math.BigDecimal("1.04")).setScale(3,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1.040"));
3804f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc021", ((new android.icu.math.BigDecimal("1.04")).setScale(2,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1.04"));
3805f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc022", ((new android.icu.math.BigDecimal("1.04")).setScale(1,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1.0"));
3806f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc023", ((new android.icu.math.BigDecimal("1.04")).setScale(0,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1"));
3807f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc024", ((new android.icu.math.BigDecimal("1.05")).setScale(3,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1.050"));
3808f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc025", ((new android.icu.math.BigDecimal("1.05")).setScale(2,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1.05"));
3809f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc026", ((new android.icu.math.BigDecimal("1.05")).setScale(1,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1.1"));
3810f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc027", ((new android.icu.math.BigDecimal("1.05")).setScale(0,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1"));
3811f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc028", ((new android.icu.math.BigDecimal("1.05")).setScale(3,android.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("1.050"));
3812f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc029", ((new android.icu.math.BigDecimal("1.05")).setScale(2,android.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("1.05"));
3813f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc030", ((new android.icu.math.BigDecimal("1.05")).setScale(1,android.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("1.0"));
3814f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc031", ((new android.icu.math.BigDecimal("1.05")).setScale(0,android.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("1"));
3815f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc032", ((new android.icu.math.BigDecimal("1.06")).setScale(3,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1.060"));
3816f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc033", ((new android.icu.math.BigDecimal("1.06")).setScale(2,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1.06"));
3817f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc034", ((new android.icu.math.BigDecimal("1.06")).setScale(1,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1.1"));
3818f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc035", ((new android.icu.math.BigDecimal("1.06")).setScale(0,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1"));
3819f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3820f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc040", ((new android.icu.math.BigDecimal("-10")).setScale(2,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("-10.00"));
3821f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc041", ((new android.icu.math.BigDecimal("+1")).setScale(2,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("1.00"));
3822f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc042", ((new android.icu.math.BigDecimal("+10")).setScale(2,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("10.00"));
3823f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc043", ((new android.icu.math.BigDecimal("1E+10")).setScale(2,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("10000000000.00"));
3824f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc044", ((new android.icu.math.BigDecimal("1E-10")).setScale(2,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.00"));
3825f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc045", ((new android.icu.math.BigDecimal("1E-2")).setScale(2,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.01"));
3826f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc046", ((new android.icu.math.BigDecimal("0E-10")).setScale(2,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.00"));
3827f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3828f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // check rounding
3829f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc050", ((new android.icu.math.BigDecimal("0.005")).setScale(2,android.icu.math.MathContext.ROUND_CEILING).toString()).equals("0.01"));
3830f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc051", ((new android.icu.math.BigDecimal("0.005")).setScale(1,android.icu.math.MathContext.ROUND_CEILING).toString()).equals("0.1"));
3831f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc052", ((new android.icu.math.BigDecimal("0.005")).setScale(0,android.icu.math.MathContext.ROUND_CEILING).toString()).equals("1"));
3832f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc053", ((new android.icu.math.BigDecimal("0.005")).setScale(2,android.icu.math.MathContext.ROUND_DOWN).toString()).equals("0.00"));
3833f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc054", ((new android.icu.math.BigDecimal("0.005")).setScale(1,android.icu.math.MathContext.ROUND_DOWN).toString()).equals("0.0"));
3834f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc055", ((new android.icu.math.BigDecimal("0.005")).setScale(0,android.icu.math.MathContext.ROUND_DOWN).toString()).equals("0"));
3835f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc056", ((new android.icu.math.BigDecimal("0.005")).setScale(2,android.icu.math.MathContext.ROUND_FLOOR).toString()).equals("0.00"));
3836f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc057", ((new android.icu.math.BigDecimal("0.005")).setScale(1,android.icu.math.MathContext.ROUND_FLOOR).toString()).equals("0.0"));
3837f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc058", ((new android.icu.math.BigDecimal("0.005")).setScale(0,android.icu.math.MathContext.ROUND_FLOOR).toString()).equals("0"));
3838f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc059", ((new android.icu.math.BigDecimal("0.005")).setScale(2,android.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("0.00"));
3839f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc060", ((new android.icu.math.BigDecimal("0.005")).setScale(1,android.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("0.0"));
3840f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc061", ((new android.icu.math.BigDecimal("0.005")).setScale(0,android.icu.math.MathContext.ROUND_HALF_DOWN).toString()).equals("0"));
3841f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc062", ((new android.icu.math.BigDecimal("0.005")).setScale(2,android.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0.00"));
3842f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc063", ((new android.icu.math.BigDecimal("0.005")).setScale(1,android.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0.0"));
3843f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc064", ((new android.icu.math.BigDecimal("0.005")).setScale(0,android.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0"));
3844f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc065", ((new android.icu.math.BigDecimal("0.015")).setScale(2,android.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0.02"));
3845f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc066", ((new android.icu.math.BigDecimal("0.015")).setScale(1,android.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0.0"));
3846f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc067", ((new android.icu.math.BigDecimal("0.015")).setScale(0,android.icu.math.MathContext.ROUND_HALF_EVEN).toString()).equals("0"));
3847f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc068", ((new android.icu.math.BigDecimal("0.005")).setScale(2,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.01"));
3848f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc069", ((new android.icu.math.BigDecimal("0.005")).setScale(1,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.0"));
3849f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc070", ((new android.icu.math.BigDecimal("0.005")).setScale(0,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0"));
3850f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc071", ((new android.icu.math.BigDecimal("0.095")).setScale(2,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.10"));
3851f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc072", ((new android.icu.math.BigDecimal("0.095")).setScale(1,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0.1"));
3852f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc073", ((new android.icu.math.BigDecimal("0.095")).setScale(0,android.icu.math.MathContext.ROUND_HALF_UP).toString()).equals("0"));
3853f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc074", ((new android.icu.math.BigDecimal("0.005")).setScale(2,android.icu.math.MathContext.ROUND_UP).toString()).equals("0.01"));
3854f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc075", ((new android.icu.math.BigDecimal("0.005")).setScale(1,android.icu.math.MathContext.ROUND_UP).toString()).equals("0.1"));
3855f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc076", ((new android.icu.math.BigDecimal("0.005")).setScale(0,android.icu.math.MathContext.ROUND_UP).toString()).equals("1"));
3856f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3857f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
3858f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            (new android.icu.math.BigDecimal(1)).setScale(-8);
3859f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
3860f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.RuntimeException $117) {
3861f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            e = $117;
3862f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (e.getMessage()).equals("Negative scale: -8");
3863f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkscale */
3864f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc100", flag);
3865f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
3866f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            (new android.icu.math.BigDecimal(1.0001D)).setScale(3);
3867f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
3868f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.RuntimeException $118) {
3869f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            e = $118;
3870f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (e.getMessage()).equals("Rounding necessary");
3871f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkrunn */
3872f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc101", flag);
3873f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
3874f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            (new android.icu.math.BigDecimal(1E-8D)).setScale(3);
3875f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
3876f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.RuntimeException $119) {
3877f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            e = $119;
3878f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (e.getMessage()).equals("Rounding necessary");
3879f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkrunn */
3880f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("ssc102", flag);
3881f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
3882f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3883f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
3884f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3885f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the <code>BigDecimal.shortValue()</code> method. */
3886f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3887f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
3888f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagshortvalue() {
3889f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        boolean flag = false;
3890f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.String v = null;
3891f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.ArithmeticException ae = null;
3892f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.String badstrings[];
3893f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        int i = 0;
3894f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.String norm = null;
3895f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3896f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("shv002", (((short)0))==((new android.icu.math.BigDecimal("0")).shortValue()));
3897f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("shv003", (((short)1))==((new android.icu.math.BigDecimal("1")).shortValue()));
3898f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("shv004", (((short)99))==((new android.icu.math.BigDecimal("99")).shortValue()));
3899f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("shv006", ((smax))==((new android.icu.math.BigDecimal(smax)).shortValue()));
3900f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("shv007", ((smin))==((new android.icu.math.BigDecimal(smin)).shortValue()));
3901f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("shv008", ((sneg))==((new android.icu.math.BigDecimal(sneg)).shortValue()));
3902f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("shv009", ((szer))==((new android.icu.math.BigDecimal(szer)).shortValue()));
3903f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("shv010", ((spos))==((new android.icu.math.BigDecimal(spos)).shortValue()));
3904f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("shv011", ((smin))==((new android.icu.math.BigDecimal(smax+1)).shortValue()));
3905f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("shv012", ((smax))==((new android.icu.math.BigDecimal(smin-1)).shortValue()));
3906f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3907f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("shv022", (((short)0))==((new android.icu.math.BigDecimal("0")).shortValueExact()));
3908f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("shv023", (((short)1))==((new android.icu.math.BigDecimal("1")).shortValueExact()));
3909f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("shv024", (((short)99))==((new android.icu.math.BigDecimal("99")).shortValueExact()));
3910f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("shv026", ((smax))==((new android.icu.math.BigDecimal(smax)).shortValueExact()));
3911f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("shv027", ((smin))==((new android.icu.math.BigDecimal(smin)).shortValueExact()));
3912f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("shv028", ((sneg))==((new android.icu.math.BigDecimal(sneg)).shortValueExact()));
3913f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("shv029", ((szer))==((new android.icu.math.BigDecimal(szer)).shortValueExact()));
3914f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("shv030", ((spos))==((new android.icu.math.BigDecimal(spos)).shortValueExact()));
3915f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
3916f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            v = "-88888888888";
3917f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            (new android.icu.math.BigDecimal(v)).shortValueExact();
3918f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
3919f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $120) {
3920f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $120;
3921f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Conversion overflow:" + " " + v);
3922f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
3923f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("shv100", flag);
3924f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
3925f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            v = "88888888888";
3926f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            (new android.icu.math.BigDecimal(v)).shortValueExact();
3927f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
3928f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $121) {
3929f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $121;
3930f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Conversion overflow:" + " " + v);
3931f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
3932f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("shv101", flag);
3933f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
3934f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            v = "1.5";
3935f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            (new android.icu.math.BigDecimal(v)).shortValueExact();
3936f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
3937f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $122) {
3938f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            ae = $122;
3939f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (ae.getMessage()).equals("Decimal part non-zero:" + " " + v);
3940f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
3941f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("shv102", flag);
3942f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3943f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        badstrings = new java.lang.String[] {
3944f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "123456",
3945f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                (new android.icu.math.BigDecimal(smax)).add(one).toString(),
3946f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                (new android.icu.math.BigDecimal(smin)).subtract(one)
3947f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                        .toString(),
3948f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "71111",
3949f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "81111",
3950f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "91111",
3951f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-71111",
3952f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-81111",
3953f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-91111",
3954f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                (new android.icu.math.BigDecimal(smin)).multiply(two)
3955f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                        .toString(),
3956f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                (new android.icu.math.BigDecimal(smax)).multiply(two)
3957f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                        .toString(),
3958f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                (new android.icu.math.BigDecimal(smin)).multiply(ten)
3959f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                        .toString(),
3960f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                (new android.icu.math.BigDecimal(smax)).multiply(ten)
3961f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                        .toString(), "-123456" }; // 220
3962f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 221
3963f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 222
3964f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 223
3965f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 224
3966f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 225
3967f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 226
3968f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 227
3969f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 228
3970f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 229
3971f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 230
3972f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 231
3973f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 232
3974f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 233
3975f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        {
3976f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            int $123 = badstrings.length;
3977f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            i = 0;
3978f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            for (; $123 > 0; $123--, i++) {
3979f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                try {
3980f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    v = badstrings[i];
3981f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    (new android.icu.math.BigDecimal(v)).shortValueExact();
3982f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    flag = false;
3983f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                } catch (java.lang.ArithmeticException $124) {
3984f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    ae = $124;
3985f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    norm = (new android.icu.math.BigDecimal(v)).toString();
3986f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    flag = (ae.getMessage()).equals("Conversion overflow:"
3987f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                            + " " + norm);
3988f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                }
3989f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                TestFmwk.assertTrue("shv" + (220 + i), flag);
3990f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            }
3991f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* i */
3992f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
3993f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3994f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
3995f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3996f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#signum} method. */
3997f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
3998f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
3999f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagsignum() {
4000f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // necessarily checks some obscure constructions, too
4001f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sig001", (-1)==((new android.icu.math.BigDecimal("-1")).signum()));
4002f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sig002", (-1)==((new android.icu.math.BigDecimal("-0.0010")).signum()));
4003f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sig003", (-1)==((new android.icu.math.BigDecimal("-0.001")).signum()));
4004f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sig004", 0==((new android.icu.math.BigDecimal("-0.00")).signum()));
4005f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sig005", 0==((new android.icu.math.BigDecimal("-0")).signum()));
4006f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sig006", 0==((new android.icu.math.BigDecimal("0")).signum()));
4007f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sig007", 0==((new android.icu.math.BigDecimal("00")).signum()));
4008f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sig008", 0==((new android.icu.math.BigDecimal("00.0")).signum()));
4009f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sig009", 1==((new android.icu.math.BigDecimal("00.01")).signum()));
4010f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sig010", 1==((new android.icu.math.BigDecimal("00.01")).signum()));
4011f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sig011", 1==((new android.icu.math.BigDecimal("00.010")).signum()));
4012f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sig012", 1==((new android.icu.math.BigDecimal("01.01")).signum()));
4013f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sig013", 1==((new android.icu.math.BigDecimal("+0.01")).signum()));
4014f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sig014", 1==((new android.icu.math.BigDecimal("+0.001")).signum()));
4015f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sig015", 1==((new android.icu.math.BigDecimal("1")).signum()));
4016f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sig016", 1==((new android.icu.math.BigDecimal("1e+12")).signum()));
4017f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("sig017", 0==((new android.icu.math.BigDecimal("00e+12")).signum()));
4018f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
4019f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4020f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
4021f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4022f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#toBigDecimal} method. */
4023f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4024f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
4025f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagtobigdecimal() {
4026f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbd001", ((new android.icu.math.BigDecimal("0")).toBigDecimal().toString()).equals("0"));
4027f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbd002", ((new android.icu.math.BigDecimal("-1")).toBigDecimal().toString()).equals("-1"));
4028f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbd003", ((new android.icu.math.BigDecimal("+1")).toBigDecimal().toString()).equals("1"));
4029f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbd004", ((new android.icu.math.BigDecimal("1")).toBigDecimal().toString()).equals("1"));
4030f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbd005", ((new android.icu.math.BigDecimal("1E+2")).toBigDecimal().toString()).equals("100"));
4031f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbd006", ((new android.icu.math.BigDecimal("1E-2")).toBigDecimal().toString()).equals("0.01"));
4032f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        if (!isJDK15OrLater) {
4033f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            TestFmwk.assertTrue("tbd007", ((new android.icu.math.BigDecimal("1E-8")).toBigDecimal().toString()).equals("0.00000001"));
4034f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
4035f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        if (!isJDK15OrLater) {
4036f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            TestFmwk.assertTrue("tbd008", ((new android.icu.math.BigDecimal("1E-9")).toBigDecimal().toString()).equals("0.000000001"));
4037f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
4038f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbd009", ((new android.icu.math.BigDecimal("1E10")).toBigDecimal().toString()).equals("10000000000"));
4039f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbd010", ((new android.icu.math.BigDecimal("1E12")).toBigDecimal().toString()).equals("1000000000000"));
4040f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
4041f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4042f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
4043f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4044f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#toBigInteger} method. */
4045f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4046f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
4047f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagtobiginteger() {
4048f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        boolean flag = false;
4049f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.String badstrings[];
4050f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        int i = 0;
4051f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi001", ((new android.icu.math.BigDecimal("-1")).toBigInteger().toString()).equals("-1"));
4052f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi002", ((new android.icu.math.BigDecimal("0")).toBigInteger().toString()).equals("0"));
4053f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi003", ((new android.icu.math.BigDecimal("+1")).toBigInteger().toString()).equals("1"));
4054f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi004", ((new android.icu.math.BigDecimal("10")).toBigInteger().toString()).equals("10"));
4055f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi005", ((new android.icu.math.BigDecimal("1000")).toBigInteger().toString()).equals("1000"));
4056f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi006", ((new android.icu.math.BigDecimal("-1E+0")).toBigInteger().toString()).equals("-1"));
4057f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi007", ((new android.icu.math.BigDecimal("0E+0")).toBigInteger().toString()).equals("0"));
4058f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi008", ((new android.icu.math.BigDecimal("+1E+0")).toBigInteger().toString()).equals("1"));
4059f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi009", ((new android.icu.math.BigDecimal("10E+0")).toBigInteger().toString()).equals("10"));
4060f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi010", ((new android.icu.math.BigDecimal("1E+3")).toBigInteger().toString()).equals("1000"));
4061f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi011", ((new android.icu.math.BigDecimal("0.00")).toBigInteger().toString()).equals("0"));
4062f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi012", ((new android.icu.math.BigDecimal("0.01")).toBigInteger().toString()).equals("0"));
4063f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi013", ((new android.icu.math.BigDecimal("0.0")).toBigInteger().toString()).equals("0"));
4064f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi014", ((new android.icu.math.BigDecimal("0.1")).toBigInteger().toString()).equals("0"));
4065f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi015", ((new android.icu.math.BigDecimal("-0.00")).toBigInteger().toString()).equals("0"));
4066f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi016", ((new android.icu.math.BigDecimal("-0.01")).toBigInteger().toString()).equals("0"));
4067f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi017", ((new android.icu.math.BigDecimal("-0.0")).toBigInteger().toString()).equals("0"));
4068f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi018", ((new android.icu.math.BigDecimal("-0.1")).toBigInteger().toString()).equals("0"));
4069f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi019", ((new android.icu.math.BigDecimal("1.00")).toBigInteger().toString()).equals("1"));
4070f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi020", ((new android.icu.math.BigDecimal("1.01")).toBigInteger().toString()).equals("1"));
4071f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi021", ((new android.icu.math.BigDecimal("1.0")).toBigInteger().toString()).equals("1"));
4072f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi022", ((new android.icu.math.BigDecimal("1.1")).toBigInteger().toString()).equals("1"));
4073f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi023", ((new android.icu.math.BigDecimal("-1.00")).toBigInteger().toString()).equals("-1"));
4074f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi024", ((new android.icu.math.BigDecimal("-1.01")).toBigInteger().toString()).equals("-1"));
4075f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi025", ((new android.icu.math.BigDecimal("-1.0")).toBigInteger().toString()).equals("-1"));
4076f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi026", ((new android.icu.math.BigDecimal("-1.1")).toBigInteger().toString()).equals("-1"));
4077f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi027", ((new android.icu.math.BigDecimal("-111.111")).toBigInteger().toString()).equals("-111"));
4078f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi028", ((new android.icu.math.BigDecimal("+111.111")).toBigInteger().toString()).equals("111"));
4079f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi029", ((new android.icu.math.BigDecimal("0.09")).toBigInteger().toString()).equals("0"));
4080f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi030", ((new android.icu.math.BigDecimal("0.9")).toBigInteger().toString()).equals("0"));
4081f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi031", ((new android.icu.math.BigDecimal("1.09")).toBigInteger().toString()).equals("1"));
4082f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi032", ((new android.icu.math.BigDecimal("1.05")).toBigInteger().toString()).equals("1"));
4083f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi033", ((new android.icu.math.BigDecimal("1.04")).toBigInteger().toString()).equals("1"));
4084f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi034", ((new android.icu.math.BigDecimal("1.99")).toBigInteger().toString()).equals("1"));
4085f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi034", ((new android.icu.math.BigDecimal("1.9")).toBigInteger().toString()).equals("1"));
4086f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi035", ((new android.icu.math.BigDecimal("1.5")).toBigInteger().toString()).equals("1"));
4087f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi036", ((new android.icu.math.BigDecimal("1.4")).toBigInteger().toString()).equals("1"));
4088f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi037", ((new android.icu.math.BigDecimal("-1.09")).toBigInteger().toString()).equals("-1"));
4089f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi038", ((new android.icu.math.BigDecimal("-1.05")).toBigInteger().toString()).equals("-1"));
4090f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi039", ((new android.icu.math.BigDecimal("-1.04")).toBigInteger().toString()).equals("-1"));
4091f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi040", ((new android.icu.math.BigDecimal("-1.99")).toBigInteger().toString()).equals("-1"));
4092f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi041", ((new android.icu.math.BigDecimal("-1.9")).toBigInteger().toString()).equals("-1"));
4093f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi042", ((new android.icu.math.BigDecimal("-1.5")).toBigInteger().toString()).equals("-1"));
4094f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi043", ((new android.icu.math.BigDecimal("-1.4")).toBigInteger().toString()).equals("-1"));
4095f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi044", ((new android.icu.math.BigDecimal("1E-1000")).toBigInteger().toString()).equals("0"));
4096f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi045", ((new android.icu.math.BigDecimal("-1E-1000")).toBigInteger().toString()).equals("0"));
4097f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4098f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // Exact variety --
4099f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi101", ((new android.icu.math.BigDecimal("-1")).toBigIntegerExact().toString()).equals("-1"));
4100f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi102", ((new android.icu.math.BigDecimal("0")).toBigIntegerExact().toString()).equals("0"));
4101f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi103", ((new android.icu.math.BigDecimal("+1")).toBigIntegerExact().toString()).equals("1"));
4102f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi104", ((new android.icu.math.BigDecimal("10")).toBigIntegerExact().toString()).equals("10"));
4103f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi105", ((new android.icu.math.BigDecimal("1000")).toBigIntegerExact().toString()).equals("1000"));
4104f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi106", ((new android.icu.math.BigDecimal("-1E+0")).toBigIntegerExact().toString()).equals("-1"));
4105f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi107", ((new android.icu.math.BigDecimal("0E+0")).toBigIntegerExact().toString()).equals("0"));
4106f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi108", ((new android.icu.math.BigDecimal("+1E+0")).toBigIntegerExact().toString()).equals("1"));
4107f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi109", ((new android.icu.math.BigDecimal("10E+0")).toBigIntegerExact().toString()).equals("10"));
4108f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi110", ((new android.icu.math.BigDecimal("1E+3")).toBigIntegerExact().toString()).equals("1000"));
4109f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi111", ((new android.icu.math.BigDecimal("0.00")).toBigIntegerExact().toString()).equals("0"));
4110f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi112", ((new android.icu.math.BigDecimal("0.0")).toBigIntegerExact().toString()).equals("0"));
4111f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi113", ((new android.icu.math.BigDecimal("-0.00")).toBigIntegerExact().toString()).equals("0"));
4112f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi114", ((new android.icu.math.BigDecimal("-0.0")).toBigIntegerExact().toString()).equals("0"));
4113f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi115", ((new android.icu.math.BigDecimal("1.00")).toBigIntegerExact().toString()).equals("1"));
4114f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi116", ((new android.icu.math.BigDecimal("1.0")).toBigIntegerExact().toString()).equals("1"));
4115f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi117", ((new android.icu.math.BigDecimal("-1.00")).toBigIntegerExact().toString()).equals("-1"));
4116f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi118", ((new android.icu.math.BigDecimal("-1.0")).toBigIntegerExact().toString()).equals("-1"));
4117f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tbi119", ((new android.icu.math.BigDecimal("1.00000000000000000000000000000")).toBigIntegerExact().toString()).equals("1"));
4118f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4119f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4120f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // the following should all raise exceptions
4121f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4122f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        badstrings = new java.lang.String[] { "0.09", "0.9", "0.01", "0.1",
4123f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-0.01", "-0.1", "1.01", "-1.01", "-1.1", "-111.111",
4124f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "+111.111", "1.09", "1.05", "1.04", "1.99", "1.9", "1.5",
4125f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "1.4", "-1.09", "-1.05", "-1.04", "-1.99", "-1.9", "-1.5",
4126f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "-1.4", "1E-1000", "-1E-1000", "11E-1", "1.1",
4127f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "127623156123656561356123512315631231551312356.000001",
4128f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                "0.000000000000000000000000000000000000000000000001" }; // 300-303
4129f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 304-307
4130f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 308-311
4131f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 312-316
4132f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 317-320
4133f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 321-324
4134f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 325-328
4135f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 329
4136f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // 330
4137f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4138f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        {
4139f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            int $125 = badstrings.length;
4140f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            i = 0;
4141f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            for (; $125 > 0; $125--, i++) {
4142f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                try {
4143f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    (new android.icu.math.BigDecimal(badstrings[i]))
4144f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                            .toBigIntegerExact();
4145f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    flag = false;
4146f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                } catch (java.lang.ArithmeticException $126) {
4147f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    flag = true;
4148f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                }
4149f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                TestFmwk.assertTrue("tbi" + (300 + i), flag);
4150f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            }
4151f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* i */
4152f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
4153f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4154f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
4155f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4156f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#toCharArray} method. */
4157f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4158f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
4159f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagtochararray() {
4160f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.String str;
4161f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        char car[];
4162f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal d;
4163f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        char ca[];
4164f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // the function of this has been tested above, this is simply an
4165f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // existence proof and type-check
4166f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        str = "-123.45";
4167f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        car = (str).toCharArray();
4168f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = new android.icu.math.BigDecimal(str);
4169f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        ca = d.toCharArray();
4170f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tca001", ca.length == car.length);
4171f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tca002", (new java.lang.String(ca))
4172f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                .equals((new java.lang.String(car))));
4173f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tca003", (d.toCharArray() instanceof char[]));
4174f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tca004", (ca instanceof char[]));
4175f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
4176f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4177f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
4178f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4179f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#toString} method. */
4180f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4181f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
4182f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagtostring() {
4183f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.String str;
4184f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        char car[];
4185f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal d;
4186f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        char ca[];
4187f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.String cs;
4188f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // the function of this has been tested above, this is simply an
4189f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // existence proof and type-check
4190f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        str = "123.45";
4191f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        car = (str).toCharArray();
4192f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = new android.icu.math.BigDecimal(car, 0, car.length);
4193f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        ca = d.toCharArray();
4194f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        cs = d.toString();
4195f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tos001", (str.toCharArray().length) == ca.length);
4196f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tos002", (str.length()) == (cs.length()));
4197f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tos003", str.equals((new java.lang.String(ca))));
4198f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tos004", str.equals(cs));
4199f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tos005", (cs instanceof java.lang.String));
4200f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("tos006", (d.toString() instanceof java.lang.String));
4201f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
4202f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4203f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
4204f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4205f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.BigDecimal#unscaledValue} method. */
4206f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4207f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
4208f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagunscaledvalue() {
4209f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // just like toBigInteger, but scaly bits are preserved [without dots]
4210f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns001", ((new android.icu.math.BigDecimal("-1")).unscaledValue().toString()).equals("-1"));
4211f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns002", ((new android.icu.math.BigDecimal("0")).unscaledValue().toString()).equals("0"));
4212f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns003", ((new android.icu.math.BigDecimal("+1")).unscaledValue().toString()).equals("1"));
4213f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns004", ((new android.icu.math.BigDecimal("10")).unscaledValue().toString()).equals("10"));
4214f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns005", ((new android.icu.math.BigDecimal("1000")).unscaledValue().toString()).equals("1000"));
4215f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns006", ((new android.icu.math.BigDecimal("-1E+0")).unscaledValue().toString()).equals("-1"));
4216f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns007", ((new android.icu.math.BigDecimal("0E+0")).unscaledValue().toString()).equals("0"));
4217f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns008", ((new android.icu.math.BigDecimal("+1E+0")).unscaledValue().toString()).equals("1"));
4218f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns009", ((new android.icu.math.BigDecimal("10E+0")).unscaledValue().toString()).equals("10"));
4219f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns010", ((new android.icu.math.BigDecimal("1E+3")).unscaledValue().toString()).equals("1000"));
4220f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns011", ((new android.icu.math.BigDecimal("0.00")).unscaledValue().toString()).equals("0"));
4221f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns012", ((new android.icu.math.BigDecimal("0.01")).unscaledValue().toString()).equals("1"));
4222f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns013", ((new android.icu.math.BigDecimal("0.0")).unscaledValue().toString()).equals("0"));
4223f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns014", ((new android.icu.math.BigDecimal("0.1")).unscaledValue().toString()).equals("1"));
4224f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns015", ((new android.icu.math.BigDecimal("-0.00")).unscaledValue().toString()).equals("0"));
4225f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns016", ((new android.icu.math.BigDecimal("-0.01")).unscaledValue().toString()).equals("-1"));
4226f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns017", ((new android.icu.math.BigDecimal("-0.0")).unscaledValue().toString()).equals("0"));
4227f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns018", ((new android.icu.math.BigDecimal("-0.1")).unscaledValue().toString()).equals("-1"));
4228f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns019", ((new android.icu.math.BigDecimal("1.00")).unscaledValue().toString()).equals("100"));
4229f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns020", ((new android.icu.math.BigDecimal("1.01")).unscaledValue().toString()).equals("101"));
4230f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns021", ((new android.icu.math.BigDecimal("1.0")).unscaledValue().toString()).equals("10"));
4231f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns022", ((new android.icu.math.BigDecimal("1.1")).unscaledValue().toString()).equals("11"));
4232f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns023", ((new android.icu.math.BigDecimal("-1.00")).unscaledValue().toString()).equals("-100"));
4233f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns024", ((new android.icu.math.BigDecimal("-1.01")).unscaledValue().toString()).equals("-101"));
4234f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns025", ((new android.icu.math.BigDecimal("-1.0")).unscaledValue().toString()).equals("-10"));
4235f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns026", ((new android.icu.math.BigDecimal("-1.1")).unscaledValue().toString()).equals("-11"));
4236f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns027", ((new android.icu.math.BigDecimal("-111.111")).unscaledValue().toString()).equals("-111111"));
4237f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("uns028", ((new android.icu.math.BigDecimal("+111.111")).unscaledValue().toString()).equals("111111"));
4238f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
4239f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4240f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
4241f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4242f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /**
4243f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     * Test the {@link android.icu.math.BigDecimal#valueOf} method [long and
4244f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     * double].
4245f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     */
4246f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4247f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
4248f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagvalueof() {
4249f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        boolean flag = false;
4250f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.NumberFormatException e = null;
4251f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        double dzer;
4252f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        double dpos;
4253f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        double dneg;
4254f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        double dpos5;
4255f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        double dneg5;
4256f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        double dmin;
4257f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        double dmax;
4258f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        double d;
4259f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4260f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // valueOf(long [,scale]) --
4261f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4262f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val001", (android.icu.math.BigDecimal.valueOf(((byte)-2)).toString()).equals("-2"));
4263f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val002", (android.icu.math.BigDecimal.valueOf(((byte)-1)).toString()).equals("-1"));
4264f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val003", (android.icu.math.BigDecimal.valueOf(((byte)-0)).toString()).equals("0"));
4265f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val004", (android.icu.math.BigDecimal.valueOf(((byte)+1)).toString()).equals("1"));
4266f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val005", (android.icu.math.BigDecimal.valueOf(((byte)+2)).toString()).equals("2"));
4267f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val006", (android.icu.math.BigDecimal.valueOf(((byte)10)).toString()).equals("10"));
4268f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val007", (android.icu.math.BigDecimal.valueOf(((byte)11)).toString()).equals("11"));
4269f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val008", (android.icu.math.BigDecimal.valueOf(lmin).toString()).equals("-9223372036854775808"));
4270f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val009", (android.icu.math.BigDecimal.valueOf(lmax).toString()).equals("9223372036854775807"));
4271f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val010", (android.icu.math.BigDecimal.valueOf(lneg).toString()).equals("-1"));
4272f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val011", (android.icu.math.BigDecimal.valueOf(lzer).toString()).equals("0"));
4273f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val012", (android.icu.math.BigDecimal.valueOf(lpos).toString()).equals("1"));
4274f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val013", (android.icu.math.BigDecimal.valueOf(lmin,0).toString()).equals("-9223372036854775808"));
4275f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val014", (android.icu.math.BigDecimal.valueOf(lmax,0).toString()).equals("9223372036854775807"));
4276f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val015", (android.icu.math.BigDecimal.valueOf(lneg,0).toString()).equals("-1"));
4277f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val016", (android.icu.math.BigDecimal.valueOf(lpos,0).toString()).equals("1"));
4278f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4279f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val017", (android.icu.math.BigDecimal.valueOf(lzer,0).toString()).equals("0"));
4280f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val018", (android.icu.math.BigDecimal.valueOf(lzer,1).toString()).equals("0.0"));
4281f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val019", (android.icu.math.BigDecimal.valueOf(lzer,2).toString()).equals("0.00"));
4282f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val020", (android.icu.math.BigDecimal.valueOf(lzer,3).toString()).equals("0.000"));
4283f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val021", (android.icu.math.BigDecimal.valueOf(lzer,10).toString()).equals("0.0000000000"));
4284f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4285f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val022", (android.icu.math.BigDecimal.valueOf(lmin,7).toString()).equals("-922337203685.4775808"));
4286f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val023", (android.icu.math.BigDecimal.valueOf(lmax,11).toString()).equals("92233720.36854775807"));
4287f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4288f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
4289f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            android.icu.math.BigDecimal.valueOf(23, -8);
4290f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
4291f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NumberFormatException $127) {
4292f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            e = $127;
4293f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (e.getMessage()).equals("Negative scale: -8");
4294f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkscale */
4295f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val100", flag);
4296f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4297f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // valueOf(double) --
4298f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4299f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        dzer = 0;
4300f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        dpos = 1;
4301f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        dpos = dpos / (10);
4302f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        dneg = -dpos;
4303f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val201", (android.icu.math.BigDecimal.valueOf(dneg).toString()).equals("-0.1"));
4304f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val202", (android.icu.math.BigDecimal.valueOf(dzer).toString()).equals("0.0")); // cf. constructor
4305f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val203", (android.icu.math.BigDecimal.valueOf(dpos).toString()).equals("0.1"));
4306f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        dpos5 = 0.5D;
4307f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        dneg5 = -dpos5;
4308f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val204", (android.icu.math.BigDecimal.valueOf(dneg5).toString()).equals("-0.5"));
4309f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val205", (android.icu.math.BigDecimal.valueOf(dpos5).toString()).equals("0.5"));
4310f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        dmin = java.lang.Double.MIN_VALUE;
4311f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        dmax = java.lang.Double.MAX_VALUE;
4312f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val206", (android.icu.math.BigDecimal.valueOf(dmin).toString()).equals("4.9E-324"));
4313f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val207", (android.icu.math.BigDecimal.valueOf(dmax).toString()).equals("1.7976931348623157E+308"));
4314f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4315f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // nasties
4316f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = 9;
4317f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = d / (10);
4318f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val210", (android.icu.math.BigDecimal.valueOf(d).toString()).equals("0.9"));
4319f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = d / (10);
4320f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val211", (android.icu.math.BigDecimal.valueOf(d).toString()).equals("0.09"));
4321f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = d / (10);
4322f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // The primitive double 0.009 is different in OpenJDK. In Oracle/IBM java <= 6, there is a trailing 0 (e.g 0.0090).
4323f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        String s = android.icu.math.BigDecimal.valueOf(d).toString();
4324f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val212", s.equals("0.0090") || s.equals("0.009"));
4325f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = d / (10);
4326f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val213", (android.icu.math.BigDecimal.valueOf(d).toString()).equals("9.0E-4"));
4327f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = d / (10);
4328f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val214", (android.icu.math.BigDecimal.valueOf(d).toString()).equals("8.999999999999999E-5"));
4329f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = d / (10);
4330f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val215", (android.icu.math.BigDecimal.valueOf(d).toString()).equals("8.999999999999999E-6"));
4331f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = d / (10);
4332f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val216", (android.icu.math.BigDecimal.valueOf(d).toString()).equals("8.999999999999999E-7"));
4333f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = d / (10);
4334f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val217", (android.icu.math.BigDecimal.valueOf(d).toString()).equals("8.999999999999999E-8"));
4335f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        d = d / (10);
4336f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val218", (android.icu.math.BigDecimal.valueOf(d).toString()).equals("8.999999999999998E-9"));
4337f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4338f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
4339f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            android.icu.math.BigDecimal
4340f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    .valueOf(java.lang.Double.POSITIVE_INFINITY);
4341f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
4342f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NumberFormatException $128) {
4343f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
4344f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkpin */
4345f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val301", flag);
4346f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
4347f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            android.icu.math.BigDecimal
4348f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    .valueOf(java.lang.Double.NEGATIVE_INFINITY);
4349f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
4350f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NumberFormatException $129) {
4351f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
4352f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknin */
4353f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val302", flag);
4354f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
4355f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            android.icu.math.BigDecimal.valueOf(java.lang.Double.NaN);
4356f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
4357f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.NumberFormatException $130) {
4358f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = true;
4359f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checknan */
4360f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("val303", flag);
4361f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
4362f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4363f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
4364f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4365f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /** Test the {@link android.icu.math.MathContext} class. */
4366f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4367f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
4368f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagmathcontext() {
4369f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.MathContext mccon1;
4370f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.MathContext mccon2;
4371f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.MathContext mccon3;
4372f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.MathContext mccon4;
4373f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.MathContext mcrmc;
4374f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.MathContext mcrmd;
4375f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.MathContext mcrmf;
4376f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.MathContext mcrmhd;
4377f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.MathContext mcrmhe;
4378f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.MathContext mcrmhu;
4379f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.MathContext mcrmun;
4380f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.MathContext mcrmu;
4381f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        boolean flag = false;
4382f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.IllegalArgumentException e = null;
4383f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // these tests are mostly existence checks
4384f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn001", (android.icu.math.MathContext.DEFAULT.getDigits())==9);
4385f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn002", (android.icu.math.MathContext.DEFAULT.getForm())==android.icu.math.MathContext.SCIENTIFIC);
4386f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn003", (android.icu.math.MathContext.DEFAULT.getForm())!=android.icu.math.MathContext.ENGINEERING);
4387f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn004", (android.icu.math.MathContext.DEFAULT.getForm())!=android.icu.math.MathContext.PLAIN);
4388f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn005", (android.icu.math.MathContext.DEFAULT.getLostDigits()?1:0)==0);
4389f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn006", (android.icu.math.MathContext.DEFAULT.getRoundingMode())==android.icu.math.MathContext.ROUND_HALF_UP);
4390f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4391f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn010", android.icu.math.MathContext.ROUND_CEILING>=0);
4392f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn011", android.icu.math.MathContext.ROUND_DOWN>=0);
4393f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn012", android.icu.math.MathContext.ROUND_FLOOR>=0);
4394f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn013", android.icu.math.MathContext.ROUND_HALF_DOWN>=0);
4395f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn014", android.icu.math.MathContext.ROUND_HALF_EVEN>=0);
4396f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn015", android.icu.math.MathContext.ROUND_HALF_UP>=0);
4397f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn016", android.icu.math.MathContext.ROUND_UNNECESSARY>=0);
4398f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn017", android.icu.math.MathContext.ROUND_UP>=0);
4399f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4400f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mccon1=new android.icu.math.MathContext(111);
4401f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn021", (mccon1.getDigits())==111);
4402f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn022", (mccon1.getForm())==android.icu.math.MathContext.SCIENTIFIC);
4403f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn023", (mccon1.getLostDigits()?1:0)==0);
4404f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn024", (mccon1.getRoundingMode())==android.icu.math.MathContext.ROUND_HALF_UP);
4405f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4406f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mccon2=new android.icu.math.MathContext(78,android.icu.math.MathContext.ENGINEERING);
4407f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn031", (mccon2.getDigits())==78);
4408f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn032", (mccon2.getForm())==android.icu.math.MathContext.ENGINEERING);
4409f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn033", (mccon2.getLostDigits()?1:0)==0);
4410f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn034", (mccon2.getRoundingMode())==android.icu.math.MathContext.ROUND_HALF_UP);
4411f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4412f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mccon3=new android.icu.math.MathContext(5,android.icu.math.MathContext.PLAIN,true);
4413f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn041", (mccon3.getDigits())==5);
4414f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn042", (mccon3.getForm())==android.icu.math.MathContext.PLAIN);
4415f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn043", (mccon3.getLostDigits()?1:0)==1);
4416f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn044", (mccon3.getRoundingMode())==android.icu.math.MathContext.ROUND_HALF_UP);
4417f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4418f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mccon4=new android.icu.math.MathContext(0,android.icu.math.MathContext.SCIENTIFIC,false,android.icu.math.MathContext.ROUND_FLOOR);
4419f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn051", (mccon4.getDigits()) == 0);
4420f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn052", (mccon4.getForm()) == android.icu.math.MathContext.SCIENTIFIC);
4421f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn053", (mccon4.getLostDigits() ? 1 : 0) == 0);
4422f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn054", (mccon4.getRoundingMode()) == android.icu.math.MathContext.ROUND_FLOOR);
4423f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4424f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn061", (mccon1.toString()).equals("digits=111 form=SCIENTIFIC lostDigits=0 roundingMode=ROUND_HALF_UP"));
4425f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4426f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn062", (mccon2.toString()).equals("digits=78 form=ENGINEERING lostDigits=0 roundingMode=ROUND_HALF_UP"));
4427f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4428f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn063", (mccon3.toString()).equals("digits=5 form=PLAIN lostDigits=1 roundingMode=ROUND_HALF_UP"));
4429f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4430f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn064", (mccon4.toString()).equals("digits=0 form=SCIENTIFIC lostDigits=0 roundingMode=ROUND_FLOOR"));
4431f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4432f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // complete testing rounding modes round trips
4433f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mcrmc=new android.icu.math.MathContext(0,android.icu.math.MathContext.PLAIN,false,android.icu.math.MathContext.ROUND_CEILING);
4434f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mcrmd=new android.icu.math.MathContext(0,android.icu.math.MathContext.PLAIN,false,android.icu.math.MathContext.ROUND_DOWN);
4435f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mcrmf=new android.icu.math.MathContext(0,android.icu.math.MathContext.PLAIN,false,android.icu.math.MathContext.ROUND_FLOOR);
4436f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mcrmhd=new android.icu.math.MathContext(0,android.icu.math.MathContext.PLAIN,false,android.icu.math.MathContext.ROUND_HALF_DOWN);
4437f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mcrmhe=new android.icu.math.MathContext(0,android.icu.math.MathContext.PLAIN,false,android.icu.math.MathContext.ROUND_HALF_EVEN);
4438f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mcrmhu=new android.icu.math.MathContext(0,android.icu.math.MathContext.PLAIN,false,android.icu.math.MathContext.ROUND_HALF_UP);
4439f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mcrmun=new android.icu.math.MathContext(0,android.icu.math.MathContext.PLAIN,false,android.icu.math.MathContext.ROUND_UNNECESSARY);
4440f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mcrmu=new android.icu.math.MathContext(0,android.icu.math.MathContext.PLAIN,false,android.icu.math.MathContext.ROUND_UP);
4441f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4442f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn071", (mcrmc.toString()).equals("digits=0 form=PLAIN lostDigits=0 roundingMode=ROUND_CEILING"));
4443f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4444f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn072", (mcrmd.toString()).equals("digits=0 form=PLAIN lostDigits=0 roundingMode=ROUND_DOWN"));
4445f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4446f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn073", (mcrmf.toString()).equals("digits=0 form=PLAIN lostDigits=0 roundingMode=ROUND_FLOOR"));
4447f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4448f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn074", (mcrmhd.toString()).equals("digits=0 form=PLAIN lostDigits=0 roundingMode=ROUND_HALF_DOWN"));
4449f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4450f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn075", (mcrmhe.toString()).equals("digits=0 form=PLAIN lostDigits=0 roundingMode=ROUND_HALF_EVEN"));
4451f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4452f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn076", (mcrmhu.toString()).equals("digits=0 form=PLAIN lostDigits=0 roundingMode=ROUND_HALF_UP"));
4453f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4454f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn077", (mcrmun.toString()).equals("digits=0 form=PLAIN lostDigits=0 roundingMode=ROUND_UNNECESSARY"));
4455f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4456f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn078", (mcrmu.toString()).equals("digits=0 form=PLAIN lostDigits=0 roundingMode=ROUND_UP"));
4457f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4458f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // [get methods tested already]
4459f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4460f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // errors...
4461f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4462f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
4463f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            new android.icu.math.MathContext(-1);
4464f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
4465f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.IllegalArgumentException $131) {
4466f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            e = $131;
4467f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (e.getMessage()).equals("Digits too small: -1");
4468f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdig */
4469f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn101", flag);
4470f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
4471f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            new android.icu.math.MathContext(1000000000);
4472f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
4473f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.IllegalArgumentException $132) {
4474f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            e = $132;
4475f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (e.getMessage()).equals("Digits too large: 1000000000");
4476f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkdigbig */
4477f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn102", flag);
4478f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4479f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
4480f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            new android.icu.math.MathContext(0, 5);
4481f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
4482f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.IllegalArgumentException $133) {
4483f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            e = $133;
4484f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (e.getMessage()).equals("Bad form value: 5");
4485f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkform */
4486f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn111", flag);
4487f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
4488f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            new android.icu.math.MathContext(0, -1);
4489f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
4490f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.IllegalArgumentException $134) {
4491f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            e = $134;
4492f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (e.getMessage()).equals("Bad form value: -1");
4493f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkformneg */
4494f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn112", flag);
4495f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4496f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // [lostDigits cannot be invalid]
4497f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4498f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
4499f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            new android.icu.math.MathContext(0,
4500f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    android.icu.math.MathContext.PLAIN, false, 12);
4501f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
4502f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.IllegalArgumentException $135) {
4503f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            e = $135;
4504f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (e.getMessage()).equals("Bad roundingMode value: 12");
4505f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkround */
4506f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn121", flag);
4507f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
4508f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            new android.icu.math.MathContext(0,
4509f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    android.icu.math.MathContext.PLAIN, false, -1);
4510f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = false;
4511f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.IllegalArgumentException $136) {
4512f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            e = $136;
4513f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            flag = (e.getMessage()).equals("Bad roundingMode value: -1");
4514f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }/* checkroundneg */
4515f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue("mcn122", flag);
4516f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
4517f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4518f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
4519f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4520f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /**
4521f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     * Test general arithmetic (base operators).
4522f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     * <p>
4523f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     * Unlike the specific method tests, these tests were randomly generated by
4524f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     * an IBM Object Rexx procedure, then manually corrected for known
4525f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     * differences from ANSI X3-274. These differences are:
4526f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     * <ol>
4527f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     * <li>the trigger point in exponential notation is fixed in ANSI X3-274
4528f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     * but varies with DIGITS in Classic and Object Rexx
4529f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     * <li>some trailing zeros were missing (e.g., 1.3 + 1E-60 should show
4530f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     * seven trailing zeros)
4531f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     * <li>the power operator is less accurate in Object Rexx
4532f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     * <li>ANSI X3-274 [errata 1999] rounds input numbers to DIGITS (rather
4533f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     * than truncating to DIGITS+1).
4534f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     * </ol>
4535f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     */
4536f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
4537f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
4538f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void diagmath() {
4539f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.MathContext def;
4540f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        def = android.icu.math.MathContext.DEFAULT;
4541f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(1,def,"-9375284.42","5516.99832E+27276984","5.51699832E+27276987","-5.51699832E+27276987","-5.17234284E+27276994","-1.69934516E-27276981","0","-9375284.42","6.79057752E+41");
4542f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(2,def,"-410.832710","99.3588243E-502740862","-410.832710","-410.832710","-4.08198550E-502740858","-4.13483868E+502740862","","","1.36977786E+26");
4543f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(3,def,"80025.2340","-8.03097581","80017.2030","80033.2650","-642680.718","-9964.57167","-9964","4.59102916","5.94544517E-40");
4544f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(4,def,"81052020.2","-464525495","-383473475","545577515","-3.76507298E+16","-0.17448347","0","81052020.2","");
4545f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(5,def,"715.069294E-26923151","85.4404128E+796388557","8.54404128E+796388558","-8.54404128E+796388558","6.10958157E+769465410","8.36921628E-823311708","0","7.15069294E-26923149","4.88802213E-242308334");
4546f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(6,def,"-21971575.0E+31454441","-70944960.3E+111238221","-7.09449603E+111238228","7.09449603E+111238228","1.55877252E+142692677","3.09698884E-79783781","0","-2.19715750E+31454448","-4.04549502E-220181139");
4547f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(7,def,"682.25316","54470185.6","54470867.9","-54469503.4","3.71624563E+10","0.0000125252586","0","682.25316","3.48578699E+154365541");
4548f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(8,def,"-257586757.","2082888.71","-255503868","-259669646","-5.36524548E+14","-123.668036","-123","-1391445.67","-1.26879515E+17519020");
4549f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(9,def,"319577540.E+242599761","60.7124561","3.19577540E+242599769","3.19577540E+242599769","1.94023374E+242599771","5.26378869E+242599767","","","");
4550f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(10,def,"-13769977.0","24371.3381","-13745605.7","-13794348.3","-3.35592765E+11","-565.007015","-565","-170.9735","-8.73734001E+173982");
4551f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(11,def,"-475.434972E-725464311","-3.22214066E-865476836","-4.75434972E-725464309","-4.75434972E-725464309","","1.47552519E+140012527","","","");
4552f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(12,def,"842.01250","197199893","197200735","-197199051","1.66044775E+11","0.00000426984258","0","842.01250","7.00674164E+576872502");
4553f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(13,def,"572.173103E+280128428","-7140.19428","5.72173103E+280128430","5.72173103E+280128430","-4.08542712E+280128434","-8.01341085E+280128426","","","");
4554f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(14,def,"674235.954E+476135291","9684.82245","6.74235954E+476135296","6.74235954E+476135296","6.52985550E+476135300","6.96177919E+476135292","","","");
4555f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(15,def,"-360557.921E+437116514","930428850","-3.60557921E+437116519","-3.60557921E+437116519","-3.35473492E+437116528","-3.87517993E+437116510","","","");
4556f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(16,def,"957165918E-394595705","1676.59073E-829618944","9.57165918E-394595697","9.57165918E-394595697","","5.70900161E+435023244","","","9.16166595E-789191393");
4557f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(17,def,"-2610864.40","31245912.7","28635048.3","-33856777.1","-8.15788411E+13","-0.0835585897","0","-2610864.40","-3.12008905E+200498284");
4558f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(18,def,"959.548461","98.994577E+776775426","9.89945770E+776775427","-9.89945770E+776775427","9.49900940E+776775430","9.69293965E-776775426","0","959.548461","6.61712185E+29");
4559f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(19,def,"-41085.0268","3115477.61","3074392.58","-3156562.64","-1.27999481E+11","-0.0131873927","0","-41085.0268","4.73844173E+14373829");
4560f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(20,def,"-723420285.","2681660.35","-720738625","-726101945","-1.93996749E+15","-269.765813","-269","-2053650.85","4.14324113E+23757873");
4561f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(21,def,"63542018.0E-817732230","-8836243.22","-8836243.22","8836243.22","-5.61472726E-817732216","-7.19106711E-817732230","0","6.35420180E-817732223","");
4562f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(22,def,"-96051.7108","-291201.955","-387253.666","195150.244","2.79704460E+10","0.329845694","0","-96051.7108","3.53617153E-1450916");
4563f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(23,def,"108490.853","91685996.5","91794487.4","-91577505.7","9.94709197E+12","0.00118328706","0","108490.853","6.98124265E+461675038");
4564f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(24,def,"-27489.1735","-9835835.4E-506411649","-27489.1735","-27489.1735","2.70378986E-506411638","2.79479804E+506411646","","","4.05866472E-45");
4565f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(25,def,"-89220406.6","993391.008E-611041175","-89220406.6","-89220406.6","-8.86307496E-611041162","-8.98139865E+611041176","","","3.19625913E+79");
4566f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(26,def,"4.75502020","-17089144.9","-17089140.2","17089149.7","-81259229.2","-2.78247989E-7","0","4.75502020","1.0630191E-11571955");
4567f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(27,def,"68027916.2","-796883.839","67231032.4","68824800.0","-5.42103470E+13","-85.3674185","-85","292789.885","8.29415374E-6241744");
4568f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(28,def,"-8.01969439E+788605478","92154156.0","-8.01969439E+788605478","-8.01969439E+788605478","-7.39048168E+788605486","-8.70247717E+788605470","","","");
4569f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(29,def,"-8012.98341","96188.8651","88175.8817","-104201.849","-770759780","-0.0833046881","0","-8012.98341","-1.16010156E+375502");
4570f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(30,def,"21761476E+592330677","-9.70744506","2.17614760E+592330684","2.17614760E+592330684","-2.11248333E+592330685","-2.24173053E+592330683","","","");
4571f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(31,def,"-9840778.51","-17907.219","-9858685.73","-9822871.29","1.76220976E+11","549.542534","549","-9715.279","-6.62997437E-125225");
4572f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(32,def,"-4.1097614","-819.225776E-145214751","-4.10976140","-4.10976140","3.36682247E-145214748","5.01664074E+145214748","","","0.0000122876018");
4573f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(33,def,"-448.880985","-394.087374E-442511435","-448.880985","-448.880985","1.76898329E-442511430","1.13903925E+442511435","","","2.46306099E-11");
4574f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(34,def,"779.445304E+882688544","-797868519","7.79445304E+882688546","7.79445304E+882688546","-6.21894870E+882688555","-9.7690946E+882688537","","","");
4575f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(35,def,"799995477","-6.23675208E+156309440","-6.23675208E+156309440","6.23675208E+156309440","-4.98937346E+156309449","-1.28271169E-156309432","0","799995477","3.81482667E-54");
4576f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(36,def,"-51932.8170","591840275E-278480289","-51932.8170","-51932.8170","-3.07359327E-278480276","-8.7748028E+278480284","","","1.96178443E+28");
4577f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(37,def,"70.3552392","-4228656.73","-4228586.38","4228727.09","-297508156","-0.0000166377277","0","70.3552392","9.14742382E-7811584");
4578f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(38,def,"1588359.34","-12232799.2","-10644439.9","13821158.5","-1.94300809E+13","-0.129844307","0","1588359.34","1.56910086E-75854960");
4579f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(39,def,"2842.16206","-3.23234345","2838.92972","2845.39440","-9186.84392","-879.288388","-879","0.93216745","4.35565514E-11");
4580f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(40,def,"29960.2305","45.2735747E-95205475","29960.2305","29960.2305","1.35640673E-95205469","6.61759773E+95205477","","","2.413936E+22");
4581f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(41,def,"2916565.77","1151935.43E-787118724","2916565.77","2916565.77","3.35969544E-787118712","2.53188303E+787118724","","","2916565.77");
4582f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(42,def,"-52723012.9E-967143787","79.4088237","79.4088237","-79.4088237","-4.18667244E-967143778","-6.63944011E-967143782","0","-5.27230129E-967143780","");
4583f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(43,def,"-167473465","793646.597","-166679819","-168267112","-1.32914746E+14","-211.017682","-211","-14033.033","-1.19053789E+6526910");
4584f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(44,def,"-31769071.0","133.4360","-31768937.6","-31769204.4","-4.23913776E+9","-238084.707","-238084","-94.3760","-5.84252432E+997");
4585f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(45,def,"45960.6383","-93352.7468","-47392.1085","139313.385","-4.29055183E+9","-0.492333004","0","45960.6383","1.88335323E-435248");
4586f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(46,def,"606.175648","5.28528458E-981983620","606.175648","606.175648","3.20381081E-981983617","1.14691203E+981983622","","","8.18450516E+13");
4587f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(47,def,"171578.617E+643006110","-407774.293","1.71578617E+643006115","1.71578617E+643006115","-6.99653492E+643006120","-4.20768597E+643006109","","","");
4588f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(48,def,"-682286332.","-464.871699","-682286797","-682285867","3.17175606E+11","1467687.39","1467687","-182.709787","-1.6050843E-4108");
4589f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(49,def,"492088.428","653.72170","492742.150","491434.706","321688884","752.74911","752","489.70960","3.94658596E+3722");
4590f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(50,def,"74303782.5","1141.68058","74304924.2","74302640.8","8.48311855E+10","65082.812","65082","926.99244","4.94849869E+8988");
4591f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(51,def,"74.7794084E+119375329","-34799355.6","7.47794084E+119375330","7.47794084E+119375330","-2.60227522E+119375338","-2.14887337E+119375323","","","");
4592f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(52,def,"-9432.08369","33735.5058","24303.4221","-43167.5895","-318196114","-0.279589218","0","-9432.08369","2.309567E+134087");
4593f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(53,def,"4249198.78E-112433155","418673051.","418673051","-418673051","1.77902502E-112433140","1.01492054E-112433157","0","4.24919878E-112433149","");
4594f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(54,def,"-2960933.02","-207933.38","-3168866.40","-2752999.64","6.15676811E+11","14.2398158","14","-49865.70","-2.75680397E-1345624");
4595f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(55,def,"29317.7519E+945600035","1.43555750","2.93177519E+945600039","2.93177519E+945600039","4.20873186E+945600039","2.04225549E+945600039","","","2.93177519E+945600039");
4596f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(56,def,"-51.1693770","-638055.414","-638106.583","638004.245","32648898.0","0.0000801958198","0","-51.1693770","-3.48266075E-1090443");
4597f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(57,def,"-756343055.","-68.9248344E+217100975","-6.89248344E+217100976","6.89248344E+217100976","5.21308198E+217100985","1.09734475E-217100968","0","-756343055","-7.06265897E-63");
4598f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(58,def,"2538.80406E+694185197","-3386499.65","2.53880406E+694185200","2.53880406E+694185200","-8.59765906E+694185206","-7.49683839E+694185193","","","");
4599f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(59,def,"-54344.0672","-8086.45235","-62430.5196","-46257.6149","439450710","6.72038427","6","-5825.35310","3.62916861E-38289");
4600f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(60,def,"3.31600054","217481648","217481651","-217481645","721169262","1.5247266E-8","0","3.31600054","3.73134969E+113224119");
4601f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(61,def,"681832.671","320341.161E+629467560","3.20341161E+629467565","-3.20341161E+629467565","2.18419069E+629467571","2.12845789E-629467560","0","681832.671","3.16981139E+17");
4602f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(62,def,"832689481","348040024E-882122501","832689481","832689481","2.89809267E-882122484","2.3925107E+882122501","","","5.77363381E+26");
4603f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(63,def,"14.5512326E+257500811","60.9979577E-647314724","1.45512326E+257500812","1.45512326E+257500812","8.87595471E-389813911","2.38552784E+904815534","","","");
4604f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(64,def,"-901.278844","449461667.","449460766","-449462568","-4.05090292E+11","-0.00000200524074","0","-901.278844","");
4605f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(65,def,"-5.32627675","-738860216E-238273224","-5.32627675","-5.32627675","3.93537399E-238273215","7.20877459E+238273215","","","-0.00000822306838");
4606f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(66,def,"-505383463.","3.18756328","-505383460","-505383466","-1.61094177E+9","-158548527","-158548527","-0.23671144","-1.29081226E+26");
4607f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(67,def,"769241.44E-720927320","-145382631.","-145382631","145382631","-1.11834344E-720927306","-5.29115091E-720927323","0","7.6924144E-720927315","");
4608f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(68,def,"-6.45038910","56736.4411E+440937167","5.67364411E+440937171","-5.67364411E+440937171","-3.65972121E+440937172","-1.13690407E-440937171","0","-6.45038910","72030.3421");
4609f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(69,def,"58.4721075","-712186829","-712186771","712186887","-4.16430648E+10","-8.21022028E-8","0","58.4721075","");
4610f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(70,def,"8244.08357","245.302828E+652007959","2.45302828E+652007961","-2.45302828E+652007961","2.02229701E+652007965","3.36077804E-652007958","0","8244.08357","67964913.9");
4611f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(71,def,"45.5361397","-76579063.9","-76579018.4","76579109.4","-3.48711495E+9","-5.94629098E-7","0","45.5361397","3.98335374E-126995367");
4612f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(72,def,"594420.54E+685263039","-952420.179","5.94420540E+685263044","5.94420540E+685263044","-5.66138117E+685263050","-6.24115861E+685263038","","","");
4613f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(73,def,"-841310701.","9398110.4","-831912591","-850708811","-7.90673085E+15","-89.5191337","-89","-4878875.4","1.30001466E+83877722");
4614f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(74,def,"904392146E-140100276","168116093.","168116093","-168116093","1.52042874E-140100259","5.37956914E-140100276","0","9.04392146E-140100268","");
4615f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(75,def,"-907324792E+685539670","-15.6902171","-9.07324792E+685539678","-9.07324792E+685539678","1.42361230E+685539680","5.78274211E+685539677","","","");
4616f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(76,def,"987013606.","-26818.3572E+560907442","-2.68183572E+560907446","2.68183572E+560907446","-2.64700834E+560907455","-3.68036565E-560907438","0","987013606","1.0399934E-27");
4617f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(77,def,"-741317564","630.241530E-212782946","-741317564","-741317564","-4.67209116E-212782935","-1.1762436E+212782952","","","1.65968527E+53");
4618f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(78,def,"61867907.2","-139204670","-77336763","201072577","-8.61230161E+15","-0.444438446","0","61867907.2","");
4619f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(79,def,"-273.622743E+531282717","-4543.68684","-2.73622743E+531282719","-2.73622743E+531282719","1.24325606E+531282723","6.02204229E+531282715","","","");
4620f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(80,def,"-383588949.","-428640583.","-812229532","45051634","1.64421791E+17","0.89489648","0","-383588949","");
4621f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(81,def,"-56182.2686","32.7741649","-56149.4944","-56215.0428","-1841326.94","-1714.22426","-1714","-7.3499614","-5.45476402E+156");
4622f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(82,def,"-6366384.30","332014.980","-6034369.32","-6698399.28","-2.11373496E+12","-19.1749911","-19","-58099.680","-3.05392399E+2258994");
4623f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(83,def,"-1.27897702","-8213776.03E-686519123","-1.27897702","-1.27897702","1.05052308E-686519116","1.55711212E+686519116","","","0.139668371");
4624f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(84,def,"65.4059036","401162145E+884155506","4.01162145E+884155514","-4.01162145E+884155514","2.62383726E+884155516","1.63041066E-884155513","0","65.4059036","18300704.1");
4625f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(85,def,"-20630916.8","158987411.E-480500612","-20630916.8","-20630916.8","-3.28005605E-480500597","-1.29764468E+480500611","","","4.25634728E+14");
4626f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(86,def,"-4.72705853","-97626742.4","-97626747.1","97626737.7","461487325","4.84197097E-8","0","-4.72705853","2.92654449E-65858120");
4627f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(87,def,"8.43528169","-4573.45752","-4565.02224","4581.89280","-38578.4025","-0.00184439927","0","8.43528169","8.84248688E-4236");
4628f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(88,def,"1.91075189","-704247089.","-704247087","704247091","-1.34564146E+9","-2.71318394E-9","0","1.91075189","6.84547494E-198037309");
4629f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(89,def,"31997198E-551746308","326.892584","326.892584","-326.892584","1.04596467E-551746298","9.78829119E-551746304","0","3.1997198E-551746301","");
4630f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(90,def,"127589.213","84184304.","84311893.2","-84056714.8","1.07410091E+13","0.00151559385","0","127589.213","2.87917042E+429829394");
4631f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(91,def,"714494248","-7025063.59","707469185","721519312","-5.01936753E+15","-101.706446","-101","4962825.41","1.65018516E-62199908");
4632f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(92,def,"-52987680.2E+279533503","-42014114.8","-5.29876802E+279533510","-5.29876802E+279533510","2.22623048E+279533518","1.26118759E+279533503","","","");
4633f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(93,def,"-8795.0513","-225294.394E-884414238","-8795.05130","-8795.05130","1.98147575E-884414229","3.90380388E+884414236","","","1.2927759E-8");
4634f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(94,def,"83280.1394","161566354.","161649634","-161483074","1.34552685E+13","0.000515454718","0","83280.1394","5.30774809E+794993940");
4635f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(95,def,"112.877897","-9.96481666","102.913080","122.842714","-1124.80755","-11.3276441","-11","3.26491374","2.97790545E-21");
4636f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(96,def,"-572542.121E+847487397","433.843420","-5.72542121E+847487402","-5.72542121E+847487402","-2.48393632E+847487405","-1.3196976E+847487400","","","");
4637f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(97,def,"4709649.89","20949266.4","25658916.3","-16239616.5","9.86637102E+13","0.224812163","0","4709649.89","4.85293644E+139794213");
4638f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(98,def,"-9475.19322","-30885.2475E+584487341","-3.08852475E+584487345","3.08852475E+584487345","2.92643688E+584487349","3.06787026E-584487342","0","-9475.19322","-1.17553557E-12");
4639f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(99,def,"-213230447.","864.815822E+127783046","8.64815822E+127783048","-8.64815822E+127783048","-1.84405064E+127783057","-2.46561686E-127783041","0","-213230447","-9.11261361E+74");
4640f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(100,def,"-89.1168786E+403375873","6464.05744","-8.91168786E+403375874","-8.91168786E+403375874","-5.76056622E+403375878","-1.37865233E+403375871","","","");
4641f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(101,def,"61774.4958","-14000.7706","47773.7252","75775.2664","-864890545","-4.41222112","-4","5771.4134","7.59030407E-67077");
4642f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(102,def,"1.60731414","7.04330293E-427033419","1.60731414","1.60731414","1.13208004E-427033418","2.28204602E+427033418","","","27.7143921");
4643f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(103,def,"7955012.51","-230117662.","-222162650","238072675","-1.83058888E+15","-0.0345693261","0","7955012.51","");
4644f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(104,def,"4086661.08","1.77621994","4086662.86","4086659.30","7258808.90","2300762.98","2300762","1.73840572","1.67007988E+13");
4645f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(105,def,"-610.076931","-207.658306","-817.735237","-402.418625","126687.542","2.93788841","2","-194.760319","4.36518377E-580");
4646f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(106,def,"-98.6353697","-99253.3899E-716309653","-98.6353697","-98.6353697","9.78989481E-716309647","9.93773309E+716309649","","","1.14729007E-20");
4647f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(107,def,"-959923730","409.125542E-900295528","-959923730","-959923730","-3.92729316E-900295517","-2.3462816E+900295534","","","8.49076677E+35");
4648f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(108,def,"379965133","-8.15869657","379965125","379965141","-3.10002023E+9","-46571793.6","-46571793","5.19214999","2.30170697E-69");
4649f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(109,def,"833.646797","1389499.46E-443407251","833.646797","833.646797","1.15835177E-443407242","5.99961944E+443407247","","","833.646797");
4650f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(110,def,"2314933.4E-646489194","-7401538.17","-7401538.17","7401538.17","-1.71340679E-646489181","-3.12763826E-646489195","0","2.3149334E-646489188","");
4651f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(111,def,"808525347","-5959.74667E+58232168","-5.95974667E+58232171","5.95974667E+58232171","-4.81860624E+58232180","-1.35664382E-58232163","0","808525347","3.5796302E-54");
4652f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(112,def,"-17220490.6E+726428704","19.9855688","-1.72204906E+726428711","-1.72204906E+726428711","-3.44161300E+726428712","-8.61646259E+726428709","","","");
4653f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(113,def,"59015.9705","-72070405.4E+322957279","-7.20704054E+322957286","7.20704054E+322957286","-4.25330492E+322957291","-8.18865527E-322957283","0","59015.9705","4.01063488E-34");
4654f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(114,def,"16411470E+578192008","497470.005E-377473621","1.64114700E+578192015","1.64114700E+578192015","8.16421406E+200718399","3.29898684E+955665630","","","");
4655f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(115,def,"-107.353544E+609689808","-659.50136E-456711743","-1.07353544E+609689810","-1.07353544E+609689810","7.07998083E+152978069","","","","");
4656f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(116,def,"786.134163","-53.0292275E-664419768","786.134163","786.134163","-4.16880874E-664419764","-1.48245449E+664419769","","","3.33055532E-15");
4657f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(117,def,"23.5414714","5000786.91","5000810.45","-5000763.37","117725882","0.0000047075534","0","23.5414714","4.4895618E+6860247");
4658f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(118,def,"-69775.6113","561292120.","561222344","-561361896","-3.91645008E+13","-0.000124312473","0","-69775.6113","");
4659f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(119,def,"919043.871","-71606613.7","-70687569.8","72525657.6","-6.58096194E+13","-0.0128346227","0","919043.871","3.05862429E-427014317");
4660f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(120,def,"-27667.1915","-293455.107E-789181924","-27667.1915","-27667.1915","8.11907864E-789181915","9.42808315E+789181922","","","-4.72176938E-14");
4661f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(121,def,"-908603625.","-982.409273E+449441134","-9.82409273E+449441136","9.82409273E+449441136","8.92620627E+449441145","9.2487281E-449441129","0","-908603625","2.60768632E-90");
4662f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(122,def,"847.113351","5.71511268","852.828464","841.398238","4841.34825","148.223386","148","1.27667436","3.69529538E+17");
4663f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(123,def,"-992140475","3.82918218","-992140471","-992140479","-3.79908663E+9","-259099836","-259099836","-0.14787752","9.68930595E+35");
4664f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(124,def,"-12606437.5","268123145E+362798858","2.68123145E+362798866","-2.68123145E+362798866","-3.38007767E+362798873","-4.70173416E-362798860","0","-12606437.5","-2.00344362E+21");
4665f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(125,def,"3799470.64","-264.703992","3799205.94","3799735.34","-1.00573505E+9","-14353.6583","-14353","174.242824","2.3625466E-1744");
4666f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(126,def,"-8.11070247","-931284056.E-654288974","-8.11070247","-8.11070247","7.55336789E-654288965","8.70916067E+654288965","","","-6.58375662E-9");
4667f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(127,def,"-242660177.","-6.09832715E-943742415","-242660177","-242660177","1.47982115E-943742406","3.97912692E+943742422","","","4.89788901E-51");
4668f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(128,def,"76.1463803","-45.6758006E-636907996","76.1463803","76.1463803","-3.47804688E-636907993","-1.66710554E+636907996","","","3.90619287E-10");
4669f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(129,def,"761185.862","-70878470.9E+221214712","-7.08784709E+221214719","7.08784709E+221214719","-5.39516900E+221214725","-1.07393099E-221214714","0","761185.862","6.75406144E-42");
4670f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(130,def,"6203606.54","-195.92748E-833512061","6203606.54","6203606.54","-1.21545700E-833512052","-3.1662769E+833512065","","","2.59843292E-14");
4671f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(131,def,"-163274837.","95.0448550E+887876533","9.50448550E+887876534","-9.50448550E+887876534","-1.55184332E+887876543","-1.71787139E-887876527","0","-163274837","1.34645731E+82");
4672f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(132,def,"2.38638190","-807986179.","-807986177","807986181","-1.92816359E+9","-2.95349347E-9","0","2.38638190","1.19029305E-305208656");
4673f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(133,def,"-109022296E-811981158","7.19685680","7.19685680","-7.19685680","-7.84617852E-811981150","-1.51485988E-811981151","0","-1.09022296E-811981150","");
4674f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(134,def,"-559250.780E-273710421","-393780811.","-393780811","393780811","2.20222226E-273710407","1.42020831E-273710424","0","-5.59250780E-273710416","");
4675f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(135,def,"-88021.9966E+555334642","7599686.64E+818884053","7.59968664E+818884059","-7.59968664E+818884059","","-1.15823192E-263549413","0","-8.80219966E+555334646","");
4676f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(136,def,"194.317648E-197450009","-930.979064","-930.979064","930.979064","-1.80905662E-197450004","-2.08723972E-197450010","0","1.94317648E-197450007","");
4677f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(137,def,"9495479.65","7405697.96","16901177.6","2089781.69","7.03206543E+13","1.28218565","1","2089781.69","1.0135446E+51673383");
4678f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(138,def,"-1656.28925","-163050511E-682882380","-1656.28925","-1656.28925","2.70058809E-682882369","1.01581359E+682882375","","","3.64525265E-7");
4679f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(139,def,"95581.3784E+64262149","-99.2879365","9.55813784E+64262153","9.55813784E+64262153","-9.49007783E+64262155","-9.62668596E+64262151","","","");
4680f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(140,def,"643761.452","3.73446939","643765.186","643757.718","2404107.44","172383.647","172383","2.41514363","1.71751236E+23");
4681f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(141,def,"7960.49866E-129827423","3220.22850","3220.22850","-3220.22850","2.56346247E-129827416","2.47202913E-129827423","0","7.96049866E-129827420","");
4682f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(142,def,"-6356.64112E-707203818","1805054.98","1805054.98","-1805054.98","-1.14740867E-707203808","-3.52157756E-707203821","0","-6.35664112E-707203815","");
4683f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(143,def,"2.3904042","8476.52006","8478.91046","-8474.12966","20262.3092","0.000282003013","0","2.3904042","2.00251752E+3208");
4684f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(144,def,"-713298.658","-957.782729","-714256.441","-712340.875","683185135","744.739528","744","-708.307624","3.68122321E-5608");
4685f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(145,def,"607779233.E-820497365","-20.1188742E-857318323","6.07779233E-820497357","6.07779233E-820497357","","-3.02094057E+36820965","","","");
4686f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(146,def,"-205888251","-908.792922E+250680613","-9.08792922E+250680615","9.08792922E+250680615","1.87109785E+250680624","2.26551336E-250680608","0","-205888251","-1.5042358E-75");
4687f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(147,def,"51542399.1","-23212.2414","51519186.9","51565611.3","-1.19641461E+12","-2220.4835","-2220","11223.1920","1.71641348E-179015");
4688f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(148,def,"4.44287230","158923023","158923027","-158923019","706074697","2.79561275E-8","0","4.44287230","7.12573416E+102928693");
4689f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(149,def,"-79123682.6","-3.8571770","-79123686.5","-79123678.8","305194049","20513365.8","20513365","-2.9293950","2.55137345E-32");
4690f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(150,def,"-80.3324347E-569715030","883142.351","883142.351","-883142.351","-7.09449752E-569715023","-9.09620455E-569715035","0","-8.03324347E-569715029","");
4691f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(151,def,"13637.483","-52798.5631","-39161.0801","66436.0461","-720039507","-0.258292692","0","13637.483","1.47163791E-218310");
4692f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(152,def,"6.42934843E-276476458","84057440.0E-388039782","6.42934843E-276476458","6.42934843E-276476458","5.40434570E-664516232","7.64875593E+111563316","","","");
4693f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(153,def,"-5.64133087","-17401297.","-17401302.6","17401291.4","98166473.9","3.24190253E-7","0","-5.64133087","-1.25908916E-13075014");
4694f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(154,def,"95469.7057E+865733824","198.829749","9.54697057E+865733828","9.54697057E+865733828","1.89822176E+865733831","4.80158056E+865733826","","","");
4695f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(155,def,"-416466.209","-930153427","-930569893","929736961","3.87377472E+14","0.000447739262","0","-416466.209","");
4696f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(156,def,"-1541733.85","-1.99208708","-1541735.84","-1541731.86","3071268.08","773928.944","773928","-1.88034976","4.20708401E-13");
4697f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(157,def,"-39152691.8","-645131748.","-684284440","605979056","2.52586445E+16","0.0606894513","0","-39152691.8","");
4698f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(158,def,"113.939979","-58282550.4","-58282436.5","58282664.3","-6.64071257E+9","-0.0000019549587","0","113.939979","2.106557E-119868330");
4699f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(159,def,"-324971.736","-9517.15154","-334488.888","-315454.585","3.09280526E+9","34.1459033","34","-1388.58364","-5.82795263E-52457");
4700f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(160,def,"-76.9436744","-9548122.75E-273599728","-76.9436744","-76.9436744","7.34667648E-273599720","8.05851332E+273599722","","","1.37489895E-19");
4701f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(161,def,"-430393.282","-70.2551505","-430463.537","-430323.027","30237344.8","6126.14561","6126","-10.2300370","4.26006409E-395");
4702f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(162,def,"-3308051.90","-349433799.E+397813188","-3.49433799E+397813196","3.49433799E+397813196","1.15594514E+397813203","9.46689161E-397813191","0","-3308051.90","-2.76237768E-20");
4703f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(163,def,"23.1543212E-655822712","5848.20853","5848.20853","-5848.20853","1.35411299E-655822707","3.95921607E-655822715","0","2.31543212E-655822711","");
4704f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(164,def,"-174.261308E-82902077","-200096204.","-200096204","200096204","3.48690262E-82902067","8.70887626E-82902084","0","-1.74261308E-82902075","");
4705f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(165,def,"-50669105.2","9105789.01E+609889700","9.10578901E+609889706","-9.10578901E+609889706","-4.61382181E+609889714","-5.56449366E-609889700","0","-50669105.2","-2.20135008E+69");
4706f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(166,def,"424768856.","-971.71757","424767884","424769828","-4.12755361E+11","-437132.012","-437132","11.19076","2.72651473E-8387");
4707f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(167,def,"7181.2767","999117.918","1006299.19","-991936.641","7.17494223E+9","0.00718761677","0","7181.2767","3.09655124E+3852800");
4708f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(168,def,"8096417.07E-433694528","-68.4863363","-68.4863363","68.4863363","-5.54493942E-433694520","-1.18219451E-433694523","0","8.09641707E-433694522","");
4709f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(169,def,"1236287.5","-7119.97299E-176200498","1236287.50","1236287.50","-8.80233361E-176200489","-1.73636544E+176200500","","","2.26549784E-43");
4710f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(170,def,"-752995833E-654401067","-15.2736930E+803939983","-1.52736930E+803939984","1.52736930E+803939984","1.15010272E+149538926","","0","-7.52995833E-654401059","");
4711f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(171,def,"702992.459","-312.689474","702679.770","703305.148","-219818342","-2248.21274","-2248","66.521448","8.02493322E-1831");
4712f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(172,def,"-4414.38805","-17680.4630E-584364536","-4414.38805","-4414.38805","7.80484246E-584364529","2.49676044E+584364535","","","5.13167312E-8");
4713f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(173,def,"9.46350807","7826.65424","7836.11775","-7817.19073","74067.6056","0.00120913839","0","9.46350807","3.63271495E+7639");
4714f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(174,def,"2078153.7","-16934607.3E+233594439","-1.69346073E+233594446","1.69346073E+233594446","-3.51927168E+233594452","-1.2271638E-233594440","0","2078153.7","2.31549939E-13");
4715f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(175,def,"-9359.74629","7.07761788E+252457696","7.07761788E+252457696","-7.07761788E+252457696","-6.62447077E+252457700","-1.32244301E-252457693","0","-9359.74629","-6.29286677E+27");
4716f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(176,def,"66.2319284E+730468479","25.9391685E+221147044","6.62319284E+730468480","6.62319284E+730468480","1.71800115E+951615526","2.55335588E+509321435","","","");
4717f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(177,def,"317997088.E-90968742","-977426.461","-977426.461","977426.461","-3.10818768E-90968728","-3.2534119E-90968740","0","3.17997088E-90968734","");
4718f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(178,def,"227473386","-6759.61390","227466626","227480146","-1.53763226E+12","-33651.8312","-33651","5618.65110","1.40992627E-56493");
4719f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(179,def,"-392019.462","-245456.503","-637475.965","-146562.959","9.62237263E+10","1.59710359","1","-146562.959","-3.08656533E-1372917");
4720f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(180,def,"-3619556.28E+587673583","-3.45236972","-3.61955628E+587673589","-3.61955628E+587673589","1.24960465E+587673590","1.04842661E+587673589","","","");
4721f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(181,def,"-249.400704E-923930848","831102.919","831102.919","-831102.919","-2.07277653E-923930840","-3.00084019E-923930852","0","-2.49400704E-923930846","");
4722f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(182,def,"65234.2739E+154949914","-694581895","6.52342739E+154949918","6.52342739E+154949918","-4.53105456E+154949927","-9.39187652E+154949909","","","");
4723f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(183,def,"45.2316213","-88775083.4","-88775038.2","88775128.6","-4.01544095E+9","-5.09508069E-7","0","45.2316213","1.92314254E-146962015");
4724f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(184,def,"331100375.","442.343378","331100817","331099933","1.46460058E+11","748514.37","748514","163.759708","6.64011043E+3765");
4725f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(185,def,"81.8162765","5.61239515E+467372163","5.61239515E+467372163","-5.61239515E+467372163","4.59185273E+467372165","1.45777826E-467372162","0","81.8162765","2.99942677E+11");
4726f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(186,def,"-5738.13069E+789464078","33969715.0","-5.73813069E+789464081","-5.73813069E+789464081","-1.94922664E+789464089","-1.68919012E+789464074","","","");
4727f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(187,def,"-7413.03911","2.70630320E-254858264","-7413.03911","-7413.03911","-2.00619315E-254858260","-2.73917539E+254858267","","","-4.07369842E+11");
4728f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(188,def,"-417696.182","27400.6002","-390295.582","-445096.782","-1.14451261E+10","-15.2440523","-15","-6687.1790","-1.58020334E+154017");
4729f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(189,def,"68.8538735E+655647287","3198.17933E-132454826","6.88538735E+655647288","6.88538735E+655647288","2.20207035E+523192466","2.15290846E+788102111","","","");
4730f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(190,def,"-6817.04246","434420.439","427603.397","-441237.481","-2.96146258E+9","-0.0156922692","0","-6817.04246","5.94143518E+1665390");
4731f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(191,def,"8578.27511","647042.341E-490924334","8578.27511","8578.27511","5.55050721E-490924325","1.3257672E+490924332","","","3.98473846E+23");
4732f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(192,def,"4124.11615E+733109424","597385828E+375928745","4.12411615E+733109427","4.12411615E+733109427","","6.9036056E+357180673","","","");
4733f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(193,def,"102.714400","-919017.468","-918914.754","919120.182","-94396327.8","-0.000111765449","0","102.714400","4.04295689E-1848724");
4734f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(194,def,"-4614.33015E+996778733","-433.560812E+22860599","-4.61433015E+996778736","-4.61433015E+996778736","","1.06428672E+973918135","","","");
4735f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(195,def,"457455170.","3709230.48E+677010879","3.70923048E+677010885","-3.70923048E+677010885","1.69680666E+677010894","1.23328861E-677010877","0","457455170","4.37919376E+34");
4736f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(196,def,"-2522468.15","-48482043.5","-51004511.7","45959575.4","1.22294411E+14","0.0520289156","0","-2522468.15","1.42348178E-310373595");
4737f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(197,def,"-659811384","62777.6118","-659748606","-659874162","-4.14213829E+13","-10510.2976","-10510","-18683.9820","3.4393524E+553665");
4738f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(198,def,"4424.94176","-825848.20","-821423.258","830273.142","-3.65433019E+9","-0.00535805704","0","4424.94176","3.42152775E-3010966");
4739f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(199,def,"43.6441884","-6509.89663E-614169377","43.6441884","43.6441884","-2.84119155E-614169372","-6.70428286E+614169374","","","3.31524056E-12");
4740f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(200,def,"897.388381E-843864876","84195.1369","84195.1369","-84195.1369","7.55557376E-843864869","1.06584348E-843864878","0","8.97388381E-843864874","");
4741f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(201,def,"796199825","496.76834","796200322","796199328","3.95526865E+11","1602758.79","1602758","393.91828","6.42647264E+4423");
4742f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(202,def,"573583582","1598.69521","573585181","573581983","9.16985325E+11","358782.323","358782","517.16578","9.91156302E+14004");
4743f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(203,def,"-783144270.","6347.71496","-783137922","-783150618","-4.97117660E+12","-123374.202","-123374","-1284.52496","1.28110803E+56458");
4744f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(204,def,"26909234.7","52411.5081","26961646.2","26856823.2","1.41035357E+12","513.422255","513","22131.0447","9.75836528E+389415");
4745f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(205,def,"8.21915282","24859.7841E-843282959","8.21915282","8.21915282","2.04326365E-843282954","3.30620443E+843282955","","","67.5544731");
4746f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(206,def,"-688.387710","82783.5207E-831870858","-688.387710","-688.387710","-5.69871582E-831870851","-8.31551623E+831870855","","","5.04272012E+22");
4747f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(207,def,"-9792232.","-1749.01166","-9793981.01","-9790482.99","1.71267279E+10","5598.72311","5598","-1264.72732","-8.86985674E-12228");
4748f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(208,def,"-130.765600","8.67437427","-122.091226","-139.439974","-1134.30976","-15.0749317","-15","-0.64998595","-1.11799947E+19");
4749f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(209,def,"917.259102","-368640.426","-367723.167","369557.685","-338138786","-0.00248822169","0","917.259102","8.67104255E-1092094");
4750f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(210,def,"-4.9725631","-294563717.","-294563722","294563712","1.46473667E+9","1.6881112E-8","0","-4.9725631","-6.27962584E-205187284");
4751f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(211,def,"-60962887.2E-514249661","-243021.407","-243021.407","243021.407","1.48152866E-514249648","2.5085398E-514249659","0","-6.09628872E-514249654","");
4752f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(212,def,"-55389219.8","-3772200E+981866393","-3.77220000E+981866399","3.77220000E+981866399","2.08939215E+981866407","1.46835321E-981866392","0","-55389219.8","1.06242678E-31");
4753f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(213,def,"681.666010","626886700","626887382","-626886018","4.27327356E+11","0.00000108738311","0","681.666010","");
4754f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(214,def,"6.42652138","53465894.5","53465900.9","-53465888.1","343599714","1.2019852E-7","0","6.42652138","4.61155532E+43199157");
4755f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(215,def,"561546656","651408.476","562198064","560895248","3.65796251E+14","862.049968","862","32549.688","8.6052377E+5699419");
4756f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(216,def,"7845778.36E-79951139","9.45859047","9.45859047","-9.45859047","7.42100044E-79951132","8.29487056E-79951134","0","7.84577836E-79951133","1.12648216E-719560189");
4757f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(217,def,"54486.2112","10.7565078","54496.9677","54475.4547","586081.356","5065.41828","5065","4.4991930","1.25647168E+52");
4758f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(218,def,"16576482.5","-2217720.83","14358761.7","18794203.3","-3.67620105E+13","-7.47455779","-7","1052436.69","1.38259374E-16010820");
4759f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(219,def,"61.2793787E-392070111","6.22575651","6.22575651","-6.22575651","3.81510491E-392070109","9.84288072E-392070111","0","6.12793787E-392070110","");
4760f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(220,def,"5115136.39","-653674372.","-648559236","658789508","-3.34363357E+15","-0.00782520565","0","5115136.39","");
4761f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(221,def,"-7.84238366E-416477339","-37432758.9E+97369393","-3.74327589E+97369400","3.74327589E+97369400","2.93562057E-319107938","2.09505895E-513846739","0","-7.84238366E-416477339","");
4762f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(222,def,"-387781.3E+284108380","-218085.592","-3.87781300E+284108385","-3.87781300E+284108385","8.45695144E+284108390","1.77811517E+284108380","","","");
4763f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(223,def,"-5353.17736","3.39332346E+546685359","3.39332346E+546685359","-3.39332346E+546685359","-1.81650623E+546685363","-1.57756177E-546685356","0","-5353.17736","-1.53403369E+11");
4764f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(224,def,"-20837.2900E-168652772","-8236.78305E-712819173","-2.08372900E-168652768","-2.08372900E-168652768","1.71632237E-881471937","2.52978497E+544166401","","","");
4765f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(225,def,"-98573.8722E+829022366","309011.007","-9.85738722E+829022370","-9.85738722E+829022370","-3.04604115E+829022376","-3.18997932E+829022365","","","");
4766f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(226,def,"49730750.7","-5315.10636E-299586991","49730750.7","49730750.7","-2.64324229E-299586980","-9.35649211E+299586994","","","3.28756936E-39");
4767f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(227,def,"1539523.40","-962388.581","577134.82","2501911.98","-1.48161974E+12","-1.59969001","-1","577134.819","3.10144834E-5954673");
4768f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(228,def,"81596.2121","-37600.9653","43995.2468","119197.177","-3.06809634E+9","-2.17005631","-2","6394.2815","1.97878299E-184684");
4769f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(229,def,"590146199","-1425404.61","588720794","591571604","-8.41197113E+14","-414.020128","-414","28690.46","2.04650994E-12502170");
4770f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(230,def,"196.05543","505.936305","701.991735","-309.880875","99191.5598","0.387510104","0","196.05543","8.78437397E+1159");
4771f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(231,def,"77.8058449","-642.275274","-564.469429","720.081119","-49972.7704","-0.121140963","0","77.8058449","9.33582626E-1215");
4772f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(232,def,"1468.60684","10068.138","11536.7448","-8599.5312","14786136.3","0.145866777","0","1468.60684","2.54122484E+31884");
4773f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(233,def,"4.98774767E-387968632","4.41731439E-578812376","4.98774767E-387968632","4.98774767E-387968632","2.20324496E-966781007","1.12913577E+190843744","","","");
4774f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(234,def,"981.091059","-92238.9930","-91257.9020","93220.0841","-90494851.3","-0.0106364025","0","981.091059","5.29943342E-275953");
4775f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(235,def,"-3606.24992","8290224.70","8286618.45","-8293830.95","-2.98966222E+10","-0.000435000262","0","-3606.24992","-1.23747107E+29488793");
4776f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(236,def,"-8978571.35","92243.4796","-8886327.87","-9070814.83","-8.28214663E+11","-97.3355666","-97","-30953.8288","-4.95762813E+641384");
4777f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(237,def,"-61968.1992E+810060478","474294671.E+179263414","-6.19681992E+810060482","-6.19681992E+810060482","-2.93911867E+989323905","-1.30653374E+630797060","","","");
4778f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(238,def,"61298431.6E-754429041","-2584862.79","-2584862.79","2584862.79","-1.58448035E-754429027","-2.37143851E-754429040","0","6.12984316E-754429034","");
4779f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(239,def,"621039.064","-5351539.62","-4730500.56","5972578.68","-3.32351516E+12","-0.116048672","0","621039.064","2.41163312E-31002108");
4780f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(240,def,"-19.6007605","-57905696.","-57905715.6","57905676.4","1.13499568E+9","3.38494515E-7","0","-19.6007605","1.05663646E-74829963");
4781f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(241,def,"3626.13109E+687030346","189.896004","3.62613109E+687030349","3.62613109E+687030349","6.88587804E+687030351","1.90953523E+687030347","","","");
4782f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(242,def,"-249334.026","-7.54735834E-14137188","-249334.026","-249334.026","1.88181324E-14137182","3.30359332E+14137192","","","6.69495408E-44");
4783f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(243,def,"417613928.","-925213.216","416688715","418539141","-3.86381925E+14","-451.370474","-451","342767.584","8.38430085E-7976054");
4784f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(244,def,"23.8320309","-50074996.1","-50074972.3","50075019.9","-1.19338885E+9","-4.75926765E-7","0","23.8320309","5.81466387E-68961335");
4785f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(245,def,"49789677.7","-131827812E+156412534","-1.31827812E+156412542","1.31827812E+156412542","-6.56366427E+156412549","-3.77687204E-156412535","0","49789677.7","2.00844843E-8");
4786f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(246,def,"-8907163.61E-741867246","773651.288E-472033282","7.73651288E-472033277","-7.73651288E-472033277","","-1.15131504E-269833963","0","-8.90716361E-741867240","");
4787f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(247,def,"514021711.E+463536646","617441659.","5.14021711E+463536654","5.14021711E+463536654","3.17378418E+463536663","8.32502478E+463536645","","","");
4788f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(248,def,"998175750","2.39285478","998175752","998175748","2.38848961E+9","417148487","417148486","1.30513692","9.96354828E+17");
4789f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(249,def,"873575426.","647853.152E+497450781","6.47853152E+497450786","-6.47853152E+497450786","5.65948593E+497450795","1.3484158E-497450778","0","873575426","4.44429064E+53");
4790f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(250,def,"4352626.8","-130338048.E-744560911","4352626.80","4352626.80","-5.67312881E-744560897","-3.33949055E+744560909","","","2.29746322E-7");
4791f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(251,def,"437.286960","7.37560835","444.662568","429.911352","3225.25735","59.2882565","59","2.12606735","3.05749452E+18");
4792f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(252,def,"8498280.45E+220511522","588617612","8.49828045E+220511528","8.49828045E+220511528","5.00223754E+220511537","1.44376931E+220511520","","","");
4793f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(253,def,"-5320387.77","-7673237.46","-12993625.2","2352849.69","4.08245987E+13","0.693369363","0","-5320387.77","-1.30113745E-51609757");
4794f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(254,def,"587655375","-4.9748366","587655370","587655380","-2.92348947E+9","-118125563","-118125563","0.7919942","1.42687667E-44");
4795f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(255,def,"1266098.44","-2661.64904E-642601142","1266098.44","1266098.44","-3.36990970E-642601133","-4.75681963E+642601144","","","4.92717036E-19");
4796f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(256,def,"3.92737463E+482873483","-685.522747","3.92737463E+482873483","3.92737463E+482873483","-2.69230464E+482873486","-5.72902161E+482873480","","","");
4797f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(257,def,"22826494.1","986189474.","1.00901597E+9","-963362980","2.25112482E+16","0.0231461547","0","22826494.1","");
4798f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(258,def,"-647342.380","-498816386","-499463728","498169044","3.22904986E+14","0.00129775685","0","-647342.380","");
4799f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(259,def,"393092373.","-25.7226822","393092347","393092399","-1.01113902E+10","-15281935.6","-15281935","15.5939430","3.49252839E-224");
4800f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(260,def,"2.96253492","20.7444888","23.7070237","-17.7819539","61.4562725","0.142810698","0","2.96253492","8.03402246E+9");
4801f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(261,def,"53553.3750E+386955423","-732470876","5.35533750E+386955427","5.35533750E+386955427","-3.92262875E+386955436","-7.31133165E+386955418","","","");
4802f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(262,def,"-696451.406E-286535917","-73086090.8","-73086090.8","73086090.8","5.09009107E-286535904","9.52919219E-286535920","0","-6.96451406E-286535912","");
4803f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(263,def,"1551.29957","-580358622.E+117017265","-5.80358622E+117017273","5.80358622E+117017273","-9.00310081E+117017276","-2.67300168E-117017271","0","1551.29957","7.17506711E-20");
4804f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(264,def,"-205123006.E-213752799","-78638468.6","-78638468.6","78638468.6","1.61305591E-213752783","2.60843083E-213752799","0","-2.05123006E-213752791","");
4805f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(265,def,"77632.8073","-3378542.88E+677441319","-3.37854288E+677441325","3.37854288E+677441325","-2.62285768E+677441330","-2.29781921E-677441321","0","77632.8073","2.13729331E-15");
4806f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(266,def,"3068999.37","2.21006212","3069001.58","3068997.16","6782679.25","1388648.46","1388648","1.02718624","9.41875713E+12");
4807f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(267,def,"625524274.","55.2468624","625524329","625524219","3.45582535E+10","11322349.3","11322349","16.7522224","6.21482943E+483");
4808f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(268,def,"61269134.9","-845761303.","-784492168","907030438","-5.18190634E+16","-0.0724425848","0","61269134.9","");
4809f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(269,def,"-2840.12099","-2856.76731E-82743650","-2840.12099","-2840.12099","8.11356480E-82743644","9.94173022E+82743649","","","-4.36505254E-11");
4810f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(270,def,"8.9538781","-7.56603391","1.38784419","16.5199120","-67.7453453","-1.18343087","-1","1.38784419","2.42053061E-8");
4811f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(271,def,"-56233547.2","509752530","453518983","-565986077","-2.86651930E+16","-0.110315386","0","-56233547.2","");
4812f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(272,def,"-3167.47853E-854859497","-110852115","-110852115","110852115","3.51121694E-854859486","2.85739116E-854859502","0","-3.16747853E-854859494","");
4813f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(273,def,"-5652.52092","-632243244.","-632248897","632237592","3.57376816E+12","0.00000894042123","0","-5652.52092","");
4814f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(274,def,"-946.009928","820090.66E-589278015","-946.009928","-946.009928","-7.75813906E-589278007","-1.15354311E+589278012","","","6.41454053E+23");
4815f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(275,def,"-367.757758","-959.626016","-1327.38377","591.868258","352909.912","0.383230292","0","-367.757758","1.14982199E-2463");
4816f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(276,def,"809926721.E-744611554","-67.6560549","-67.6560549","67.6560549","-5.47964467E-744611544","-1.19712378E-744611547","0","8.09926721E-744611546","");
4817f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(277,def,"-1725.08555","75586.3031","73861.2176","-77311.3887","-130392839","-0.0228227269","0","-1725.08555","3.70540587E+244657");
4818f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(278,def,"2659.84191E+29314492","-74372.4551E+518196680","-7.43724551E+518196684","7.43724551E+518196684","-1.97818973E+547511180","-3.5763804E-488882190","0","2.65984191E+29314495","1.06171811E-205201468");
4819f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(279,def,"-91.1431113","12147507.0","12147415.9","-12147598.1","-1.10716158E+9","-0.00000750303015","0","-91.1431113","-1.52417006E+23805759");
4820f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(280,def,"-1136778.91E+697783878","-801552569.","-1.13677891E+697783884","-1.13677891E+697783884","9.11188056E+697783892","1.41822128E+697783875","","","");
4821f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(281,def,"73123773.0E+433334149","63.3548930","7.31237730E+433334156","7.31237730E+433334156","4.63274881E+433334158","1.15419298E+433334155","","","");
4822f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(282,def,"-9765484.8","7979.90802E-234029715","-9765484.80","-9765484.80","-7.79276705E-234029705","-1.22375907E+234029718","","","8.27085614E+55");
4823f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(283,def,"-695010288","-8.26582820","-695010296","-695010280","5.74483564E+9","84082353.4","84082353","-3.45024540","1.83683495E-71");
4824f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(284,def,"23975643.3E-155955264","-505547.692E+137258948","-5.05547692E+137258953","5.05547692E+137258953","-1.21208311E-18696303","-4.7425087E-293214211","0","2.39756433E-155955257","1.26225952E+779776283");
4825f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(285,def,"2862.95921","-32601248.6E-605861333","2862.95921","2862.95921","-9.33360449E-605861323","-8.78174712E+605861328","","","4.26142175E-11");
4826f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(286,def,"-13.133518E+246090516","-8.71269925E-945092108","-1.31335180E+246090517","-1.31335180E+246090517","1.14428392E-699001590","","","","");
4827f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(287,def,"-34671.2232","817710.762","783039.539","-852381.985","-2.83510323E+10","-0.0424003508","0","-34671.2232","-5.30788828E+3712382");
4828f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(288,def,"-22464769","62.4366060","-22464706.6","-22464831.4","-1.40262393E+9","-359801.252","-359801","-15.7245940","6.21042536E+455");
4829f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(289,def,"-9458.60887E-563051963","5676056.01","5676056.01","-5676056.01","-5.36875937E-563051953","-1.66640513E-563051966","0","-9.45860887E-563051960","");
4830f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(290,def,"-591.924123E-95331874","-134.596188","-134.596188","134.596188","7.96707305E-95331870","4.39777777E-95331874","0","-5.91924123E-95331872","");
4831f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(291,def,"-182566085.E+68870646","-960345993.","-1.82566085E+68870654","-1.82566085E+68870654","1.75326608E+68870663","1.9010449E+68870645","","","");
4832f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(292,def,"8232.54893","-99822004E+891979845","-9.98220040E+891979852","9.98220040E+891979852","-8.21789532E+891979856","-8.24722867E-891979850","0","8232.54893","6.99289156E-40");
4833f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(293,def,"-4336.94317","-819373.601E+563233430","-8.19373601E+563233435","8.19373601E+563233435","3.55357674E+563233439","5.29299841E-563233433","0","-4336.94317","7.98969405E-30");
4834f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(294,def,"-2.09044362E-876527908","-6515463.33","-6515463.33","6515463.33","1.36202087E-876527901","3.20843433E-876527915","0","-2.09044362E-876527908","");
4835f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(295,def,"-194343.344","1.95929977","-194341.385","-194345.303","-380776.869","-99190.2041","-99190","-0.39981370","3.77693354E+10");
4836f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(296,def,"-326002.927","4215.99030","-321786.937","-330218.917","-1.37442518E+9","-77.3253503","-77","-1371.67390","5.51875821E+23243");
4837f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(297,def,"-12037.8590E+876429044","314.81827","-1.20378590E+876429048","-1.20378590E+876429048","-3.78973794E+876429050","-3.82374854E+876429045","","","");
4838f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(298,def,"21036045.4E-162804809","-91.7149219","-91.7149219","91.7149219","-1.92931926E-162804800","-2.2936339E-162804804","0","2.10360454E-162804802","");
4839f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(299,def,"-947019.534","9916.29280","-937103.241","-956935.827","-9.39092299E+9","-95.5013686","-95","-4971.71800","3.76029022E+59261");
4840f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(300,def,"-5985.84136","-12.4090184E-12364204","-5985.84136","-5985.84136","7.42784156E-12364200","4.82378313E+12364206","","","-0.000167060893");
4841f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(301,def,"-85344379.4","-6783.08669E+218840215","-6.78308669E+218840218","6.78308669E+218840218","5.78898324E+218840226","1.25819385E-218840211","0","-85344379.4","-3.03232347E-56");
4842f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(302,def,"-94.1947070E-938257103","15003.240","15003.2400","-15003.2400","-1.41322580E-938257097","-6.27829102E-938257106","0","-9.41947070E-938257102","");
4843f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(303,def,"-4846233.6","-8289769.76","-13136003.4","3443536.16","4.01741607E+13","0.584604125","0","-4846233.6","4.25077524E-55420465");
4844f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(304,def,"67.9147198","-108373645.E+291715415","-1.08373645E+291715423","1.08373645E+291715423","-7.36016573E+291715424","-6.26671916E-291715422","0","67.9147198","0.0147243485");
4845f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(305,def,"1958.77994","5.57285137E+690137826","5.57285137E+690137826","-5.57285137E+690137826","1.09159895E+690137830","3.51486126E-690137824","0","1958.77994","5.64824968E+19");
4846f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(306,def,"22780314.3","8805279.83","31585594.1","13975034.5","2.00587042E+14","2.58711986","2","5169754.64","2.39132169E+64785373");
4847f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(307,def,"596745.184","197602423.","198199168","-197005678","1.17918294E+14","0.00301992848","0","596745.184","");
4848f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(308,def,"171.340497","-480349.924","-480178.584","480521.264","-82303394.7","-0.000356699332","0","171.340497","2.17914102E-1073035");
4849f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(309,def,"824.65555","-379287.530","-378462.875","380112.186","-312781567","-0.00217422268","0","824.65555","6.35829256E-1106108");
4850f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(310,def,"19.3164031","-9207644.24E+988115069","-9.20764424E+988115075","9.20764424E+988115075","-1.77858568E+988115077","-2.09786592E-988115075","0","19.3164031","2.67093711E-12");
4851f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(311,def,"-3123.77646E+177814265","973284435.E+383256112","9.73284435E+383256120","-9.73284435E+383256120","-3.04032301E+561070389","-3.20952062E-205441853","0","-3.12377646E+177814268","");
4852f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(312,def,"-850.123915E+662955309","6774849.81E-846576865","-8.50123915E+662955311","-8.50123915E+662955311","-5.75946184E-183621547","","","","");
4853f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(313,def,"-23349.7724","2921.35355","-20428.4189","-26271.1260","-68212940.5","-7.99279238","-7","-2900.29755","-5.6705546E+12759");
4854f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(314,def,"18886653.3","568707476.","587594129","-549820823","1.07409809E+16","0.0332097855","0","18886653.3","");
4855f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(315,def,"-90552818.0","-542.03563E-986606878","-90552818.0","-90552818.0","4.90828538E-986606868","1.67060638E+986606883","","","-1.64244241E-40");
4856f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(316,def,"41501126.1E+791838765","-69.6651675E+204268348","4.15011261E+791838772","4.15011261E+791838772","-2.89118290E+996107122","-5.95722763E+587570422","","","");
4857f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(317,def,"76783193.3E-271488154","3765.01829E-520346003","7.67831933E-271488147","7.67831933E-271488147","2.89090127E-791834146","2.03938434E+248857853","","","");
4858f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(318,def,"4192.9928","987822007E-146560989","4192.99280","4192.99280","4.14193056E-146560977","4.24468454E+146560983","","","1.67973653E+36");
4859f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(319,def,"-891845.629","48277955.","47386109.4","-49169800.6","-4.30564831E+13","-0.0184731443","0","-891845.629","-6.32964147E+287267817");
4860f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(320,def,"334.901176","-7609296.55E+447340228","-7.60929655E+447340234","7.60929655E+447340234","-2.54836236E+447340237","-4.40121073E-447340233","0","334.901176","6.31926575E-21");
4861f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(321,def,"4.49868636","-341880896E-447251873","4.49868636","4.49868636","-1.53801492E-447251864","-1.31586363E+447251865","","","0.010983553");
4862f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(322,def,"807615.58","-314286480","-313478865","315094096","-2.53822658E+14","-0.00256967968","0","807615.58","");
4863f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(323,def,"-37.7457954","53277.8129E-859225538","-37.7457954","-37.7457954","-2.01101343E-859225532","-7.08471188E+859225534","","","-76620134.1");
4864f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(324,def,"-28671081.","98.8819623","-28670982.1","-28671179.9","-2.83505275E+9","-289952.589","-289952","-58.2671904","-1.93625566E+738");
4865f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(325,def,"-89752.2106E-469496896","99.9879961","99.9879961","-99.9879961","-8.97414368E-469496890","-8.97629857E-469496894","0","-8.97522106E-469496892","");
4866f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(326,def,"-497983567E-13538052","39.4578742","39.4578742","-39.4578742","-1.96493729E-13538042","-1.26206385E-13538045","0","-4.97983567E-13538044","-1.55376543E-527983689");
4867f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(327,def,"845739221E-654202565","-33313.1551","-33313.1551","33313.1551","-2.81742418E-654202552","-2.53875449E-654202561","0","8.45739221E-654202557","");
4868f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(328,def,"742.332067E+537827843","-4532.70023E-855387414","7.42332067E+537827845","7.42332067E+537827845","-3.36476873E-317559565","","","","");
4869f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(329,def,"-893.48654","670389960","670389067","-670390853","-5.98984406E+11","-0.00000133278628","0","-893.48654","");
4870f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(330,def,"1.37697162","-915.737474E-351578724","1.37697162","1.37697162","-1.26094451E-351578721","-1.50367508E+351578721","","","0.0561920784");
4871f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(331,def,"-65.2839808E+550288403","-121389.306","-6.52839808E+550288404","-6.52839808E+550288404","7.92477712E+550288409","5.37806689E+550288399","","","");
4872f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(332,def,"-30346603.E+346067390","792661.544","-3.03466030E+346067397","-3.03466030E+346067397","-2.40545852E+346067403","-3.82844396E+346067391","","","");
4873f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(333,def,"-61170.7065","-453731131.","-453792302","453669960","2.77550538E+13","0.000134817081","0","-61170.7065","");
4874f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(334,def,"6569.51133","13.8706351E+399434914","1.38706351E+399434915","-1.38706351E+399434915","9.11232944E+399434918","4.73627291E-399434912","0","6569.51133","6569.51133");
4875f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(335,def,"300703925.","-3156736.8","297547188","303860662","-9.49243146E+14","-95.2578387","-95","813929.0","4.18609114E-26763256");
4876f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(336,def,"192138216E+353011592","-473.080633","1.92138216E+353011600","1.92138216E+353011600","-9.08968688E+353011602","-4.06142637E+353011597","","","");
4877f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(337,def,"8607.64794","-34740.3367","-26132.6888","43347.9846","-299032588","-0.247770999","0","8607.64794","1.29604519E-136698");
4878f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(338,def,"-67913.8241","-93815.4229","-161729.247","25901.5988","6.37136413E+9","0.723908948","0","-67913.8241","-6.96355203E-453311");
4879f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(339,def,"34.5559455","-998799398.","-998799364","998799433","-3.45144576E+10","-3.45974833E-8","0","34.5559455","");
4880f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(340,def,"387995.328","990199543.E-124623607","387995.328","387995.328","3.84192796E-124623593","3.91835495E+124623603","","","7.73152138E+55");
4881f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(341,def,"-471.09166E-83521919","-441222368","-441222368","441222368","2.07856178E-83521908","1.06769669E-83521925","0","-4.7109166E-83521917","");
4882f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(342,def,"-97834.3858","70779789.8E+502166065","7.07797898E+502166072","-7.07797898E+502166072","-6.92469726E+502166077","-1.38223617E-502166068","0","-97834.3858","-8.57907886E+34");
4883f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(343,def,"7732331.06","-952719.482E+115325505","-9.52719482E+115325510","9.52719482E+115325510","-7.36674244E+115325517","-8.11606271E-115325505","0","7732331.06","1.30886724E-69");
4884f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(344,def,"23.2745547","2.23194245E-221062592","23.2745547","23.2745547","5.19474666E-221062591","1.04279368E+221062593","","","541.704896");
4885f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(345,def,"671.083363E-218324205","-787150031","-787150031","787150031","-5.28243290E-218324194","-8.52548227E-218324212","0","6.71083363E-218324203","");
4886f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(346,def,"365167.80","-80263.6516","284904.148","445431.452","-2.93097011E+10","-4.54960362","-4","44113.1936","1.27052227E-446468");
4887f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(347,def,"-1.43297604E-65129780","56.598733E-135581942","-1.43297604E-65129780","-1.43297604E-65129780","-8.11046283E-200711721","-2.53181646E+70452160","","","8.65831881E-390778680");
4888f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(348,def,"416998859.","260.220323E-349285593","416998859","416998859","1.08511578E-349285582","1.60248383E+349285599","","","7.25111178E+25");
4889f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(349,def,"7267.17611E+862630607","4021.56861","7.26717611E+862630610","7.26717611E+862630610","2.92254473E+862630614","1.80705014E+862630607","","","");
4890f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(350,def,"12.2142434E+593908740","5.27236571E-396050748","1.22142434E+593908741","1.22142434E+593908741","6.43979581E+197857993","2.3166533E+989959488","","","");
4891f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(351,def,"-28.591932","-1.79153238E-817064576","-28.5919320","-28.5919320","5.12233720E-817064575","1.59594838E+817064577","","","0.00122324372");
4892f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(352,def,"590.849666","753424.306E+277232744","7.53424306E+277232749","-7.53424306E+277232749","4.45160500E+277232752","7.84219014E-277232748","0","590.849666","1.48530607E+22");
4893f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(353,def,"1.7270628","-1325026.67","-1325024.94","1325028.40","-2288404.27","-0.00000130341739","0","1.7270628","2.09260036E-314440");
4894f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(354,def,"33402118.","-5534.83745","33396583.2","33407652.8","-1.84875294E+11","-6034.8869","-6034","4908.82670","8.14473913E-41645");
4895f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(355,def,"-439842.506","-775110.807","-1214953.31","335268.301","3.40926680E+11","0.567457584","0","-439842.506","-1.84678472E-4374182");
4896f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(356,def,"-248664.779","-440890.44E+666433944","-4.40890440E+666433949","4.40890440E+666433949","1.09633924E+666433955","5.64005831E-666433945","0","-248664.779","2.61542877E-22");
4897f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(357,def,"-14161.9142","8306.49493","-5855.4193","-22468.4091","-117635869","-1.70492059","-1","-5855.41927","1.65573372E+34479");
4898f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(358,def,"-6417227.13","16679.8842","-6400547.25","-6433907.01","-1.07038605E+11","-384.728518","-384","-12151.5972","3.58767978E+113546");
4899f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(359,def,"514825024.","-25.0446345E-103809457","514825024","514825024","-1.28936046E-103809447","-2.05563002E+103809464","","","7.32860062E-27");
4900f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(360,def,"525948196","219450390","745398586","306497806","1.15419537E+17","2.39666102","2","87047416","");
4901f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(361,def,"-638509.181","45580189.0E+269212559","4.55801890E+269212566","-4.55801890E+269212566","-2.91033691E+269212572","-1.40084803E-269212561","0","-638509.181","-1.06129405E+29");
4902f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(362,def,"330590422","74.359928E+535377965","7.43599280E+535377966","-7.43599280E+535377966","2.45826800E+535377975","4.44581418E-535377959","0","330590422","4.31550742E+59");
4903f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(363,def,"-3.48593871E-940579904","-20265.9640E-322988987","-2.02659640E-322988983","2.02659640E-322988983","","1.72009519E-617590921","0","-3.48593871E-940579904","");
4904f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(364,def,"-328103480.","-721.949371E-923938665","-328103480","-328103480","2.36874101E-923938654","4.54468822E+923938670","","","-2.4430038E-60");
4905f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(365,def,"-1857.01448","19081578.1","19079721.1","-19083435.1","-3.54347668E+10","-0.0000973197537","0","-1857.01448","8.44397087E+62374153");
4906f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(366,def,"347.28720E+145930771","-62821.9906E-676564106","3.47287200E+145930773","3.47287200E+145930773","-2.18172732E-530633328","-5.52811518E+822494874","","","5.69990135E-875584642");
4907f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(367,def,"-643.211399E+441807003","-50733419.2","-6.43211399E+441807005","-6.43211399E+441807005","3.26323135E+441807013","1.26782584E+441806998","","","");
4908f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(368,def,"-53991661.4E-843339554","20718.7346","20718.7346","-20718.7346","-1.11863890E-843339542","-2.60593431E-843339551","0","-5.39916614E-843339547","");
4909f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(369,def,"-900181424","-105763982.","-1.00594541E+9","-794417442","9.52067719E+16","8.51122856","8","-54069568","1.32627061E-947045602");
4910f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(370,def,"94218.7462E+563233951","19262.6382E+765263890","1.92626382E+765263894","-1.92626382E+765263894","","4.89126906E-202029939","0","9.42187462E+563233955","");
4911f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(371,def,"28549.271E+921331828","-2150590.40","2.85492710E+921331832","2.85492710E+921331832","-6.13977881E+921331838","-1.32750853E+921331826","","","");
4912f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(372,def,"810.7080E+779625763","5957.94044","8.10708000E+779625765","8.10708000E+779625765","4.83014998E+779625769","1.36071854E+779625762","","","");
4913f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(373,def,"-23.7357549E+77116908","351.100649E+864348022","3.51100649E+864348024","-3.51100649E+864348024","-8.33363895E+941464933","-6.7603848E-787231116","0","-2.37357549E+77116909","3.17403853E+308467637");
4914f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(374,def,"40216102.2E+292724544","661.025962","4.02161022E+292724551","4.02161022E+292724551","2.65838876E+292724554","6.08389148E+292724548","","","");
4915f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(375,def,"22785024.3E+783719168","399.505989E+137478666","2.27850243E+783719175","2.27850243E+783719175","9.10275367E+921197843","5.70329981E+646240506","","","");
4916f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(376,def,"515.591819E+821371364","-692137914.E-149498690","5.15591819E+821371366","5.15591819E+821371366","-3.56860646E+671872685","-7.44926421E+970870047","","","");
4917f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(377,def,"-536883072E+477911251","624996.301","-5.36883072E+477911259","-5.36883072E+477911259","-3.35549934E+477911265","-8.59017999E+477911253","","","");
4918f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(378,def,"-399492.914E-334369192","5202119.87E+442442258","5.20211987E+442442264","-5.20211987E+442442264","-2.07821003E+108073078","-7.67942539E-776811452","0","-3.99492914E-334369187","");
4919f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(379,def,"762.071184","9851631.37","9852393.44","-9850869.30","7.50764438E+9","0.0000773548213","0","762.071184","4.02198436E+28392356");
4920f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(380,def,"5626.12471","72989818.3","72995444.4","-72984192.2","4.10649820E+11","0.0000770809524","0","5626.12471","1.79814757E+273727098");
4921f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(381,def,"-47207260.1","-2073.3152","-47209333.4","-47205186.8","9.78755299E+10","22768.9741","22768","-2019.6264","-6.02238319E-15909");
4922f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(382,def,"207.740860","-51.0390090","156.701851","258.779869","-10602.8876","-4.07023694","-4","3.5848240","6.40297515E-119");
4923f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(383,def,"-572.812464E-745934021","-182805872.E+604508681","-1.82805872E+604508689","1.82805872E+604508689","1.04713482E-141425329","","0","-5.72812464E-745934019","");
4924f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(384,def,"-6418504E+3531407","8459416.1","-6.41850400E+3531413","-6.41850400E+3531413","-5.42967961E+3531420","-7.58740784E+3531406","","","");
4925f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(385,def,"280689.531","-128212543","-127931854","128493233","-3.59879186E+13","-0.00218925173","0","280689.531","1.42173809E-698530938");
4926f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(386,def,"15.803551E-783422793","239108038E-489186308","2.39108038E-489186300","-2.39108038E-489186300","","6.60937672E-294236493","0","1.5803551E-783422792","");
4927f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(387,def,"26.515922","-9418242.96E-105481628","26.5159220","26.5159220","-2.49733396E-105481620","-2.81537885E+105481622","","","1.54326108E-13");
4928f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(388,def,"-88.1094557","-54029934.1","-54030022.2","54029846.0","4.76054809E+9","0.0000016307526","0","-88.1094557","5.05289826E-105089439");
4929f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(389,def,"6770.68602E-498420397","-6.11248908E-729616908","6.77068602E-498420394","6.77068602E-498420394","","-1.10768067E+231196514","","","");
4930f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(390,def,"-892973818.E-781904441","555201299.","555201299","-555201299","-4.95780224E-781904424","-1.60837847E-781904441","0","-8.92973818E-781904433","");
4931f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(391,def,"670175802E+135430680","27355195.4","6.70175802E+135430688","6.70175802E+135430688","1.83327900E+135430696","2.44990318E+135430681","","","");
4932f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(392,def,"-440950.26","205.477469E-677345561","-440950.260","-440950.260","-9.06053434E-677345554","-2.14597864E+677345564","","","1.94437132E+11");
4933f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(393,def,"-8.2335779","573665010E+742722075","5.73665010E+742722083","-5.73665010E+742722083","-4.72331555E+742722084","-1.43525886E-742722083","0","-8.2335779","311552.753");
4934f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(394,def,"452943.863","7022.23629","459966.099","445921.627","3.18067883E+9","64.5013703","64","3520.74044","5.54158976E+39716");
4935f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(395,def,"62874.1079","-52719654.1","-52656780.0","52782528.2","-3.31470122E+12","-0.0011926123","0","62874.1079","1.18819936E-252973775");
4936f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(396,def,"-7428.41741E+609772037","-46024819.3","-7.42841741E+609772040","-7.42841741E+609772040","3.41891569E+609772048","1.61400251E+609772033","","","");
4937f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(397,def,"2.27959297","41937.019","41939.2986","-41934.7394","95599.3337","0.0000543575348","0","2.27959297","2.89712423E+15007");
4938f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(398,def,"508692408E-671967782","8491989.20","8491989.20","-8491989.20","4.31981043E-671967767","5.99026207E-671967781","0","5.08692408E-671967774","");
4939f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(399,def,"940.533705E-379310421","-4.01176961E+464620037","-4.01176961E+464620037","4.01176961E+464620037","-3.77320453E+85309619","-2.34443599E-843930456","0","9.40533705E-379310419","");
4940f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(400,def,"97.0649652","-92.4485649E-151989098","97.0649652","97.0649652","-8.97351673E-151989095","-1.0499348E+151989098","","","1.30748728E-18");
4941f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(401,def,"297544.536E+360279473","8.80275007","2.97544536E+360279478","2.97544536E+360279478","2.61921019E+360279479","3.38013159E+360279477","","","");
4942f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(402,def,"-28861028.","82818.820E+138368758","8.28188200E+138368762","-8.28188200E+138368762","-2.39023628E+138368770","-3.48483932E-138368756","0","-28861028","4.81387013E+59");
4943f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(403,def,"36.2496238E+68828039","49243.00","3.62496238E+68828040","3.62496238E+68828040","1.78504022E+68828045","7.36137599E+68828035","","","");
4944f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(404,def,"22.447828E-476014683","-56067.5520","-56067.5520","56067.5520","-1.25859476E-476014677","-4.00371109E-476014687","0","2.2447828E-476014682","");
4945f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(405,def,"282688.791E+75011952","5.99789051","2.82688791E+75011957","2.82688791E+75011957","1.69553642E+75011958","4.7131369E+75011956","","","5.10330507E+450071744");
4946f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(406,def,"-981.860310E-737387002","-994046289","-994046289","994046289","9.76014597E-737386991","9.87741035E-737387009","0","-9.81860310E-737387000","");
4947f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(407,def,"-702.91210","-6444903.55","-6445606.46","6444200.64","4.53020069E+9","0.000109064797","0","-702.91210","1.70866703E-18348004");
4948f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(408,def,"972456720E-17536823","16371.2590","16371.2590","-16371.2590","1.59203408E-17536810","5.94002404E-17536819","0","9.72456720E-17536815","");
4949f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(409,def,"71471.2045","-74303278.4","-74231807.2","74374749.6","-5.31054481E+12","-0.00096188494","0","71471.2045","2.14535374E-360677853");
4950f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(410,def,"643.103951E+439708441","788251925.","6.43103951E+439708443","6.43103951E+439708443","5.06927927E+439708452","8.15860933E+439708434","","","");
4951f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(411,def,"4.30838663","-7.43110827","-3.12272164","11.7394949","-32.0160875","-0.579777131","0","4.30838663","0.0000362908645");
4952f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(412,def,"823.678025","-513.581840E-324453141","823.678025","823.678025","-4.23026076E-324453136","-1.60379118E+324453141","","","2.63762228E-15");
4953f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(413,def,"4461.81162","3.22081680","4465.03244","4458.59080","14370.6778","1385.30438","1385","0.98035200","8.8824688E+10");
4954f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(414,def,"-4458527.10","-99072605","-103531132","94614077.9","4.41717894E+14","0.0450026231","0","-4458527.10","-6.23928099E-658752715");
4955f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(415,def,"-577964618","487424368.","-90540250","-1.06538899E+9","-2.81714039E+17","-1.18575241","-1","-90540250","");
4956f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(416,def,"-867.036184","-57.1768608","-924.213045","-809.859323","49574.4072","15.1641096","15","-9.3832720","-3.40312837E-168");
4957f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(417,def,"771871921E-330504770","5.34285236","5.34285236","-5.34285236","4.12399771E-330504761","1.44468136E-330504762","0","7.71871921E-330504762","");
4958f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(418,def,"-338683.062E-728777518","166441931","166441931","-166441931","-5.63710628E-728777505","-2.03484218E-728777521","0","-3.38683062E-728777513","");
4959f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(419,def,"-512568743","-416376887.E-965945295","-512568743","-512568743","2.13421778E-965945278","1.23102112E+965945295","","","1.44874358E-35");
4960f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(420,def,"7447181.99","5318438.52","12765620.5","2128743.47","3.96073796E+13","1.40025723","1","2128743.47","1.21634782E+36548270");
4961f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(421,def,"54789.8207","93165435.2","93220225.0","-93110645.4","5.10451749E+12","0.000588091716","0","54789.8207","3.80769825E+441483035");
4962f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(422,def,"41488.5960","146.797094","41635.3931","41341.7989","6090405.33","282.625459","282","91.815492","6.84738153E+678");
4963f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(423,def,"785741.663E+56754529","-461.531732","7.85741663E+56754534","7.85741663E+56754534","-3.62644711E+56754537","-1.70246509E+56754532","","","");
4964f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(424,def,"-4.95436786","-3132.4233","-3137.37767","3127.46893","15519.1773","0.0015816406","0","-4.95436786","1.98062422E-2177");
4965f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(425,def,"77321.8478E+404626874","82.4797688","7.73218478E+404626878","7.73218478E+404626878","6.37748813E+404626880","9.3746441E+404626876","","","");
4966f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(426,def,"-7.99307725","-29153.7273","-29161.7204","29145.7342","233027.994","0.000274169994","0","-7.99307725","1.88688028E-26318");
4967f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(427,def,"-61.6337401E+474999517","5254.87092","-6.16337401E+474999518","-6.16337401E+474999518","-3.23877349E+474999522","-1.1728878E+474999515","","","");
4968f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(428,def,"-16.4043088","35.0064812","18.6021724","-51.4107900","-574.257128","-0.468607762","0","-16.4043088","-3.33831843E+42");
4969f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(429,def,"-8.41156520","-56508958.9","-56508967.3","56508950.5","475328792","1.48853657E-7","0","-8.41156520","-8.86365458E-52263827");
4970f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(430,def,"-360165.79E+503559835","-196688.515","-3.60165790E+503559840","-3.60165790E+503559840","7.08404744E+503559845","1.83114805E+503559835","","","");
4971f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(431,def,"-653236480.E+565648495","-930.445274","-6.53236480E+565648503","-6.53236480E+565648503","6.07800796E+565648506","7.02068674E+565648500","","","");
4972f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(432,def,"-3.73342903","855.029289","851.295860","-858.762718","-3192.19117","-0.00436643408","0","-3.73342903","-1.41988961E+489");
4973f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(433,def,"-5.14890532E+562048011","10847127.8E-390918910","-5.14890532E+562048011","-5.14890532E+562048011","-5.58508340E+171129108","-4.74679142E+952966914","","","-5.14890532E+562048011");
4974f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(434,def,"653311907","-810.036965E+744537823","-8.10036965E+744537825","8.10036965E+744537825","-5.29206794E+744537834","-8.06521104E-744537818","0","653311907","3.01325171E-71");
4975f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(435,def,"-1.31557907","98.9139300E-579281802","-1.31557907","-1.31557907","-1.30129096E-579281800","-1.33002406E+579281800","","","15.529932");
4976f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(436,def,"-875192389","-72071565.6","-947263955","-803120823","6.30764857E+16","12.1433797","12","-10333601.8","1.25564408E-644471405");
4977f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(437,def,"-72838078.8","-391.398423","-72838470.2","-72837687.4","2.85087092E+10","186097.017","186097","-6.474969","-6.574057E-3075");
4978f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(438,def,"29186560.9","-79.7419988","29186481.2","29186640.6","-2.32739470E+9","-366012.407","-366012","32.4352144","6.10050869E-598");
4979f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(439,def,"-329801660E-730249465","-6489.9256","-6489.92560","6489.92560","2.14038824E-730249453","5.08174793E-730249461","0","-3.29801660E-730249457","");
4980f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(440,def,"91.8429117E+103164883","7131455.16","9.18429117E+103164884","9.18429117E+103164884","6.54973607E+103164891","1.28785654E+103164878","","","");
4981f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(441,def,"3943866.38E+150855113","-31927007.3","3.94386638E+150855119","3.94386638E+150855119","-1.25915851E+150855127","-1.23527594E+150855112","","","");
4982f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(442,def,"-7002.0468E-795962156","-5937891.05","-5937891.05","5937891.05","4.15773910E-795962146","1.17921443E-795962159","0","-7.0020468E-795962153","");
4983f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(443,def,"696504605.","54506.4617","696559111","696450099","3.79640016E+13","12778.386","12778","21037.3974","2.6008532E+481992");
4984f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(444,def,"-5115.76467","690.960979E+815126701","6.90960979E+815126703","-6.90960979E+815126703","-3.53479376E+815126707","-7.4038402E-815126701","0","-5115.76467","-9.17009655E+25");
4985f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(445,def,"-261.279392","-613.079357","-874.358749","351.799965","160185.002","0.426175484","0","-261.279392","-2.06318841E-1482");
4986f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(446,def,"-591407763","-80145822.8","-671553586","-511261940","4.73988618E+16","7.37914644","7","-30387003.4","-2.79334522E-703030105");
4987f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(447,def,"615630407","-69.4661869","615630338","615630476","-4.27654969E+10","-8862303.15","-8862303","10.4375693","3.44283102E-607");
4988f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(448,def,"1078757.50","27402569.0E-713742082","1078757.50","1078757.50","2.95607268E-713742069","3.93670207E+713742080","","","1.25536924E+18");
4989f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(449,def,"-4865.60358E-401116515","66952.5315","66952.5315","-66952.5315","-3.25764477E-401116507","-7.26724363E-401116517","0","-4.86560358E-401116512","");
4990f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(450,def,"-87805.3921E-934896690","-1875.14745","-1875.14745","1875.14745","1.64648057E-934896682","4.68258601E-934896689","0","-8.78053921E-934896686","");
4991f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(451,def,"-232540609.E+602702520","68.0834223","-2.32540609E+602702528","-2.32540609E+602702528","-1.58321605E+602702530","-3.41552468E+602702526","","","");
4992f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(452,def,"-320610803.","-863871235.","-1.18448204E+9","543260432","2.76966450E+17","0.37113263","0","-320610803","");
4993f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(453,def,"-303956364E+278139979","229537.920E+479603725","2.29537920E+479603730","-2.29537920E+479603730","-6.97695116E+757743717","-1.3242098E-201463743","0","-3.03956364E+278139987","9.23894712E+556279974");
4994f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(454,def,"-439.747348","74.9494457E-353117582","-439.747348","-439.747348","-3.29588200E-353117578","-5.86725284E+353117582","","","-3.17996693E+18");
4995f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(455,def,"-89702231.9","1.28993993","-89702230.6","-89702233.2","-115710491","-69539852.1","-69539852","-0.07890964","-89702231.9");
4996f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(456,def,"-5856939.14","-6743375.34","-12600314.5","886436.20","3.94955390E+13","0.868547107","0","-5856939.14","-3.29213248E-45636942");
4997f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(457,def,"733317.669E+100381349","-13832.6792E+174055607","-1.38326792E+174055611","1.38326792E+174055611","-1.01437481E+274436966","-5.30134227E-73674257","0","7.33317669E+100381354","1.36366549E-100381355");
4998f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(458,def,"87.4798787E-80124704","108497.32","108497.320","-108497.320","9.49133239E-80124698","8.06286079E-80124708","0","8.74798787E-80124703","");
4999f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(459,def,"-694562052","310681.319E+549445264","3.10681319E+549445269","-3.10681319E+549445269","-2.15787454E+549445278","-2.23560932E-549445261","0","-694562052","-3.35068155E+26");
5000f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(460,def,"-9744135.85","1797016.04","-7947119.81","-11541151.9","-1.75103684E+13","-5.42239782","-5","-759055.65","3.83848006E+12558883");
5001f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(461,def,"3625.87308","-50.2208536E+658627487","-5.02208536E+658627488","5.02208536E+658627488","-1.82094441E+658627492","-7.21985554E-658627486","0","3625.87308","1.5956477E-18");
5002f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(462,def,"365347.52","-3655414.47","-3290066.95","4020761.99","-1.33549661E+12","-0.099946948","0","365347.52","1.02663257E-20333994");
5003f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(463,def,"-19706333.6E-816923050","-383858032.","-383858032","383858032","7.56443443E-816923035","5.1337557E-816923052","0","-1.97063336E-816923043","");
5004f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(464,def,"-86346.2616","-98.8063785","-86445.0680","-86247.4552","8531561.41","873.893598","873","-88.2931695","-2.05064086E-489");
5005f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(465,def,"-445588.160E-496592215","328.822976","328.822976","-328.822976","-1.46519625E-496592207","-1.35510044E-496592212","0","-4.45588160E-496592210","");
5006f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(466,def,"-9709213.71","-34.6690137","-9709248.38","-9709179.04","336608863","280054.512","280054","-17.7472602","-2.80903974E-245");
5007f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(467,def,"742395536.","-43533.6889","742352002","742439070","-3.23192163E+13","-17053.3569","-17053","15539.1883","5.7622734E-386175");
5008f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(468,def,"-878849193.","-5842982.47E-972537342","-878849193","-878849193","5.13510043E-972537327","1.50411061E+972537344","","","2.17027042E-54");
5009f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(469,def,"-78014142.1","-624658.522","-78638800.6","-77389483.6","4.87321987E+13","124.890863","124","-556485.372","-7.86063865E-4929918");
5010f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(470,def,"857039.371","454.379672","857493.751","856584.991","389421268","1886.17454","1886","79.309608","3.82253101E+2693");
5011f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(471,def,"166534010.","-173.012236","166533837","166534183","-2.88124214E+10","-962556.255","-962556","44.164784","4.78620664E-1423");
5012f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(472,def,"-810.879063","43776.610","42965.7309","-44587.4891","-35497536.5","-0.0185231123","0","-810.879063","-2.34758691E+127345");
5013f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(473,def,"-327.127935","93458944","93458616.9","-93459271.1","-3.05730314E+10","-0.00000350023145","0","-327.127935","2.29323021E+235022854");
5014f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(474,def,"539295218.","-9587941.10E-309643098","539295218","539295218","-5.17073079E-309643083","-5.62472394E+309643099","","","4.80545269E-88");
5015f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(475,def,"-3862702.65","879616.733","-2983085.92","-4742319.38","-3.39769789E+12","-4.3913474","-4","-344235.718","-3.50650167E+5793941");
5016f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(476,def,"-8.25290500","992.091584E+256070257","9.92091584E+256070259","-9.92091584E+256070259","-8.18763759E+256070260","-8.31869268E-256070260","0","-8.25290500","1.46577888E+9");
5017f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(477,def,"546875205.","447.52857E+557357101","4.47528570E+557357103","-4.47528570E+557357103","2.44742278E+557357112","1.22198948E-557357095","0","546875205","8.94443542E+34");
5018f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(478,def,"177623437","-7779116.14","169844321","185402553","-1.38175335E+15","-22.83337","-22","6482881.92","2.90085309E-64173820");
5019f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(479,def,"377204735.","13768.1401","377218503","377190967","5.19340764E+12","27396.9274","27396","12768.8204","2.06065297E+118082");
5020f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(480,def,"-2435.49239","-11732.0640E-23331504","-2435.49239","-2435.49239","2.85733526E-23331497","2.07592832E+23331503","","","-0.00041059459");
5021f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(481,def,"-6128465.14E-137123294","-5742264.27","-5742264.27","5742264.27","3.51912664E-137123281","1.06725585E-137123294","0","-6.12846514E-137123288","");
5022f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(482,def,"-2898065.44","-5.11638105","-2898070.56","-2898060.32","14827607.1","566428.773","566428","-3.95461060","-4.89169151E-33");
5023f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(483,def,"1851395.31E+594383160","-550301.475","1.85139531E+594383166","1.85139531E+594383166","-1.01882557E+594383172","-3.36432918E+594383160","","","");
5024f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(484,def,"536412589.E+379583977","899.601161","5.36412589E+379583985","5.36412589E+379583985","4.82557388E+379583988","5.96278231E+379583982","","","");
5025f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(485,def,"185.85297","867419480.","867419666","-867419294","1.61212487E+11","2.14259622E-7","0","185.85297","");
5026f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(486,def,"-5.26631053","-3815941.35E+183291763","-3.81594135E+183291769","3.81594135E+183291769","2.00959321E+183291770","1.38008162E-183291769","0","-5.26631053","0.00130009218");
5027f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(487,def,"-8.11587021E-245942806","4553.06753E+943412048","4.55306753E+943412051","-4.55306753E+943412051","-3.69521051E+697469246","","0","-8.11587021E-245942806","");
5028f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(488,def,"-405765.352","854963231","854557466","-855368996","-3.46914456E+14","-0.000474599769","0","-405765.352","");
5029f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(489,def,"-159.609757","-43356.7567","-43516.3665","43197.1470","6920161.40","0.00368131219","0","-159.609757","-8.95397849E-95519");
5030f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(490,def,"-564240.241E-501316672","-557.781977","-557.781977","557.781977","3.14723037E-501316664","1.01157847E-501316669","0","-5.64240241E-501316667","");
5031f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(491,def,"318847.270","582107878.E+399633412","5.82107878E+399633420","-5.82107878E+399633420","1.85603508E+399633426","5.47746014E-399633416","0","318847.270","1.0507423E+33");
5032f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(492,def,"-4426.59663","95.1096765","-4331.48695","-4521.70631","-421012.173","-46.5420217","-46","-51.5515110","-2.38037379E+346");
5033f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(493,def,"6037.28310","578264.105","584301.388","-572226.822","3.49114411E+9","0.010440356","0","6037.28310","3.57279483E+2186324");
5034f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(494,def,"-66.9556692","-53.8519404","-120.807610","-13.1037288","3605.69271","1.24332881","1","-13.1037288","2.55554086E-99");
5035f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(495,def,"-92486.0222","-59935.8544","-152421.877","-32550.1678","5.54322876E+9","1.5430834","1","-32550.1678","1.83152656E-297647");
5036f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(496,def,"852136219.E+917787351","9246221.91","8.52136219E+917787359","8.52136219E+917787359","7.87904058E+917787366","9.21604767E+917787352","","","");
5037f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(497,def,"-2120096.16E-269253718","9437.00514","9437.00514","-9437.00514","-2.00073584E-269253708","-2.24657731E-269253716","0","-2.12009616E-269253712","");
5038f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(498,def,"-524653.169E-865784226","228054.698","228054.698","-228054.698","-1.19649620E-865784215","-2.30055848E-865784226","0","-5.24653169E-865784221","");
5039f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(499,def,"-288193133","-312268737.","-600461870","24075604","8.99937057E+16","0.922901011","0","-288193133","");
5040f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtest(500,def,"-373484759E-113589964","844101958E-852538240","-3.73484759E-113589956","-3.73484759E-113589956","-3.15259216E-966128187","-4.42464036E+738948275","","","3.78602147E-908719644");
5041f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
5042f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5043f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* mathtest -- general arithmetic test routine
5044f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     Arg1  is test number
5045f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     Arg2  is MathContext
5046f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     Arg3  is left hand side (LHS)
5047f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     Arg4  is right hand side (RHS)
5048f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     Arg5  is the expected result for add
5049f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     Arg6  is the expected result for subtract
5050f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     Arg7  is the expected result for multiply
5051f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     Arg8  is the expected result for divide
5052f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     Arg9  is the expected result for integerDivide
5053f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     Arg10 is the expected result for remainder
5054f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     Arg11 is the expected result for power
5055f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5056f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     For power RHS, 0 is added to the number, any exponent is removed and
5057f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     the number is then rounded to an integer, using format(rhs+0,,0)
5058f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5059f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     If an error should result for an operation, the 'expected result' is
5060f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     an empty string.
5061f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     */
5062f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5063f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private void mathtest(int test, android.icu.math.MathContext mc,
5064f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            java.lang.String slhs, java.lang.String srhs, java.lang.String add,
5065f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            java.lang.String sub, java.lang.String mul, java.lang.String div,
5066f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            java.lang.String idv, java.lang.String rem, java.lang.String pow) {
5067f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal lhs;
5068f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        android.icu.math.BigDecimal rhs;
5069f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.String res = null;
5070f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.String sn = null;
5071f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        int e = 0;
5072f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5073f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        lhs = new android.icu.math.BigDecimal(slhs);
5074f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        rhs = new android.icu.math.BigDecimal(srhs);
5075f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5076f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
5077f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            res = lhs.add(rhs, mc).toString();
5078f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $137) {
5079f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            res = "";
5080f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
5081f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtestcheck(test, lhs, rhs, "add", res, add);
5082f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5083f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
5084f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            res = lhs.subtract(rhs, mc).toString();
5085f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $138) {
5086f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            res = "";
5087f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
5088f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtestcheck(test, lhs, rhs, "sub", res, sub);
5089f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5090f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
5091f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            res = lhs.multiply(rhs, mc).toString();
5092f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $139) {
5093f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            res = "";
5094f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
5095f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtestcheck(test, lhs, rhs, "mul", res, mul);
5096f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5097f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
5098f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            res = lhs.divide(rhs, mc).toString();
5099f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $140) {
5100f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            res = "";
5101f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
5102f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtestcheck(test, lhs, rhs, "div", res, div);
5103f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5104f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
5105f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            res = lhs.divideInteger(rhs, mc).toString();
5106f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $141) {
5107f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            res = "";
5108f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
5109f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtestcheck(test, lhs, rhs, "idv", res, idv);
5110f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5111f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
5112f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            res = lhs.remainder(rhs, mc).toString();
5113f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $142) {
5114f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            res = "";
5115f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
5116f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtestcheck(test, lhs, rhs, "rem", res, rem);
5117f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5118f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        try {
5119f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            // prepare an integer from the rhs
5120f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            // in Rexx:
5121f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            //   n=rhs+0
5122f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            //   e=pos('E', n)
5123f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            //   if e>0 then n=left(n,e-1)
5124f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            //   n=format(n,,0)
5125f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5126f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            sn = rhs.plus(mc).toString();
5127f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            e = sn.indexOf("E", 0);
5128f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            if (e > 0)
5129f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                sn = sn.substring(0, e);
5130f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            sn = (new android.icu.math.BigDecimal(sn)).format(-1, 0);
5131f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5132f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            res = lhs.pow(new android.icu.math.BigDecimal(sn), mc).toString();
5133f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        } catch (java.lang.ArithmeticException $143) {
5134f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            res = "";
5135f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        }
5136f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        mathtestcheck(test, lhs, rhs, "pow", res, pow);
5137f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        return;
5138f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
5139f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5140f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* mathtestcheck -- check for general mathtest error
5141f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     Arg1  is test number
5142f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     Arg2  is left hand side (LHS)
5143f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     Arg3  is right hand side (RHS)
5144f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     Arg4  is the operation
5145f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     Arg5  is the actual result
5146f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     Arg6  is the expected result
5147f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     Show error message if a problem, otherwise return quietly
5148f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert     */
5149f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5150f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private void mathtestcheck(int test, android.icu.math.BigDecimal lhs,
5151f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            android.icu.math.BigDecimal rhs, java.lang.String op,
5152f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            java.lang.String got, java.lang.String want) {
5153f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        boolean flag;
5154f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        java.lang.String testnum;
5155f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5156f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        flag = want.equals(got);
5157f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5158f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        if ((!flag))
5159f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            say(">" + test + ">" + " " + lhs.toString() + " " + op + " "
5160f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + rhs.toString() + " " + "=" + " " + want + " " + "[got"
5161f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                    + " " + got + "]");
5162f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5163f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        testnum = "gen"
5164f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                + right((new android.icu.math.BigDecimal(test + 1000))
5165f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                        .toString(), 3);
5166f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5167f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        TestFmwk.assertTrue(testnum, flag);
5168f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        return;
5169f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
5170f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5171f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ------------------------------------------------------------------ */
5172f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* Support routines and minor classes follow                          */
5173f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ------------------------------------------------------------------ */
5174f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5175f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
5176f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* Method called to summarise pending tests                          */
5177f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
5178f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* Arg1 is section name */
5179f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5180f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//    private void summary(java.lang.String section) {
5181f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        int bad;
5182f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        int count;
5183f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        int i = 0;
5184f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        Test item = null;
5185f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        bad = 0;
5186f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        count = Tests.size();
5187f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        {
5188f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//            int $144 = count;
5189f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//            i = 0;
5190f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//            for (; $144 > 0; $144--, i++) {
5191f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//                item = (Test) (Tests.get(i));
5192f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//                if ((!item.ok))
5193f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//                {
5194f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//                    bad++;
5195f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//                    errln("Failed:" + " " + item.name);
5196f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//                }
5197f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//            }
5198f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        }/*i*/
5199f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        totalcount = totalcount + count;
5200f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        Tests = new java.util.ArrayList(100); // reinitialize
5201f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        if (bad == 0)
5202f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//            say("OK" + " " + left(section, 14) + " "
5203f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//                    + right("[" + count + " " + "tests]", 12));
5204f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//        else
5205f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//            throw new DiagException(section + " " + "[failed" + " " + bad + " "
5206f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//                    + "of" + " " + count + " " + "tests]", bad);
5207f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert//    }
5208f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5209f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
5210f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* right - Utility to do a 'right' on a Java String                  */
5211f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
5212f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* Arg1 is string to right-justify */
5213f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* Arg2 is desired length */
5214f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5215f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private static java.lang.String right(java.lang.String s, int len) {
5216f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        int slen;
5217f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        slen = s.length();
5218f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        if (slen == len)
5219f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            return s; // length just right
5220f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        if (slen > len)
5221f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            return s.substring(slen - len); // truncate on left
5222f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        // too short
5223f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        return (new java.lang.String(new char[len - slen]))
5224f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert                .replace('\000', ' ').concat(s);
5225f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
5226f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5227f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
5228f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* say - Utility to do a display                                     */
5229f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* ----------------------------------------------------------------- */
5230f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /* Arg1 is string to display, omitted if none */
5231f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    /*         [null or omitted gives blank line] */
5232f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    // this version doesn't heed continuation final character
5233f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    private void say(java.lang.String s) {
5234f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        if (s == null)
5235f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert            s = "  ";
5236f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert        logln(s);
5237f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    }
5238f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
5239f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert}
5240