Пример #1
0
public virtual global::System.Object stripTrailingZeros(){
//XMLVM_BEGIN_WRAPPER[java.math.BigDecimal: java.math.BigDecimal stripTrailingZeros()]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    global::org.xmlvm._nElement _r3;
    global::System.Object _r3_o = null;
    global::org.xmlvm._nElement _r4;
    global::System.Object _r4_o = null;
    global::org.xmlvm._nElement _r5;
    global::System.Object _r5_o = null;
    global::org.xmlvm._nElement _r6;
    global::System.Object _r6_o = null;
    global::org.xmlvm._nElement _r8;
    global::org.xmlvm._nElement _r9;
    global::org.xmlvm._nElement _r10;
    global::System.Object _r10_o = null;
    global::org.xmlvm._nElement _r11;
    global::System.Object _r13_o = null;
    _r13_o = this;
    _r9.i = 0;
    _r8.i = 1;
    _r0_o = global::java.math.BigDecimal._fTEN_1POW;
    _r0.i = ((global::org.xmlvm._nIArray) _r0_o).Length;
    _r0.i = _r0.i - _r8.i;
    _r1.i = ((global::java.math.BigDecimal) _r13_o)._fscale;
    _r1.l = (long) _r1.i;
    _r3.i = ((global::java.math.BigDecimal) _r13_o).isZero() ? 1 : 0;
    if (_r3.i == 0) goto label23;
    _r0_o = new global::java.math.BigDecimal();
    // Value=0
    _r1_o = new global::java.lang.String();
    ((global::java.lang.String)_r1_o).@this(new global::org.xmlvm._nArrayAdapter<char>(new char[] {unchecked((char) unchecked((uint)48))}));
    ((global::java.math.BigDecimal) _r0_o).@this((global::java.lang.String) _r1_o);
    label22:;
    return (global::java.math.BigDecimal) _r0_o;
    label23:;
    _r3_o = ((global::java.math.BigDecimal) _r13_o).getUnscaledValue();
    _r4.i = _r8.i;
    _r10.l = _r1.l;
    _r1_o = _r3_o;
    _r2.l = _r10.l;
    label31:;
    _r5.i = ((global::java.math.BigInteger) _r1_o).testBit((int) _r9.i) ? 1 : 0;
    if (_r5.i == 0) goto label47;
    label37:;
    _r0_o = new global::java.math.BigDecimal();
    _r2.i = global::java.math.BigDecimal.toIntScale((long) _r2.l);
    ((global::java.math.BigDecimal) _r0_o).@this((global::java.math.BigInteger) _r1_o, (int) _r2.i);
    goto label22;
    label47:;
    _r5_o = global::java.math.BigDecimal._fTEN_1POW;
    _r5_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r5_o)[_r4.i];
    _r5_o = ((global::java.math.BigInteger) _r1_o).divideAndRemainder((global::java.math.BigInteger) _r5_o);
    _r6_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r5_o)[_r8.i];
    _r6.i = ((global::java.math.BigInteger) _r6_o).signum();
    if (_r6.i != 0) goto label78;
    _r6.l = (long) _r4.i;
    _r1.l = _r2.l - _r6.l;
    if (_r4.i >= _r0.i) goto label82;
    _r3.i = _r4.i + 1;
    label70:;
    _r4_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r5_o)[_r9.i];
    _r10_o = _r4_o;
    _r4.i = _r3.i;
    _r11.l = _r1.l;
    _r2.l = _r11.l;
    _r1_o = _r10_o;
    goto label31;
    label78:;
    if (_r4.i == _r8.i) goto label37;
    _r4.i = _r8.i;
    goto label31;
    label82:;
    _r3.i = _r4.i;
    goto label70;
//XMLVM_END_WRAPPER[java.math.BigDecimal: java.math.BigDecimal stripTrailingZeros()]
}
Пример #2
0
private global::System.Object movePoint(long n1){
//XMLVM_BEGIN_WRAPPER[java.math.BigDecimal: java.math.BigDecimal movePoint(long)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    global::System.Object _r2_o = null;
    global::org.xmlvm._nElement _r3;
    global::org.xmlvm._nElement _r4;
    global::org.xmlvm._nElement _r5;
    global::System.Object _r6_o = null;
    global::org.xmlvm._nElement _r7;
    _r6_o = this;
    _r7.l = n1;
    _r1.l = 0L;
    _r4.i = 64;
    _r5.i = 0;
    _r0.i = ((global::java.math.BigDecimal) _r6_o).isZero() ? 1 : 0;
    if (_r0.i == 0) goto label20;
    _r0.l = global::java.lang.Math.max((long) _r7.l, (long) _r1.l);
    _r0_o = global::java.math.BigDecimal.zeroScaledBy((long) _r0.l);
    label19:;
    return (global::java.math.BigDecimal) _r0_o;
    label20:;
    _r0.i = _r7.l > _r1.l ? 1 : (_r7.l == _r1.l ? 0 : -1);
    if (_r0.i < 0) goto label53;
    _r0.i = ((global::java.math.BigDecimal) _r6_o)._fbitLength;
    if (_r0.i >= _r4.i) goto label39;
    _r0.l = ((global::java.math.BigDecimal) _r6_o)._fsmallValue;
    _r2.i = global::java.math.BigDecimal.toIntScale((long) _r7.l);
    _r0_o = global::java.math.BigDecimal.valueOf((long) _r0.l, (int) _r2.i);
    goto label19;
    label39:;
    _r0_o = new global::java.math.BigDecimal();
    _r1_o = ((global::java.math.BigDecimal) _r6_o).getUnscaledValue();
    _r2.i = global::java.math.BigDecimal.toIntScale((long) _r7.l);
    ((global::java.math.BigDecimal) _r0_o).@this((global::java.math.BigInteger) _r1_o, (int) _r2.i);
    goto label19;
    label53:;
    _r0.l = -_r7.l;
    _r2_o = global::java.math.BigDecimal._fLONG_1TEN_1POW;
    _r2.i = ((global::org.xmlvm._nIArray) _r2_o).Length;
    _r2.l = (long) _r2.i;
    _r0.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
    if (_r0.i >= 0) goto label87;
    _r0.i = ((global::java.math.BigDecimal) _r6_o)._fbitLength;
    _r1_o = global::java.math.BigDecimal._fLONG_1TEN_1POW_1BIT_1LENGTH;
    _r2.l = -_r7.l;
    _r2.i = (int) _r2.l;
    _r1.i = ((global::org.xmlvm._nArrayAdapter<int>) _r1_o)[_r2.i];
    _r0.i = _r0.i + _r1.i;
    if (_r0.i >= _r4.i) goto label87;
    _r0.l = ((global::java.math.BigDecimal) _r6_o)._fsmallValue;
    _r2_o = global::java.math.BigDecimal._fLONG_1TEN_1POW;
    _r3.l = -_r7.l;
    _r3.i = (int) _r3.l;
    _r2.l = ((global::org.xmlvm._nArrayAdapter<long>) _r2_o)[_r3.i];
    _r0.l = _r0.l * _r2.l;
    _r0_o = global::java.math.BigDecimal.valueOf((long) _r0.l, (int) _r5.i);
    goto label19;
    label87:;
    _r0_o = new global::java.math.BigDecimal();
    _r1_o = ((global::java.math.BigDecimal) _r6_o).getUnscaledValue();
    _r2.l = -_r7.l;
    _r2.i = (int) _r2.l;
    _r2.l = (long) _r2.i;
    _r1_o = global::java.math.Multiplication.multiplyByTenPow((global::java.math.BigInteger) _r1_o, (long) _r2.l);
    ((global::java.math.BigDecimal) _r0_o).@this((global::java.math.BigInteger) _r1_o, (int) _r5.i);
    goto label19;
//XMLVM_END_WRAPPER[java.math.BigDecimal: java.math.BigDecimal movePoint(long)]
}
Пример #3
0
public virtual global::System.Object scaleByPowerOfTen(int n1){
//XMLVM_BEGIN_WRAPPER[java.math.BigDecimal: java.math.BigDecimal scaleByPowerOfTen(int)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r2;
    global::System.Object _r2_o = null;
    global::org.xmlvm._nElement _r3;
    global::System.Object _r3_o = null;
    global::org.xmlvm._nElement _r4;
    global::System.Object _r6_o = null;
    global::org.xmlvm._nElement _r7;
    _r6_o = this;
    _r7.i = n1;
    _r0.i = ((global::java.math.BigDecimal) _r6_o)._fscale;
    _r0.l = (long) _r0.i;
    _r2.l = (long) _r7.i;
    _r0.l = _r0.l - _r2.l;
    _r2.i = ((global::java.math.BigDecimal) _r6_o)._fbitLength;
    _r3.i = 64;
    if (_r2.i >= _r3.i) goto label35;
    _r2.l = ((global::java.math.BigDecimal) _r6_o)._fsmallValue;
    _r4.l = 0L;
    _r2.i = _r2.l > _r4.l ? 1 : (_r2.l == _r4.l ? 0 : -1);
    if (_r2.i != 0) goto label24;
    _r0_o = global::java.math.BigDecimal.zeroScaledBy((long) _r0.l);
    label23:;
    return (global::java.math.BigDecimal) _r0_o;
    label24:;
    _r2.l = ((global::java.math.BigDecimal) _r6_o)._fsmallValue;
    _r0.i = global::java.math.BigDecimal.toIntScale((long) _r0.l);
    _r0_o = global::java.math.BigDecimal.valueOf((long) _r2.l, (int) _r0.i);
    goto label23;
    label35:;
    _r2_o = new global::java.math.BigDecimal();
    _r3_o = ((global::java.math.BigDecimal) _r6_o).getUnscaledValue();
    _r0.i = global::java.math.BigDecimal.toIntScale((long) _r0.l);
    ((global::java.math.BigDecimal) _r2_o).@this((global::java.math.BigInteger) _r3_o, (int) _r0.i);
    _r0_o = _r2_o;
    goto label23;
//XMLVM_END_WRAPPER[java.math.BigDecimal: java.math.BigDecimal scaleByPowerOfTen(int)]
}
Пример #4
0
public virtual global::System.Object add(global::java.math.BigDecimal n1){
//XMLVM_BEGIN_WRAPPER[java.math.BigDecimal: java.math.BigDecimal add(java.math.BigDecimal)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    global::System.Object _r2_o = null;
    global::System.Object _r4_o = null;
    global::System.Object _r5_o = null;
    _r4_o = this;
    _r5_o = n1;
    _r0.i = ((global::java.math.BigDecimal) _r4_o)._fscale;
    _r1.i = ((global::java.math.BigDecimal) _r5_o)._fscale;
    _r0.i = _r0.i - _r1.i;
    _r1.i = ((global::java.math.BigDecimal) _r4_o).isZero() ? 1 : 0;
    if (_r1.i == 0) goto label23;
    if (_r0.i > 0) goto label15;
    _r0_o = _r5_o;
    label14:;
    return (global::java.math.BigDecimal) _r0_o;
    label15:;
    _r1.i = ((global::java.math.BigDecimal) _r5_o).isZero() ? 1 : 0;
    if (_r1.i == 0) goto label33;
    _r0_o = _r4_o;
    goto label14;
    label23:;
    _r1.i = ((global::java.math.BigDecimal) _r5_o).isZero() ? 1 : 0;
    if (_r1.i == 0) goto label33;
    if (_r0.i < 0) goto label33;
    _r0_o = _r4_o;
    goto label14;
    label33:;
    if (_r0.i != 0) goto label81;
    _r0.i = ((global::java.math.BigDecimal) _r4_o)._fbitLength;
    _r1.i = ((global::java.math.BigDecimal) _r5_o)._fbitLength;
    _r0.i = global::java.lang.Math.max((int) _r0.i, (int) _r1.i);
    _r0.i = _r0.i + 1;
    _r1.i = 64;
    if (_r0.i >= _r1.i) goto label61;
    _r0.l = ((global::java.math.BigDecimal) _r4_o)._fsmallValue;
    _r2.l = ((global::java.math.BigDecimal) _r5_o)._fsmallValue;
    _r0.l = _r0.l + _r2.l;
    _r2.i = ((global::java.math.BigDecimal) _r4_o)._fscale;
    _r0_o = global::java.math.BigDecimal.valueOf((long) _r0.l, (int) _r2.i);
    goto label14;
    label61:;
    _r0_o = new global::java.math.BigDecimal();
    _r1_o = ((global::java.math.BigDecimal) _r4_o).getUnscaledValue();
    _r2_o = ((global::java.math.BigDecimal) _r5_o).getUnscaledValue();
    _r1_o = ((global::java.math.BigInteger) _r1_o).add((global::java.math.BigInteger) _r2_o);
    _r2.i = ((global::java.math.BigDecimal) _r4_o)._fscale;
    ((global::java.math.BigDecimal) _r0_o).@this((global::java.math.BigInteger) _r1_o, (int) _r2.i);
    goto label14;
    label81:;
    if (_r0.i <= 0) goto label88;
    _r0_o = global::java.math.BigDecimal.addAndMult10((global::java.math.BigDecimal) _r4_o, (global::java.math.BigDecimal) _r5_o, (int) _r0.i);
    goto label14;
    label88:;
    _r0.i = -_r0.i;
    _r0_o = global::java.math.BigDecimal.addAndMult10((global::java.math.BigDecimal) _r5_o, (global::java.math.BigDecimal) _r4_o, (int) _r0.i);
    goto label14;
//XMLVM_END_WRAPPER[java.math.BigDecimal: java.math.BigDecimal add(java.math.BigDecimal)]
}
Пример #5
0
public virtual global::System.Object subtract(global::java.math.BigDecimal n1){
//XMLVM_BEGIN_WRAPPER[java.math.BigDecimal: java.math.BigDecimal subtract(java.math.BigDecimal)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    global::System.Object _r2_o = null;
    global::org.xmlvm._nElement _r3;
    global::System.Object _r3_o = null;
    global::org.xmlvm._nElement _r4;
    global::org.xmlvm._nElement _r5;
    global::System.Object _r5_o = null;
    global::System.Object _r7_o = null;
    global::System.Object _r8_o = null;
    _r7_o = this;
    _r8_o = n1;
    _r4.i = 64;
    _r0.i = ((global::java.math.BigDecimal) _r7_o)._fscale;
    _r1.i = ((global::java.math.BigDecimal) _r8_o)._fscale;
    _r0.i = _r0.i - _r1.i;
    _r1.i = ((global::java.math.BigDecimal) _r7_o).isZero() ? 1 : 0;
    if (_r1.i == 0) goto label28;
    if (_r0.i > 0) goto label20;
    _r0_o = ((global::java.math.BigDecimal) _r8_o).negate();
    label19:;
    return (global::java.math.BigDecimal) _r0_o;
    label20:;
    _r1.i = ((global::java.math.BigDecimal) _r8_o).isZero() ? 1 : 0;
    if (_r1.i == 0) goto label38;
    _r0_o = _r7_o;
    goto label19;
    label28:;
    _r1.i = ((global::java.math.BigDecimal) _r8_o).isZero() ? 1 : 0;
    if (_r1.i == 0) goto label38;
    if (_r0.i < 0) goto label38;
    _r0_o = _r7_o;
    goto label19;
    label38:;
    if (_r0.i != 0) goto label84;
    _r0.i = ((global::java.math.BigDecimal) _r7_o)._fbitLength;
    _r1.i = ((global::java.math.BigDecimal) _r8_o)._fbitLength;
    _r0.i = global::java.lang.Math.max((int) _r0.i, (int) _r1.i);
    _r0.i = _r0.i + 1;
    if (_r0.i >= _r4.i) goto label64;
    _r0.l = ((global::java.math.BigDecimal) _r7_o)._fsmallValue;
    _r2.l = ((global::java.math.BigDecimal) _r8_o)._fsmallValue;
    _r0.l = _r0.l - _r2.l;
    _r2.i = ((global::java.math.BigDecimal) _r7_o)._fscale;
    _r0_o = global::java.math.BigDecimal.valueOf((long) _r0.l, (int) _r2.i);
    goto label19;
    label64:;
    _r0_o = new global::java.math.BigDecimal();
    _r1_o = ((global::java.math.BigDecimal) _r7_o).getUnscaledValue();
    _r2_o = ((global::java.math.BigDecimal) _r8_o).getUnscaledValue();
    _r1_o = ((global::java.math.BigInteger) _r1_o).subtract((global::java.math.BigInteger) _r2_o);
    _r2.i = ((global::java.math.BigDecimal) _r7_o)._fscale;
    ((global::java.math.BigDecimal) _r0_o).@this((global::java.math.BigInteger) _r1_o, (int) _r2.i);
    goto label19;
    label84:;
    if (_r0.i <= 0) goto label153;
    _r1_o = global::java.math.BigDecimal._fLONG_1TEN_1POW;
    _r1.i = ((global::org.xmlvm._nIArray) _r1_o).Length;
    if (_r0.i >= _r1.i) goto label126;
    _r1.i = ((global::java.math.BigDecimal) _r7_o)._fbitLength;
    _r2.i = ((global::java.math.BigDecimal) _r8_o)._fbitLength;
    _r3_o = global::java.math.BigDecimal._fLONG_1TEN_1POW_1BIT_1LENGTH;
    _r3.i = ((global::org.xmlvm._nArrayAdapter<int>) _r3_o)[_r0.i];
    _r2.i = _r2.i + _r3.i;
    _r1.i = global::java.lang.Math.max((int) _r1.i, (int) _r2.i);
    _r1.i = _r1.i + 1;
    if (_r1.i >= _r4.i) goto label126;
    _r1.l = ((global::java.math.BigDecimal) _r7_o)._fsmallValue;
    _r3.l = ((global::java.math.BigDecimal) _r8_o)._fsmallValue;
    _r5_o = global::java.math.BigDecimal._fLONG_1TEN_1POW;
    _r5.l = ((global::org.xmlvm._nArrayAdapter<long>) _r5_o)[_r0.i];
    _r3.l = _r3.l * _r5.l;
    _r0.l = _r1.l - _r3.l;
    _r2.i = ((global::java.math.BigDecimal) _r7_o)._fscale;
    _r0_o = global::java.math.BigDecimal.valueOf((long) _r0.l, (int) _r2.i);
    goto label19;
    label126:;
    _r1_o = new global::java.math.BigDecimal();
    _r2_o = ((global::java.math.BigDecimal) _r7_o).getUnscaledValue();
    _r3_o = ((global::java.math.BigDecimal) _r8_o).getUnscaledValue();
    _r4.l = (long) _r0.i;
    _r0_o = global::java.math.Multiplication.multiplyByTenPow((global::java.math.BigInteger) _r3_o, (long) _r4.l);
    _r0_o = ((global::java.math.BigInteger) _r2_o).subtract((global::java.math.BigInteger) _r0_o);
    _r2.i = ((global::java.math.BigDecimal) _r7_o)._fscale;
    ((global::java.math.BigDecimal) _r1_o).@this((global::java.math.BigInteger) _r0_o, (int) _r2.i);
    _r0_o = _r1_o;
    goto label19;
    label153:;
    _r0.i = -_r0.i;
    _r1_o = global::java.math.BigDecimal._fLONG_1TEN_1POW;
    _r1.i = ((global::org.xmlvm._nIArray) _r1_o).Length;
    if (_r0.i >= _r1.i) goto label195;
    _r1.i = ((global::java.math.BigDecimal) _r7_o)._fbitLength;
    _r2_o = global::java.math.BigDecimal._fLONG_1TEN_1POW_1BIT_1LENGTH;
    _r2.i = ((global::org.xmlvm._nArrayAdapter<int>) _r2_o)[_r0.i];
    _r1.i = _r1.i + _r2.i;
    _r2.i = ((global::java.math.BigDecimal) _r8_o)._fbitLength;
    _r1.i = global::java.lang.Math.max((int) _r1.i, (int) _r2.i);
    _r1.i = _r1.i + 1;
    if (_r1.i >= _r4.i) goto label195;
    _r1.l = ((global::java.math.BigDecimal) _r7_o)._fsmallValue;
    _r3_o = global::java.math.BigDecimal._fLONG_1TEN_1POW;
    _r3.l = ((global::org.xmlvm._nArrayAdapter<long>) _r3_o)[_r0.i];
    _r0.l = _r1.l * _r3.l;
    _r2.l = ((global::java.math.BigDecimal) _r8_o)._fsmallValue;
    _r0.l = _r0.l - _r2.l;
    _r2.i = ((global::java.math.BigDecimal) _r8_o)._fscale;
    _r0_o = global::java.math.BigDecimal.valueOf((long) _r0.l, (int) _r2.i);
    goto label19;
    label195:;
    _r1_o = new global::java.math.BigDecimal();
    _r2_o = ((global::java.math.BigDecimal) _r7_o).getUnscaledValue();
    _r3.l = (long) _r0.i;
    _r0_o = global::java.math.Multiplication.multiplyByTenPow((global::java.math.BigInteger) _r2_o, (long) _r3.l);
    _r2_o = ((global::java.math.BigDecimal) _r8_o).getUnscaledValue();
    _r0_o = ((global::java.math.BigInteger) _r0_o).subtract((global::java.math.BigInteger) _r2_o);
    _r2.i = ((global::java.math.BigDecimal) _r8_o)._fscale;
    ((global::java.math.BigDecimal) _r1_o).@this((global::java.math.BigInteger) _r0_o, (int) _r2.i);
    _r0_o = _r1_o;
    goto label19;
//XMLVM_END_WRAPPER[java.math.BigDecimal: java.math.BigDecimal subtract(java.math.BigDecimal)]
}
Пример #6
0
new public static void @static(){
//XMLVM_BEGIN_WRAPPER[java.math.BigDecimal: void <clinit>()]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    global::System.Object _r2_o = null;
    global::org.xmlvm._nElement _r3;
    global::org.xmlvm._nElement _r4;
    _r3.i = 48;
    _r2.i = 11;
    _r4.i = 0;
    _r0_o = new global::java.math.BigDecimal();
    ((global::java.math.BigDecimal) _r0_o).@this((int) _r4.i, (int) _r4.i);
    global::java.math.BigDecimal._fZERO = (global::java.math.BigDecimal) _r0_o;
    _r0_o = new global::java.math.BigDecimal();
    _r1.i = 1;
    ((global::java.math.BigDecimal) _r0_o).@this((int) _r1.i, (int) _r4.i);
    global::java.math.BigDecimal._fONE = (global::java.math.BigDecimal) _r0_o;
    _r0_o = new global::java.math.BigDecimal();
    _r1.i = 10;
    ((global::java.math.BigDecimal) _r0_o).@this((int) _r1.i, (int) _r4.i);
    global::java.math.BigDecimal._fTEN = (global::java.math.BigDecimal) _r0_o;
    _r0.i = 19;
    _r0_o = new global::org.xmlvm._nArrayAdapter<long>(new long[_r0.i]);
    _r0_o = new global::org.xmlvm._nArrayAdapter<long>(new long[]{1L, 10L, 100L, 1000L, 10000L, 100000L, 1000000L, 10000000L, 100000000L, 1000000000L, 10000000000L, 100000000000L, 1000000000000L, 10000000000000L, 100000000000000L, 1000000000000000L, 10000000000000000L, 100000000000000000L, 1000000000000000000L});
    global::java.math.BigDecimal._fLONG_1TEN_1POW = (global::org.xmlvm._nArrayAdapter<long>) _r0_o;
    _r0.i = 28;
    _r0_o = new global::org.xmlvm._nArrayAdapter<long>(new long[_r0.i]);
    _r0_o = new global::org.xmlvm._nArrayAdapter<long>(new long[]{1L, 5L, 25L, 125L, 625L, 3125L, 15625L, 78125L, 390625L, 1953125L, 9765625L, 48828125L, 244140625L, 1220703125L, 6103515625L, 30517578125L, 152587890625L, 762939453125L, 3814697265625L, 19073486328125L, 95367431640625L, 476837158203125L, 2384185791015625L, 11920928955078125L, 59604644775390625L, 298023223876953125L, 1490116119384765625L, 7450580596923828125L});
    global::java.math.BigDecimal._fLONG_1FIVE_1POW = (global::org.xmlvm._nArrayAdapter<long>) _r0_o;
    _r0_o = global::java.math.BigDecimal._fLONG_1FIVE_1POW;
    _r0.i = ((global::org.xmlvm._nIArray) _r0_o).Length;
    _r0_o = new global::org.xmlvm._nArrayAdapter<int>(new int[_r0.i]);
    global::java.math.BigDecimal._fLONG_1FIVE_1POW_1BIT_1LENGTH = (global::org.xmlvm._nArrayAdapter<int>) _r0_o;
    _r0_o = global::java.math.BigDecimal._fLONG_1TEN_1POW;
    _r0.i = ((global::org.xmlvm._nIArray) _r0_o).Length;
    _r0_o = new global::org.xmlvm._nArrayAdapter<int>(new int[_r0.i]);
    global::java.math.BigDecimal._fLONG_1TEN_1POW_1BIT_1LENGTH = (global::org.xmlvm._nArrayAdapter<int>) _r0_o;
    _r0_o = new global::org.xmlvm._nArrayAdapter<global::System.Object>(new global::System.Object[_r2.i]);
    global::java.math.BigDecimal._fBI_1SCALED_1BY_1ZERO = (global::org.xmlvm._nArrayAdapter<global::System.Object>) _r0_o;
    _r0_o = new global::org.xmlvm._nArrayAdapter<global::System.Object>(new global::System.Object[_r2.i]);
    global::java.math.BigDecimal._fZERO_1SCALED_1BY = (global::org.xmlvm._nArrayAdapter<global::System.Object>) _r0_o;
    _r0.i = 100;
    _r0_o = new global::org.xmlvm._nArrayAdapter<char>(new char[_r0.i]);
    global::java.math.BigDecimal._fCH_1ZEROS = (global::org.xmlvm._nArrayAdapter<char>) _r0_o;
    _r0.i = _r4.i;
    label76:;
    _r1_o = global::java.math.BigDecimal._fZERO_1SCALED_1BY;
    _r1.i = ((global::org.xmlvm._nIArray) _r1_o).Length;
    if (_r0.i < _r1.i) goto label107;
    label81:;
    _r1_o = global::java.math.BigDecimal._fCH_1ZEROS;
    _r1.i = ((global::org.xmlvm._nIArray) _r1_o).Length;
    if (_r0.i < _r1.i) goto label132;
    _r0.i = _r4.i;
    label87:;
    _r1_o = global::java.math.BigDecimal._fLONG_1FIVE_1POW_1BIT_1LENGTH;
    _r1.i = ((global::org.xmlvm._nIArray) _r1_o).Length;
    if (_r0.i < _r1.i) goto label139;
    _r0.i = _r4.i;
    label93:;
    _r1_o = global::java.math.BigDecimal._fLONG_1TEN_1POW_1BIT_1LENGTH;
    _r1.i = ((global::org.xmlvm._nIArray) _r1_o).Length;
    if (_r0.i < _r1.i) goto label154;
    _r0_o = global::java.math.Multiplication._fbigTenPows;
    global::java.math.BigDecimal._fTEN_1POW = (global::org.xmlvm._nArrayAdapter<global::System.Object>) _r0_o;
    _r0_o = global::java.math.Multiplication._fbigFivePows;
    global::java.math.BigDecimal._fFIVE_1POW = (global::org.xmlvm._nArrayAdapter<global::System.Object>) _r0_o;
    return;
    label107:;
    _r1_o = global::java.math.BigDecimal._fBI_1SCALED_1BY_1ZERO;
    _r2_o = new global::java.math.BigDecimal();
    ((global::java.math.BigDecimal) _r2_o).@this((int) _r0.i, (int) _r4.i);
    ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r1_o)[_r0.i] = _r2_o;
    _r1_o = global::java.math.BigDecimal._fZERO_1SCALED_1BY;
    _r2_o = new global::java.math.BigDecimal();
    ((global::java.math.BigDecimal) _r2_o).@this((int) _r4.i, (int) _r0.i);
    ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r1_o)[_r0.i] = _r2_o;
    _r1_o = global::java.math.BigDecimal._fCH_1ZEROS;
    ((global::org.xmlvm._nArrayAdapter<char>) _r1_o)[_r0.i] = (char)_r3.i;
    _r0.i = _r0.i + 1;
    goto label76;
    label132:;
    _r1_o = global::java.math.BigDecimal._fCH_1ZEROS;
    ((global::org.xmlvm._nArrayAdapter<char>) _r1_o)[_r0.i] = (char)_r3.i;
    _r0.i = _r0.i + 1;
    goto label81;
    label139:;
    _r1_o = global::java.math.BigDecimal._fLONG_1FIVE_1POW_1BIT_1LENGTH;
    _r2_o = global::java.math.BigDecimal._fLONG_1FIVE_1POW;
    _r2.l = ((global::org.xmlvm._nArrayAdapter<long>) _r2_o)[_r0.i];
    _r2.i = global::java.math.BigDecimal.bitLength((long) _r2.l);
    ((global::org.xmlvm._nArrayAdapter<int>) _r1_o)[_r0.i] = _r2.i;
    _r0.i = _r0.i + 1;
    goto label87;
    label154:;
    _r1_o = global::java.math.BigDecimal._fLONG_1TEN_1POW_1BIT_1LENGTH;
    _r2_o = global::java.math.BigDecimal._fLONG_1TEN_1POW;
    _r2.l = ((global::org.xmlvm._nArrayAdapter<long>) _r2_o)[_r0.i];
    _r2.i = global::java.math.BigDecimal.bitLength((long) _r2.l);
    ((global::org.xmlvm._nArrayAdapter<int>) _r1_o)[_r0.i] = _r2.i;
    _r0.i = _r0.i + 1;
    goto label93;
//XMLVM_END_WRAPPER[java.math.BigDecimal: void <clinit>()]
}
Пример #7
0
public static global::System.Object valueOf(long n1){
//XMLVM_BEGIN_WRAPPER[java.math.BigDecimal: java.math.BigDecimal valueOf(long)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::org.xmlvm._nElement _r2;
    _r2.l = n1;
    _r0.l = 0L;
    _r0.i = _r2.l > _r0.l ? 1 : (_r2.l == _r0.l ? 0 : -1);
    if (_r0.i < 0) goto label18;
    _r0.l = 11L;
    _r0.i = _r2.l > _r0.l ? 1 : (_r2.l == _r0.l ? 0 : -1);
    if (_r0.i >= 0) goto label18;
    _r0_o = global::java.math.BigDecimal._fBI_1SCALED_1BY_1ZERO;
    _r1.i = (int) _r2.l;
    _r0_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r0_o)[_r1.i];
    label17:;
    return (global::java.math.BigDecimal) _r0_o;
    label18:;
    _r0_o = new global::java.math.BigDecimal();
    _r1.i = 0;
    ((global::java.math.BigDecimal) _r0_o).@this((long) _r2.l, (int) _r1.i);
    goto label17;
//XMLVM_END_WRAPPER[java.math.BigDecimal: java.math.BigDecimal valueOf(long)]
}
Пример #8
0
public virtual global::System.Object divideToIntegralValue(global::java.math.BigDecimal n1){
//XMLVM_BEGIN_WRAPPER[java.math.BigDecimal: java.math.BigDecimal divideToIntegralValue(java.math.BigDecimal)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    global::System.Object _r2_o = null;
    global::org.xmlvm._nElement _r3;
    global::System.Object _r3_o = null;
    global::org.xmlvm._nElement _r4;
    global::System.Object _r4_o = null;
    global::org.xmlvm._nElement _r5;
    global::System.Object _r6_o = null;
    global::org.xmlvm._nElement _r7;
    global::System.Object _r7_o = null;
    global::org.xmlvm._nElement _r8;
    global::System.Object _r8_o = null;
    global::org.xmlvm._nElement _r10;
    global::org.xmlvm._nElement _r11;
    global::org.xmlvm._nElement _r12;
    global::System.Object _r14_o = null;
    global::System.Object _r15_o = null;
    _r14_o = this;
    _r15_o = n1;
    _r12.l = 0L;
    _r11.i = 0;
    _r10.i = 1;
    _r0_o = new global::org.xmlvm._nArrayAdapter<global::System.Object>(new global::System.Object[_r10.i]);
    _r1_o = ((global::java.math.BigDecimal) _r14_o).getUnscaledValue();
    ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r0_o)[_r11.i] = _r1_o;
    _r0.i = ((global::java.math.BigDecimal) _r14_o)._fscale;
    _r0.l = (long) _r0.i;
    _r2.i = ((global::java.math.BigDecimal) _r15_o)._fscale;
    _r2.l = (long) _r2.i;
    _r0.l = _r0.l - _r2.l;
    _r2_o = global::java.math.BigDecimal._fTEN_1POW;
    _r2.i = ((global::org.xmlvm._nIArray) _r2_o).Length;
    _r2.i = _r2.i - _r10.i;
    _r3.i = ((global::java.math.BigDecimal) _r15_o).isZero() ? 1 : 0;
    if (_r3.i == 0) goto label41;
    _r0_o = new global::java.lang.ArithmeticException();
    // Value=math.04
    _r1_o = new global::java.lang.String();
    ((global::java.lang.String)_r1_o).@this(new global::org.xmlvm._nArrayAdapter<char>(new char[] {unchecked((char) unchecked((uint)109)), unchecked((char) unchecked((uint) 97)), unchecked((char) unchecked((uint) 116)), unchecked((char) unchecked((uint) 104)), unchecked((char) unchecked((uint) 46)), unchecked((char) unchecked((uint) 48)), unchecked((char) unchecked((uint) 52))}));
    _r1_o = global::[email protected]((global::java.lang.String) _r1_o);
    ((global::java.lang.ArithmeticException) _r0_o).@this((global::java.lang.String) _r1_o);
    throw new global::org.xmlvm._nExceptionAdapter((global::java.lang.ArithmeticException) _r0_o);
    label41:;
    _r3.i = ((global::java.math.BigDecimal) _r15_o).aproxPrecision();
    _r3.l = (long) _r3.i;
    _r3.l = _r3.l + _r0.l;
    _r5.i = ((global::java.math.BigDecimal) _r14_o).aproxPrecision();
    _r5.l = (long) _r5.i;
    _r7.l = 1L;
    _r5.l = _r5.l + _r7.l;
    _r3.i = _r3.l > _r5.l ? 1 : (_r3.l == _r5.l ? 0 : -1);
    if (_r3.i > 0) goto label65;
    _r3.i = ((global::java.math.BigDecimal) _r14_o).isZero() ? 1 : 0;
    if (_r3.i == 0) goto label78;
    label65:;
    _r2_o = global::java.math.BigInteger._fZERO;
    label67:;
    _r3.i = ((global::java.math.BigInteger) _r2_o).signum();
    if (_r3.i != 0) goto label193;
    _r0_o = global::java.math.BigDecimal.zeroScaledBy((long) _r0.l);
    label77:;
    return (global::java.math.BigDecimal) _r0_o;
    label78:;
    _r3.i = _r0.l > _r12.l ? 1 : (_r0.l == _r12.l ? 0 : -1);
    if (_r3.i != 0) goto label95;
    _r2_o = ((global::java.math.BigDecimal) _r14_o).getUnscaledValue();
    _r3_o = ((global::java.math.BigDecimal) _r15_o).getUnscaledValue();
    _r2_o = ((global::java.math.BigInteger) _r2_o).divide((global::java.math.BigInteger) _r3_o);
    goto label67;
    label95:;
    _r3.i = _r0.l > _r12.l ? 1 : (_r0.l == _r12.l ? 0 : -1);
    if (_r3.i <= 0) goto label124;
    _r2_o = global::java.math.Multiplication.powerOf10((long) _r0.l);
    _r3_o = ((global::java.math.BigDecimal) _r14_o).getUnscaledValue();
    _r4_o = ((global::java.math.BigDecimal) _r15_o).getUnscaledValue();
    _r4_o = ((global::java.math.BigInteger) _r4_o).multiply((global::java.math.BigInteger) _r2_o);
    _r3_o = ((global::java.math.BigInteger) _r3_o).divide((global::java.math.BigInteger) _r4_o);
    _r2_o = ((global::java.math.BigInteger) _r3_o).multiply((global::java.math.BigInteger) _r2_o);
    goto label67;
    label124:;
    _r3.l = -_r0.l;
    _r3_o = global::java.math.Multiplication.powerOf10((long) _r3.l);
    _r4_o = ((global::java.math.BigDecimal) _r14_o).getUnscaledValue();
    _r3_o = ((global::java.math.BigInteger) _r4_o).multiply((global::java.math.BigInteger) _r3_o);
    _r4_o = ((global::java.math.BigDecimal) _r15_o).getUnscaledValue();
    _r3_o = ((global::java.math.BigInteger) _r3_o).divide((global::java.math.BigInteger) _r4_o);
    _r4.l = _r12.l;
    _r6_o = _r3_o;
    _r3.i = _r10.i;
    label148:;
    _r7.i = ((global::java.math.BigInteger) _r6_o).testBit((int) _r11.i) ? 1 : 0;
    if (_r7.i == 0) goto label157;
    label154:;
    _r0.l = _r4.l;
    _r2_o = _r6_o;
    goto label67;
    label157:;
    _r7_o = global::java.math.BigDecimal._fTEN_1POW;
    _r7_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r7_o)[_r3.i];
    _r7_o = ((global::java.math.BigInteger) _r6_o).divideAndRemainder((global::java.math.BigInteger) _r7_o);
    _r8_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r7_o)[_r10.i];
    _r8.i = ((global::java.math.BigInteger) _r8_o).signum();
    if (_r8.i != 0) goto label189;
    _r8.l = (long) _r3.i;
    _r8.l = _r4.l - _r8.l;
    _r8.i = _r8.l > _r0.l ? 1 : (_r8.l == _r0.l ? 0 : -1);
    if (_r8.i < 0) goto label189;
    _r8.l = (long) _r3.i;
    _r4.l = _r4.l - _r8.l;
    if (_r3.i >= _r2.i) goto label186;
    _r3.i = _r3.i + 1;
    label186:;
    _r6_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r7_o)[_r11.i];
    goto label148;
    label189:;
    if (_r3.i == _r10.i) goto label154;
    _r3.i = _r10.i;
    goto label148;
    label193:;
    _r3_o = new global::java.math.BigDecimal();
    _r0.i = global::java.math.BigDecimal.toIntScale((long) _r0.l);
    ((global::java.math.BigDecimal) _r3_o).@this((global::java.math.BigInteger) _r2_o, (int) _r0.i);
    _r0_o = _r3_o;
    goto label77;
//XMLVM_END_WRAPPER[java.math.BigDecimal: java.math.BigDecimal divideToIntegralValue(java.math.BigDecimal)]
}
Пример #9
0
public virtual global::System.Object divideToIntegralValue(global::java.math.BigDecimal n1, global::java.math.MathContext n2){
//XMLVM_BEGIN_WRAPPER[java.math.BigDecimal: java.math.BigDecimal divideToIntegralValue(java.math.BigDecimal, java.math.MathContext)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    global::System.Object _r2_o = null;
    global::org.xmlvm._nElement _r3;
    global::System.Object _r3_o = null;
    global::org.xmlvm._nElement _r4;
    global::org.xmlvm._nElement _r6;
    global::System.Object _r6_o = null;
    global::System.Object _r7_o = null;
    global::org.xmlvm._nElement _r8;
    global::System.Object _r8_o = null;
    global::org.xmlvm._nElement _r9;
    global::System.Object _r9_o = null;
    global::org.xmlvm._nElement _r10;
    global::System.Object _r10_o = null;
    global::org.xmlvm._nElement _r11;
    global::System.Object _r11_o = null;
    global::org.xmlvm._nElement _r12;
    global::System.Object _r12_o = null;
    global::org.xmlvm._nElement _r13;
    global::System.Object _r13_o = null;
    global::org.xmlvm._nElement _r15;
    global::org.xmlvm._nElement _r17;
    global::System.Object _r19_o = null;
    global::System.Object _r20_o = null;
    global::System.Object _r21_o = null;
    _r19_o = this;
    _r20_o = n1;
    _r21_o = n2;
    _r1.i = ((global::java.math.MathContext) _r21_o).getPrecision();
    _r2.i = ((global::java.math.BigDecimal) _r19_o).precision();
    _r3.i = ((global::java.math.BigDecimal) _r20_o).precision();
    _r2.i = _r2.i - _r3.i;
    _r3_o = global::java.math.BigDecimal._fTEN_1POW;
    _r3.i = ((global::org.xmlvm._nIArray) _r3_o).Length;
    _r4.i = 1;
    _r3.i = _r3.i - _r4.i;
    _r0_o = _r19_o;
    _r0.i = ((global::java.math.BigDecimal) _r0_o)._fscale;
    _r4.i = _r0.i;
    _r4.l = (long) _r4.i;
    _r0_o = _r20_o;
    _r0.i = ((global::java.math.BigDecimal) _r0_o)._fscale;
    _r6.i = _r0.i;
    _r6.l = (long) _r6.i;
    _r4.l = _r4.l - _r6.l;
    _r6.l = (long) _r2.i;
    _r6.l = _r6.l - _r4.l;
    _r8.l = 1L;
    _r6.l = _r6.l + _r8.l;
    _r8.i = 2;
    _r8_o = new global::org.xmlvm._nArrayAdapter<global::System.Object>(new global::System.Object[_r8.i]);
    if (_r1.i == 0) goto label53;
    _r9.i = ((global::java.math.BigDecimal) _r19_o).isZero() ? 1 : 0;
    if (_r9.i != 0) goto label53;
    _r9.i = ((global::java.math.BigDecimal) _r20_o).isZero() ? 1 : 0;
    if (_r9.i == 0) goto label58;
    label53:;
    _r1_o = ((global::java.math.BigDecimal) _r19_o).divideToIntegralValue((global::java.math.BigDecimal) _r20_o);
    label57:;
    return (global::java.math.BigDecimal) _r1_o;
    label58:;
    _r9.l = 0L;
    _r9.i = _r6.l > _r9.l ? 1 : (_r6.l == _r9.l ? 0 : -1);
    if (_r9.i > 0) goto label85;
    _r2.i = 0;
    _r6_o = global::java.math.BigInteger._fZERO;
    ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r8_o)[_r2.i] = _r6_o;
    _r2_o = _r8_o;
    _r6.l = _r4.l;
    label71:;
    _r8.i = 0;
    _r8_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r2_o)[_r8.i];
    _r8.i = ((global::java.math.BigInteger) _r8_o).signum();
    if (_r8.i != 0) goto label299;
    _r1_o = global::java.math.BigDecimal.zeroScaledBy((long) _r4.l);
    goto label57;
    label85:;
    _r9.l = 0L;
    _r9.i = _r4.l > _r9.l ? 1 : (_r4.l == _r9.l ? 0 : -1);
    if (_r9.i != 0) goto label109;
    _r2.i = 0;
    _r6_o = ((global::java.math.BigDecimal) _r19_o).getUnscaledValue();
    _r7_o = ((global::java.math.BigDecimal) _r20_o).getUnscaledValue();
    _r6_o = ((global::java.math.BigInteger) _r6_o).divide((global::java.math.BigInteger) _r7_o);
    ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r8_o)[_r2.i] = _r6_o;
    _r2_o = _r8_o;
    _r6.l = _r4.l;
    goto label71;
    label109:;
    _r9.l = 0L;
    _r9.i = _r4.l > _r9.l ? 1 : (_r4.l == _r9.l ? 0 : -1);
    if (_r9.i <= 0) goto label170;
    _r2.i = 0;
    _r9_o = ((global::java.math.BigDecimal) _r19_o).getUnscaledValue();
    _r10_o = ((global::java.math.BigDecimal) _r20_o).getUnscaledValue();
    _r11_o = global::java.math.Multiplication.powerOf10((long) _r4.l);
    _r10_o = ((global::java.math.BigInteger) _r10_o).multiply((global::java.math.BigInteger) _r11_o);
    _r9_o = ((global::java.math.BigInteger) _r9_o).divide((global::java.math.BigInteger) _r10_o);
    ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r8_o)[_r2.i] = _r9_o;
    _r9.l = (long) _r1.i;
    _r6.l = _r9.l - _r6.l;
    _r9.l = 1L;
    _r6.l = _r6.l + _r9.l;
    _r9.l = 0L;
    _r6.l = global::java.lang.Math.max((long) _r6.l, (long) _r9.l);
    _r6.l = global::java.lang.Math.min((long) _r4.l, (long) _r6.l);
    _r2.i = 0;
    _r9.i = 0;
    _r9_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r8_o)[_r9.i];
    _r10_o = global::java.math.Multiplication.powerOf10((long) _r6.l);
    _r9_o = ((global::java.math.BigInteger) _r9_o).multiply((global::java.math.BigInteger) _r10_o);
    ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r8_o)[_r2.i] = _r9_o;
    _r2_o = _r8_o;
    goto label71;
    label170:;
    _r6.l = -_r4.l;
    _r8.l = (long) _r1.i;
    _r10.l = (long) _r2.i;
    _r8.l = _r8.l - _r10.l;
    _r10.l = 0L;
    _r8.l = global::java.lang.Math.max((long) _r8.l, (long) _r10.l);
    _r6.l = global::java.lang.Math.min((long) _r6.l, (long) _r8.l);
    _r2_o = ((global::java.math.BigDecimal) _r19_o).getUnscaledValue();
    _r8_o = global::java.math.Multiplication.powerOf10((long) _r6.l);
    _r2_o = ((global::java.math.BigInteger) _r2_o).multiply((global::java.math.BigInteger) _r8_o);
    _r8_o = ((global::java.math.BigDecimal) _r20_o).getUnscaledValue();
    _r2_o = ((global::java.math.BigInteger) _r2_o).divideAndRemainder((global::java.math.BigInteger) _r8_o);
    _r6.l = _r6.l + _r4.l;
    _r8.l = -_r6.l;
    _r10.i = 1;
    _r10_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r2_o)[_r10.i];
    _r10.i = ((global::java.math.BigInteger) _r10_o).signum();
    if (_r10.i == 0) goto label71;
    _r10.l = 0L;
    _r10.i = _r8.l > _r10.l ? 1 : (_r8.l == _r10.l ? 0 : -1);
    if (_r10.i <= 0) goto label71;
    _r10_o = new global::java.math.BigDecimal();
    _r11.i = 1;
    _r11_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r2_o)[_r11.i];
    ((global::java.math.BigDecimal) _r10_o).@this((global::java.math.BigInteger) _r11_o);
    _r10.i = ((global::java.math.BigDecimal) _r10_o).precision();
    _r10.l = (long) _r10.i;
    _r10.l = _r10.l + _r8.l;
    _r12.i = ((global::java.math.BigDecimal) _r20_o).precision();
    _r12.l = (long) _r12.i;
    _r10.l = _r10.l - _r12.l;
    _r12.l = 0L;
    _r12.i = _r10.l > _r12.l ? 1 : (_r10.l == _r12.l ? 0 : -1);
    if (_r12.i != 0) goto label406;
    _r10.i = 1;
    _r11.i = 1;
    _r11_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r2_o)[_r11.i];
    _r8_o = global::java.math.Multiplication.powerOf10((long) _r8.l);
    _r8_o = ((global::java.math.BigInteger) _r11_o).multiply((global::java.math.BigInteger) _r8_o);
    _r9_o = ((global::java.math.BigDecimal) _r20_o).getUnscaledValue();
    _r8_o = ((global::java.math.BigInteger) _r8_o).divide((global::java.math.BigInteger) _r9_o);
    ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r2_o)[_r10.i] = _r8_o;
    _r8.i = 1;
    _r8_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r2_o)[_r8.i];
    _r8.i = ((global::java.math.BigInteger) _r8_o).signum();
    _r8.i = global::java.lang.Math.abs((int) _r8.i);
    _r8.l = (long) _r8.i;
    label281:;
    _r10.l = 0L;
    _r8.i = _r8.l > _r10.l ? 1 : (_r8.l == _r10.l ? 0 : -1);
    if (_r8.i <= 0) goto label71;
    _r1_o = new global::java.lang.ArithmeticException();
    // Value=math.06
    _r2_o = new global::java.lang.String();
    ((global::java.lang.String)_r2_o).@this(new global::org.xmlvm._nArrayAdapter<char>(new char[] {unchecked((char) unchecked((uint)109)), unchecked((char) unchecked((uint) 97)), unchecked((char) unchecked((uint) 116)), unchecked((char) unchecked((uint) 104)), unchecked((char) unchecked((uint) 46)), unchecked((char) unchecked((uint) 48)), unchecked((char) unchecked((uint) 54))}));
    _r2_o = global::[email protected]((global::java.lang.String) _r2_o);
    ((global::java.lang.ArithmeticException) _r1_o).@this((global::java.lang.String) _r2_o);
    throw new global::org.xmlvm._nExceptionAdapter((global::java.lang.ArithmeticException) _r1_o);
    label299:;
    _r8.i = 0;
    _r8_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r2_o)[_r8.i];
    _r9_o = new global::java.math.BigDecimal();
    _r10.i = 0;
    _r2_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r2_o)[_r10.i];
    ((global::java.math.BigDecimal) _r9_o).@this((global::java.math.BigInteger) _r2_o);
    _r2.i = ((global::java.math.BigDecimal) _r9_o).precision();
    _r10.l = (long) _r2.i;
    _r2.i = 1;
    _r17.l = _r10.l;
    _r10.l = _r6.l;
    _r6.l = _r17.l;
    label321:;
    _r12.i = 0;
    _r12.i = ((global::java.math.BigInteger) _r8_o).testBit((int) _r12.i) ? 1 : 0;
    if (_r12.i == 0) goto label345;
    label328:;
    _r1.l = (long) _r1.i;
    _r1.i = _r6.l > _r1.l ? 1 : (_r6.l == _r1.l ? 0 : -1);
    if (_r1.i <= 0) goto label394;
    _r1_o = new global::java.lang.ArithmeticException();
    // Value=math.06
    _r2_o = new global::java.lang.String();
    ((global::java.lang.String)_r2_o).@this(new global::org.xmlvm._nArrayAdapter<char>(new char[] {unchecked((char) unchecked((uint)109)), unchecked((char) unchecked((uint) 97)), unchecked((char) unchecked((uint) 116)), unchecked((char) unchecked((uint) 104)), unchecked((char) unchecked((uint) 46)), unchecked((char) unchecked((uint) 48)), unchecked((char) unchecked((uint) 54))}));
    _r2_o = global::[email protected]((global::java.lang.String) _r2_o);
    ((global::java.lang.ArithmeticException) _r1_o).@this((global::java.lang.String) _r2_o);
    throw new global::org.xmlvm._nExceptionAdapter((global::java.lang.ArithmeticException) _r1_o);
    label345:;
    _r12_o = global::java.math.BigDecimal._fTEN_1POW;
    _r12_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r12_o)[_r2.i];
    _r12_o = ((global::java.math.BigInteger) _r8_o).divideAndRemainder((global::java.math.BigInteger) _r12_o);
    _r13.i = 1;
    _r13_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r12_o)[_r13.i];
    _r13.i = ((global::java.math.BigInteger) _r13_o).signum();
    if (_r13.i != 0) goto label389;
    _r13.l = (long) _r2.i;
    _r13.l = _r6.l - _r13.l;
    _r15.l = (long) _r1.i;
    _r13.i = _r13.l > _r15.l ? 1 : (_r13.l == _r15.l ? 0 : -1);
    if (_r13.i >= 0) goto label377;
    _r13.l = (long) _r2.i;
    _r13.l = _r10.l - _r13.l;
    _r13.i = _r13.l > _r4.l ? 1 : (_r13.l == _r4.l ? 0 : -1);
    if (_r13.i < 0) goto label389;
    label377:;
    _r13.l = (long) _r2.i;
    _r6.l = _r6.l - _r13.l;
    _r13.l = (long) _r2.i;
    _r10.l = _r10.l - _r13.l;
    if (_r2.i >= _r3.i) goto label385;
    _r2.i = _r2.i + 1;
    label385:;
    _r8.i = 0;
    _r8_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r12_o)[_r8.i];
    goto label321;
    label389:;
    _r12.i = 1;
    if (_r2.i == _r12.i) goto label328;
    _r2.i = 1;
    goto label321;
    label394:;
    _r1.i = global::java.math.BigDecimal.toIntScale((long) _r10.l);
    ((global::java.math.BigDecimal) _r9_o)._fscale = _r1.i;
    ((global::java.math.BigDecimal) _r9_o).setUnscaledValue((global::java.math.BigInteger) _r8_o);
    _r1_o = _r9_o;
    goto label57;
    label406:;
    _r8.l = _r10.l;
    goto label281;
//XMLVM_END_WRAPPER[java.math.BigDecimal: java.math.BigDecimal divideToIntegralValue(java.math.BigDecimal, java.math.MathContext)]
}
Пример #10
0
public virtual global::System.Object divide(global::java.math.BigDecimal n1){
//XMLVM_BEGIN_WRAPPER[java.math.BigDecimal: java.math.BigDecimal divide(java.math.BigDecimal)]
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    global::System.Object _r2_o = null;
    global::org.xmlvm._nElement _r4;
    global::System.Object _r4_o = null;
    global::org.xmlvm._nElement _r5;
    global::System.Object _r5_o = null;
    global::org.xmlvm._nElement _r6;
    global::org.xmlvm._nElement _r7;
    global::System.Object _r7_o = null;
    global::System.Object _r8_o = null;
    global::org.xmlvm._nElement _r9;
    global::System.Object _r9_o = null;
    global::org.xmlvm._nElement _r10;
    global::org.xmlvm._nElement _r11;
    global::System.Object _r12_o = null;
    global::System.Object _r13_o = null;
    _r12_o = this;
    _r13_o = n1;
    _r11.i = 0;
    _r10.i = 1;
    _r0_o = ((global::java.math.BigDecimal) _r12_o).getUnscaledValue();
    _r1_o = ((global::java.math.BigDecimal) _r13_o).getUnscaledValue();
    _r2.i = ((global::java.math.BigDecimal) _r12_o)._fscale;
    _r2.l = (long) _r2.i;
    _r4.i = ((global::java.math.BigDecimal) _r13_o)._fscale;
    _r4.l = (long) _r4.i;
    _r2.l = _r2.l - _r4.l;
    _r4_o = global::java.math.BigDecimal._fFIVE_1POW;
    _r4.i = ((global::org.xmlvm._nIArray) _r4_o).Length;
    _r4.i = _r4.i - _r10.i;
    _r5.i = ((global::java.math.BigDecimal) _r13_o).isZero() ? 1 : 0;
    if (_r5.i == 0) goto label39;
    _r0_o = new global::java.lang.ArithmeticException();
    // Value=math.04
    _r1_o = new global::java.lang.String();
    ((global::java.lang.String)_r1_o).@this(new global::org.xmlvm._nArrayAdapter<char>(new char[] {unchecked((char) unchecked((uint)109)), unchecked((char) unchecked((uint) 97)), unchecked((char) unchecked((uint) 116)), unchecked((char) unchecked((uint) 104)), unchecked((char) unchecked((uint) 46)), unchecked((char) unchecked((uint) 48)), unchecked((char) unchecked((uint) 52))}));
    _r1_o = global::[email protected]((global::java.lang.String) _r1_o);
    ((global::java.lang.ArithmeticException) _r0_o).@this((global::java.lang.String) _r1_o);
    throw new global::org.xmlvm._nExceptionAdapter((global::java.lang.ArithmeticException) _r0_o);
    label39:;
    _r5.i = ((global::java.math.BigInteger) _r0_o).signum();
    if (_r5.i != 0) goto label50;
    _r0_o = global::java.math.BigDecimal.zeroScaledBy((long) _r2.l);
    label49:;
    return (global::java.math.BigDecimal) _r0_o;
    label50:;
    _r5_o = ((global::java.math.BigInteger) _r0_o).gcd((global::java.math.BigInteger) _r1_o);
    _r0_o = ((global::java.math.BigInteger) _r0_o).divide((global::java.math.BigInteger) _r5_o);
    _r1_o = ((global::java.math.BigInteger) _r1_o).divide((global::java.math.BigInteger) _r5_o);
    _r5.i = ((global::java.math.BigInteger) _r1_o).getLowestSetBit();
    _r1_o = ((global::java.math.BigInteger) _r1_o).shiftRight((int) _r5.i);
    _r6.i = _r11.i;
    _r7_o = _r1_o;
    _r1.i = _r10.i;
    label73:;
    _r8_o = global::java.math.BigDecimal._fFIVE_1POW;
    _r8_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r8_o)[_r1.i];
    _r8_o = ((global::java.math.BigInteger) _r7_o).divideAndRemainder((global::java.math.BigInteger) _r8_o);
    _r9_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r8_o)[_r10.i];
    _r9.i = ((global::java.math.BigInteger) _r9_o).signum();
    if (_r9.i != 0) goto label97;
    _r6.i = _r6.i + _r1.i;
    if (_r1.i >= _r4.i) goto label94;
    _r1.i = _r1.i + 1;
    label94:;
    _r7_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r8_o)[_r11.i];
    goto label73;
    label97:;
    if (_r1.i != _r10.i) goto label123;
    _r1_o = ((global::java.math.BigInteger) _r7_o).abs();
    _r4_o = global::java.math.BigInteger._fONE;
    _r1.i = ((global::java.math.BigInteger) _r1_o).equals((global::java.lang.Object) _r4_o) ? 1 : 0;
    if (_r1.i != 0) goto label125;
    _r0_o = new global::java.lang.ArithmeticException();
    // Value=math.05
    _r1_o = new global::java.lang.String();
    ((global::java.lang.String)_r1_o).@this(new global::org.xmlvm._nArrayAdapter<char>(new char[] {unchecked((char) unchecked((uint)109)), unchecked((char) unchecked((uint) 97)), unchecked((char) unchecked((uint) 116)), unchecked((char) unchecked((uint) 104)), unchecked((char) unchecked((uint) 46)), unchecked((char) unchecked((uint) 48)), unchecked((char) unchecked((uint) 53))}));
    _r1_o = global::[email protected]((global::java.lang.String) _r1_o);
    ((global::java.lang.ArithmeticException) _r0_o).@this((global::java.lang.String) _r1_o);
    throw new global::org.xmlvm._nExceptionAdapter((global::java.lang.ArithmeticException) _r0_o);
    label123:;
    _r1.i = _r10.i;
    goto label73;
    label125:;
    _r1.i = ((global::java.math.BigInteger) _r7_o).signum();
    if (_r1.i >= 0) goto label135;
    _r0_o = ((global::java.math.BigInteger) _r0_o).negate();
    label135:;
    _r1.i = global::java.lang.Math.max((int) _r5.i, (int) _r6.i);
    _r7.l = (long) _r1.i;
    _r1.l = _r2.l + _r7.l;
    _r1.i = global::java.math.BigDecimal.toIntScale((long) _r1.l);
    _r2.i = _r5.i - _r6.i;
    if (_r2.i <= 0) goto label161;
    _r0_o = global::java.math.Multiplication.multiplyByFivePow((global::java.math.BigInteger) _r0_o, (int) _r2.i);
    label154:;
    _r2_o = new global::java.math.BigDecimal();
    ((global::java.math.BigDecimal) _r2_o).@this((global::java.math.BigInteger) _r0_o, (int) _r1.i);
    _r0_o = _r2_o;
    goto label49;
    label161:;
    _r2.i = -_r2.i;
    _r0_o = ((global::java.math.BigInteger) _r0_o).shiftLeft((int) _r2.i);
    goto label154;
//XMLVM_END_WRAPPER[java.math.BigDecimal: java.math.BigDecimal divide(java.math.BigDecimal)]
}
Пример #11
0
public virtual global::System.Object divide(global::java.math.BigDecimal n1, global::java.math.MathContext n2){
//XMLVM_BEGIN_WRAPPER[java.math.BigDecimal: java.math.BigDecimal divide(java.math.BigDecimal, java.math.MathContext)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    global::System.Object _r2_o = null;
    global::org.xmlvm._nElement _r3;
    global::System.Object _r3_o = null;
    global::org.xmlvm._nElement _r4;
    global::System.Object _r4_o = null;
    global::org.xmlvm._nElement _r5;
    global::System.Object _r5_o = null;
    global::org.xmlvm._nElement _r6;
    global::System.Object _r6_o = null;
    global::org.xmlvm._nElement _r7;
    global::System.Object _r7_o = null;
    global::org.xmlvm._nElement _r8;
    global::System.Object _r8_o = null;
    global::System.Object _r9_o = null;
    global::System.Object _r10_o = null;
    global::org.xmlvm._nElement _r11;
    global::System.Object _r13_o = null;
    global::System.Object _r14_o = null;
    global::System.Object _r15_o = null;
    _r13_o = this;
    _r14_o = n1;
    _r15_o = n2;
    _r0.i = ((global::java.math.MathContext) _r15_o).getPrecision();
    _r0.l = (long) _r0.i;
    _r2.l = 2L;
    _r0.l = _r0.l + _r2.l;
    _r2.i = ((global::java.math.BigDecimal) _r14_o).aproxPrecision();
    _r2.l = (long) _r2.i;
    _r0.l = _r0.l + _r2.l;
    _r2.i = ((global::java.math.BigDecimal) _r13_o).aproxPrecision();
    _r2.l = (long) _r2.i;
    _r0.l = _r0.l - _r2.l;
    _r2.i = ((global::java.math.BigDecimal) _r13_o)._fscale;
    _r2.l = (long) _r2.i;
    _r4.i = ((global::java.math.BigDecimal) _r14_o)._fscale;
    _r4.l = (long) _r4.i;
    _r2.l = _r2.l - _r4.l;
    _r4.i = 1;
    _r5_o = global::java.math.BigDecimal._fTEN_1POW;
    _r5.i = ((global::org.xmlvm._nIArray) _r5_o).Length;
    _r6.i = 1;
    _r5.i = _r5.i - _r6.i;
    _r6.i = 1;
    _r6_o = new global::org.xmlvm._nArrayAdapter<global::System.Object>(new global::System.Object[_r6.i]);
    _r7.i = 0;
    _r8_o = ((global::java.math.BigDecimal) _r13_o).getUnscaledValue();
    ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r6_o)[_r7.i] = _r8_o;
    _r7.i = ((global::java.math.MathContext) _r15_o).getPrecision();
    if (_r7.i == 0) goto label61;
    _r7.i = ((global::java.math.BigDecimal) _r13_o).isZero() ? 1 : 0;
    if (_r7.i != 0) goto label61;
    _r7.i = ((global::java.math.BigDecimal) _r14_o).isZero() ? 1 : 0;
    if (_r7.i == 0) goto label66;
    label61:;
    _r0_o = ((global::java.math.BigDecimal) _r13_o).divide((global::java.math.BigDecimal) _r14_o);
    label65:;
    return (global::java.math.BigDecimal) _r0_o;
    label66:;
    _r7.l = 0L;
    _r7.i = _r0.l > _r7.l ? 1 : (_r0.l == _r7.l ? 0 : -1);
    if (_r7.i <= 0) goto label228;
    _r7.i = 0;
    _r8_o = ((global::java.math.BigDecimal) _r13_o).getUnscaledValue();
    _r9_o = global::java.math.Multiplication.powerOf10((long) _r0.l);
    _r8_o = ((global::java.math.BigInteger) _r8_o).multiply((global::java.math.BigInteger) _r9_o);
    ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r6_o)[_r7.i] = _r8_o;
    _r0.l = _r0.l + _r2.l;
    label88:;
    _r7.i = 0;
    _r6_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r6_o)[_r7.i];
    _r7_o = ((global::java.math.BigDecimal) _r14_o).getUnscaledValue();
    _r6_o = ((global::java.math.BigInteger) _r6_o).divideAndRemainder((global::java.math.BigInteger) _r7_o);
    _r7.i = 0;
    _r7_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r6_o)[_r7.i];
    _r8.i = 1;
    _r8_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r6_o)[_r8.i];
    _r8.i = ((global::java.math.BigInteger) _r8_o).signum();
    if (_r8.i == 0) goto label223;
    _r2.i = 1;
    _r2_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r6_o)[_r2.i];
    _r2_o = ((global::java.math.BigInteger) _r2_o).shiftLeftOneBit();
    _r3_o = ((global::java.math.BigDecimal) _r14_o).getUnscaledValue();
    _r2.i = ((global::java.math.BigInteger) _r2_o).compareTo((global::java.math.BigInteger) _r3_o);
    _r3_o = global::java.math.BigInteger._fTEN;
    _r3_o = ((global::java.math.BigInteger) _r7_o).multiply((global::java.math.BigInteger) _r3_o);
    _r4.i = 0;
    _r4_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r6_o)[_r4.i];
    _r4.i = ((global::java.math.BigInteger) _r4_o).signum();
    _r2.i = _r2.i + 5;
    _r2.i = _r2.i * _r4.i;
    _r4.l = (long) _r2.i;
    _r2_o = global::java.math.BigInteger.valueOf((long) _r4.l);
    _r2_o = ((global::java.math.BigInteger) _r3_o).add((global::java.math.BigInteger) _r2_o);
    _r3.l = 1L;
    _r0.l = _r0.l + _r3.l;
    _r10_o = _r2_o;
    _r11.l = _r0.l;
    _r1.l = _r11.l;
    _r0_o = _r10_o;
    label158:;
    _r3_o = new global::java.math.BigDecimal();
    _r1.i = global::java.math.BigDecimal.toIntScale((long) _r1.l);
    ((global::java.math.BigDecimal) _r3_o).@this((global::java.math.BigInteger) _r0_o, (int) _r1.i, (global::java.math.MathContext) _r15_o);
    _r0_o = _r3_o;
    goto label65;
    label169:;
    _r4_o = global::java.math.BigDecimal._fTEN_1POW;
    _r4_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r4_o)[_r1.i];
    _r4_o = ((global::java.math.BigInteger) _r0_o).divideAndRemainder((global::java.math.BigInteger) _r4_o);
    _r8.i = 1;
    _r8_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r4_o)[_r8.i];
    _r8.i = ((global::java.math.BigInteger) _r8_o).signum();
    if (_r8.i != 0) goto label214;
    _r8.l = (long) _r1.i;
    _r8.l = _r6.l - _r8.l;
    _r8.i = _r8.l > _r2.l ? 1 : (_r8.l == _r2.l ? 0 : -1);
    if (_r8.i < 0) goto label214;
    _r8.l = (long) _r1.i;
    _r6.l = _r6.l - _r8.l;
    if (_r1.i >= _r5.i) goto label221;
    _r0.i = _r1.i + 1;
    label199:;
    _r1.i = 0;
    _r1_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r4_o)[_r1.i];
    _r10_o = _r1_o;
    _r1.i = _r0.i;
    _r0_o = _r10_o;
    label205:;
    _r4.i = 0;
    _r4.i = ((global::java.math.BigInteger) _r0_o).testBit((int) _r4.i) ? 1 : 0;
    if (_r4.i == 0) goto label169;
    _r1.l = _r6.l;
    goto label158;
    label214:;
    _r4.i = 1;
    if (_r1.i != _r4.i) goto label219;
    _r1.l = _r6.l;
    goto label158;
    label219:;
    _r1.i = 1;
    goto label205;
    label221:;
    _r0.i = _r1.i;
    goto label199;
    label223:;
    _r10_o = _r7_o;
    _r6.l = _r0.l;
    _r1.i = _r4.i;
    _r0_o = _r10_o;
    goto label205;
    label228:;
    _r0.l = _r2.l;
    goto label88;
//XMLVM_END_WRAPPER[java.math.BigDecimal: java.math.BigDecimal divide(java.math.BigDecimal, java.math.MathContext)]
}
Пример #12
0
private static global::System.Object divideBigIntegers(global::java.math.BigInteger n1, global::java.math.BigInteger n2, int n3, global::java.math.RoundingMode n4){
//XMLVM_BEGIN_WRAPPER[java.math.BigDecimal: java.math.BigDecimal divideBigIntegers(java.math.BigInteger, java.math.BigInteger, int, java.math.RoundingMode)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    global::org.xmlvm._nElement _r3;
    global::System.Object _r3_o = null;
    global::org.xmlvm._nElement _r5;
    global::org.xmlvm._nElement _r7;
    global::org.xmlvm._nElement _r8;
    global::org.xmlvm._nElement _r9;
    global::System.Object _r10_o = null;
    global::System.Object _r11_o = null;
    global::org.xmlvm._nElement _r12;
    global::System.Object _r13_o = null;
    _r10_o = n1;
    _r11_o = n2;
    _r12.i = n3;
    _r13_o = n4;
    _r9.i = 63;
    _r8.i = 1;
    _r7.i = 0;
    _r0_o = ((global::java.math.BigInteger) _r10_o).divideAndRemainder((global::java.math.BigInteger) _r11_o);
    _r1_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r0_o)[_r7.i];
    _r0_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r0_o)[_r8.i];
    _r2.i = ((global::java.math.BigInteger) _r0_o).signum();
    if (_r2.i != 0) goto label24;
    _r0_o = new global::java.math.BigDecimal();
    ((global::java.math.BigDecimal) _r0_o).@this((global::java.math.BigInteger) _r1_o, (int) _r12.i);
    label23:;
    return (global::java.math.BigDecimal) _r0_o;
    label24:;
    _r2.i = ((global::java.math.BigInteger) _r10_o).signum();
    _r3.i = ((global::java.math.BigInteger) _r11_o).signum();
    _r2.i = _r2.i * _r3.i;
    _r3.i = ((global::java.math.BigInteger) _r11_o).bitLength();
    if (_r3.i >= _r9.i) goto label96;
    _r3.l = ((global::java.math.BigInteger) _r0_o).longValue();
    _r5.l = ((global::java.math.BigInteger) _r11_o).longValue();
    _r3.l = global::java.lang.Math.abs((long) _r3.l);
    _r3.l = _r3.l << (0x3f & _r8.i);
    _r5.l = global::java.lang.Math.abs((long) _r5.l);
    _r0.i = global::java.math.BigDecimal.longCompareTo((long) _r3.l, (long) _r5.l);
    _r3.i = ((global::java.math.BigInteger) _r1_o).testBit((int) _r7.i) ? 1 : 0;
    if (_r3.i == 0) goto label94;
    _r3.i = _r8.i;
    label67:;
    _r0.i = _r0.i + 5;
    _r0.i = _r0.i * _r2.i;
    _r0.i = global::java.math.BigDecimal.roundingBehavior((int) _r3.i, (int) _r0.i, (global::java.math.RoundingMode) _r13_o);
    label74:;
    if (_r0.i == 0) goto label145;
    _r2.i = ((global::java.math.BigInteger) _r1_o).bitLength();
    if (_r2.i >= _r9.i) goto label129;
    _r1.l = ((global::java.math.BigInteger) _r1_o).longValue();
    _r3.l = (long) _r0.i;
    _r0.l = _r1.l + _r3.l;
    _r0_o = global::java.math.BigDecimal.valueOf((long) _r0.l, (int) _r12.i);
    goto label23;
    label94:;
    _r3.i = _r7.i;
    goto label67;
    label96:;
    _r0_o = ((global::java.math.BigInteger) _r0_o).abs();
    _r0_o = ((global::java.math.BigInteger) _r0_o).shiftLeftOneBit();
    _r3_o = ((global::java.math.BigInteger) _r11_o).abs();
    _r0.i = ((global::java.math.BigInteger) _r0_o).compareTo((global::java.math.BigInteger) _r3_o);
    _r3.i = ((global::java.math.BigInteger) _r1_o).testBit((int) _r7.i) ? 1 : 0;
    if (_r3.i == 0) goto label127;
    _r3.i = _r8.i;
    label119:;
    _r0.i = _r0.i + 5;
    _r0.i = _r0.i * _r2.i;
    _r0.i = global::java.math.BigDecimal.roundingBehavior((int) _r3.i, (int) _r0.i, (global::java.math.RoundingMode) _r13_o);
    goto label74;
    label127:;
    _r3.i = _r7.i;
    goto label119;
    label129:;
    _r2.l = (long) _r0.i;
    _r0_o = global::java.math.BigInteger.valueOf((long) _r2.l);
    _r0_o = ((global::java.math.BigInteger) _r1_o).add((global::java.math.BigInteger) _r0_o);
    _r1_o = new global::java.math.BigDecimal();
    ((global::java.math.BigDecimal) _r1_o).@this((global::java.math.BigInteger) _r0_o, (int) _r12.i);
    _r0_o = _r1_o;
    goto label23;
    label145:;
    _r0_o = new global::java.math.BigDecimal();
    ((global::java.math.BigDecimal) _r0_o).@this((global::java.math.BigInteger) _r1_o, (int) _r12.i);
    goto label23;
//XMLVM_END_WRAPPER[java.math.BigDecimal: java.math.BigDecimal divideBigIntegers(java.math.BigInteger, java.math.BigInteger, int, java.math.RoundingMode)]
}
Пример #13
0
public virtual global::System.Object multiply(global::java.math.BigDecimal n1){
//XMLVM_BEGIN_WRAPPER[java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r2;
    global::System.Object _r2_o = null;
    global::org.xmlvm._nElement _r3;
    global::System.Object _r3_o = null;
    global::org.xmlvm._nElement _r4;
    global::System.Object _r4_o = null;
    global::System.Object _r6_o = null;
    global::System.Object _r7_o = null;
    _r6_o = this;
    _r7_o = n1;
    _r0.i = ((global::java.math.BigDecimal) _r6_o)._fscale;
    _r0.l = (long) _r0.i;
    _r2.i = ((global::java.math.BigDecimal) _r7_o)._fscale;
    _r2.l = (long) _r2.i;
    _r0.l = _r0.l + _r2.l;
    _r2.i = ((global::java.math.BigDecimal) _r6_o).isZero() ? 1 : 0;
    if (_r2.i != 0) goto label19;
    _r2.i = ((global::java.math.BigDecimal) _r7_o).isZero() ? 1 : 0;
    if (_r2.i == 0) goto label24;
    label19:;
    _r0_o = global::java.math.BigDecimal.zeroScaledBy((long) _r0.l);
    label23:;
    return (global::java.math.BigDecimal) _r0_o;
    label24:;
    _r2.i = ((global::java.math.BigDecimal) _r6_o)._fbitLength;
    _r3.i = ((global::java.math.BigDecimal) _r7_o)._fbitLength;
    _r2.i = _r2.i + _r3.i;
    _r3.i = 64;
    if (_r2.i >= _r3.i) goto label47;
    _r2.l = ((global::java.math.BigDecimal) _r6_o)._fsmallValue;
    _r4.l = ((global::java.math.BigDecimal) _r7_o)._fsmallValue;
    _r2.l = _r2.l * _r4.l;
    _r0.i = global::java.math.BigDecimal.toIntScale((long) _r0.l);
    _r0_o = global::java.math.BigDecimal.valueOf((long) _r2.l, (int) _r0.i);
    goto label23;
    label47:;
    _r2_o = new global::java.math.BigDecimal();
    _r3_o = ((global::java.math.BigDecimal) _r6_o).getUnscaledValue();
    _r4_o = ((global::java.math.BigDecimal) _r7_o).getUnscaledValue();
    _r3_o = ((global::java.math.BigInteger) _r3_o).multiply((global::java.math.BigInteger) _r4_o);
    _r0.i = global::java.math.BigDecimal.toIntScale((long) _r0.l);
    ((global::java.math.BigDecimal) _r2_o).@this((global::java.math.BigInteger) _r3_o, (int) _r0.i);
    _r0_o = _r2_o;
    goto label23;
//XMLVM_END_WRAPPER[java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal)]
}
Пример #14
0
public virtual global::System.Object subtract(global::java.math.BigDecimal n1, global::java.math.MathContext n2){
//XMLVM_BEGIN_WRAPPER[java.math.BigDecimal: java.math.BigDecimal subtract(java.math.BigDecimal, java.math.MathContext)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    global::System.Object _r2_o = null;
    global::org.xmlvm._nElement _r4;
    global::org.xmlvm._nElement _r6;
    global::System.Object _r7_o = null;
    global::System.Object _r8_o = null;
    global::System.Object _r9_o = null;
    _r7_o = this;
    _r8_o = n1;
    _r9_o = n2;
    _r6.i = 10;
    _r0.i = ((global::java.math.BigDecimal) _r8_o)._fscale;
    _r0.l = (long) _r0.i;
    _r2.i = ((global::java.math.BigDecimal) _r7_o)._fscale;
    _r2.l = (long) _r2.i;
    _r0.l = _r0.l - _r2.l;
    _r2.i = ((global::java.math.BigDecimal) _r8_o).isZero() ? 1 : 0;
    if (_r2.i != 0) goto label27;
    _r2.i = ((global::java.math.BigDecimal) _r7_o).isZero() ? 1 : 0;
    if (_r2.i != 0) goto label27;
    _r2.i = ((global::java.math.MathContext) _r9_o).getPrecision();
    if (_r2.i != 0) goto label36;
    label27:;
    _r0_o = ((global::java.math.BigDecimal) _r7_o).subtract((global::java.math.BigDecimal) _r8_o);
    _r0_o = ((global::java.math.BigDecimal) _r0_o).round((global::java.math.MathContext) _r9_o);
    label35:;
    return (global::java.math.BigDecimal) _r0_o;
    label36:;
    _r2.i = ((global::java.math.BigDecimal) _r8_o).aproxPrecision();
    _r2.l = (long) _r2.i;
    _r4.l = 1L;
    _r0.l = _r0.l - _r4.l;
    _r0.i = _r2.l > _r0.l ? 1 : (_r2.l == _r0.l ? 0 : -1);
    if (_r0.i >= 0) goto label128;
    _r0.i = ((global::java.math.MathContext) _r9_o).getPrecision();
    _r1.i = ((global::java.math.BigDecimal) _r7_o).aproxPrecision();
    if (_r0.i >= _r1.i) goto label128;
    _r0.i = ((global::java.math.BigDecimal) _r7_o).signum();
    _r1.i = ((global::java.math.BigDecimal) _r8_o).signum();
    if (_r0.i == _r1.i) goto label99;
    _r1_o = ((global::java.math.BigDecimal) _r7_o).getUnscaledValue();
    _r1_o = global::java.math.Multiplication.multiplyByPositiveInt((global::java.math.BigInteger) _r1_o, (int) _r6.i);
    _r2.l = (long) _r0.i;
    _r0_o = global::java.math.BigInteger.valueOf((long) _r2.l);
    _r0_o = ((global::java.math.BigInteger) _r1_o).add((global::java.math.BigInteger) _r0_o);
    label85:;
    _r1_o = new global::java.math.BigDecimal();
    _r2.i = ((global::java.math.BigDecimal) _r7_o)._fscale;
    _r2.i = _r2.i + 1;
    ((global::java.math.BigDecimal) _r1_o).@this((global::java.math.BigInteger) _r0_o, (int) _r2.i);
    _r0_o = ((global::java.math.BigDecimal) _r1_o).round((global::java.math.MathContext) _r9_o);
    goto label35;
    label99:;
    _r1_o = ((global::java.math.BigDecimal) _r7_o).getUnscaledValue();
    _r2.l = (long) _r0.i;
    _r2_o = global::java.math.BigInteger.valueOf((long) _r2.l);
    _r1_o = ((global::java.math.BigInteger) _r1_o).subtract((global::java.math.BigInteger) _r2_o);
    _r1_o = global::java.math.Multiplication.multiplyByPositiveInt((global::java.math.BigInteger) _r1_o, (int) _r6.i);
    _r0.i = _r0.i * 9;
    _r2.l = (long) _r0.i;
    _r0_o = global::java.math.BigInteger.valueOf((long) _r2.l);
    _r0_o = ((global::java.math.BigInteger) _r1_o).add((global::java.math.BigInteger) _r0_o);
    goto label85;
    label128:;
    _r0_o = ((global::java.math.BigDecimal) _r7_o).subtract((global::java.math.BigDecimal) _r8_o);
    _r0_o = ((global::java.math.BigDecimal) _r0_o).round((global::java.math.MathContext) _r9_o);
    goto label35;
//XMLVM_END_WRAPPER[java.math.BigDecimal: java.math.BigDecimal subtract(java.math.BigDecimal, java.math.MathContext)]
}
Пример #15
0
private void inplaceRound(global::java.math.MathContext n1){
//XMLVM_BEGIN_WRAPPER[java.math.BigDecimal: void inplaceRound(java.math.MathContext)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    global::System.Object _r2_o = null;
    global::org.xmlvm._nElement _r3;
    global::System.Object _r3_o = null;
    global::org.xmlvm._nElement _r4;
    global::org.xmlvm._nElement _r6;
    global::System.Object _r6_o = null;
    global::org.xmlvm._nElement _r8;
    global::org.xmlvm._nElement _r9;
    global::System.Object _r10_o = null;
    global::System.Object _r11_o = null;
    _r10_o = this;
    _r11_o = n1;
    _r9.i = 1;
    _r8.i = 0;
    _r0.i = ((global::java.math.MathContext) _r11_o).getPrecision();
    _r1.i = ((global::java.math.BigDecimal) _r10_o).aproxPrecision();
    _r1.i = _r1.i - _r0.i;
    if (_r1.i <= 0) goto label15;
    if (_r0.i != 0) goto label16;
    label15:;
    return;
    label16:;
    _r1.i = ((global::java.math.BigDecimal) _r10_o).precision();
    _r1.i = _r1.i - _r0.i;
    if (_r1.i <= 0) goto label15;
    _r2.i = ((global::java.math.BigDecimal) _r10_o)._fbitLength;
    _r3.i = 64;
    if (_r2.i >= _r3.i) goto label33;
    ((global::java.math.BigDecimal) _r10_o).smallRound((global::java.math.MathContext) _r11_o, (int) _r1.i);
    goto label15;
    label33:;
    _r2.l = (long) _r1.i;
    _r2_o = global::java.math.Multiplication.powerOf10((long) _r2.l);
    _r3_o = ((global::java.math.BigDecimal) _r10_o).getUnscaledValue();
    _r3_o = ((global::java.math.BigInteger) _r3_o).divideAndRemainder((global::java.math.BigInteger) _r2_o);
    _r4.i = ((global::java.math.BigDecimal) _r10_o)._fscale;
    _r4.l = (long) _r4.i;
    _r6.l = (long) _r1.i;
    _r4.l = _r4.l - _r6.l;
    _r1_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r3_o)[_r9.i];
    _r1.i = ((global::java.math.BigInteger) _r1_o).signum();
    if (_r1.i == 0) goto label158;
    _r1_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r3_o)[_r9.i];
    _r1_o = ((global::java.math.BigInteger) _r1_o).abs();
    _r1_o = ((global::java.math.BigInteger) _r1_o).shiftLeftOneBit();
    _r1.i = ((global::java.math.BigInteger) _r1_o).compareTo((global::java.math.BigInteger) _r2_o);
    _r2_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r3_o)[_r8.i];
    _r2.i = ((global::java.math.BigInteger) _r2_o).testBit((int) _r8.i) ? 1 : 0;
    if (_r2.i == 0) goto label156;
    _r2.i = _r9.i;
    label82:;
    _r6_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r3_o)[_r9.i];
    _r6.i = ((global::java.math.BigInteger) _r6_o).signum();
    _r1.i = _r1.i + 5;
    _r1.i = _r1.i * _r6.i;
    _r6_o = ((global::java.math.MathContext) _r11_o).getRoundingMode();
    _r1.i = global::java.math.BigDecimal.roundingBehavior((int) _r2.i, (int) _r1.i, (global::java.math.RoundingMode) _r6_o);
    if (_r1.i == 0) goto label114;
    _r2_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r3_o)[_r8.i];
    _r6.l = (long) _r1.i;
    _r1_o = global::java.math.BigInteger.valueOf((long) _r6.l);
    _r1_o = ((global::java.math.BigInteger) _r2_o).add((global::java.math.BigInteger) _r1_o);
    ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r3_o)[_r8.i] = _r1_o;
    label114:;
    _r1_o = new global::java.math.BigDecimal();
    _r2_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r3_o)[_r8.i];
    ((global::java.math.BigDecimal) _r1_o).@this((global::java.math.BigInteger) _r2_o);
    _r1.i = ((global::java.math.BigDecimal) _r1_o).precision();
    if (_r1.i <= _r0.i) goto label158;
    _r1_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r3_o)[_r8.i];
    _r2_o = global::java.math.BigInteger._fTEN;
    _r1_o = ((global::java.math.BigInteger) _r1_o).divide((global::java.math.BigInteger) _r2_o);
    ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r3_o)[_r8.i] = _r1_o;
    _r1.l = 1L;
    _r1.l = _r4.l - _r1.l;
    label141:;
    _r1.i = global::java.math.BigDecimal.toIntScale((long) _r1.l);
    ((global::java.math.BigDecimal) _r10_o)._fscale = _r1.i;
    ((global::java.math.BigDecimal) _r10_o)._fprecision = _r0.i;
    _r0_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r3_o)[_r8.i];
    ((global::java.math.BigDecimal) _r10_o).setUnscaledValue((global::java.math.BigInteger) _r0_o);
    goto label15;
    label156:;
    _r2.i = _r8.i;
    goto label82;
    label158:;
    _r1.l = _r4.l;
    goto label141;
//XMLVM_END_WRAPPER[java.math.BigDecimal: void inplaceRound(java.math.MathContext)]
}
Пример #16
0
public virtual global::System.Object pow(int n1){
//XMLVM_BEGIN_WRAPPER[java.math.BigDecimal: java.math.BigDecimal pow(int)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    global::System.Object _r2_o = null;
    global::System.Object _r3_o = null;
    global::System.Object _r4_o = null;
    global::org.xmlvm._nElement _r5;
    _r4_o = this;
    _r5.i = n1;
    if (_r5.i != 0) goto label5;
    _r0_o = global::java.math.BigDecimal._fONE;
    label4:;
    return (global::java.math.BigDecimal) _r0_o;
    label5:;
    if (_r5.i < 0) goto label12;
    _r0.i = 999999999;
    if (_r5.i <= _r0.i) goto label24;
    label12:;
    _r0_o = new global::java.lang.ArithmeticException();
    // Value=math.07
    _r1_o = new global::java.lang.String();
    ((global::java.lang.String)_r1_o).@this(new global::org.xmlvm._nArrayAdapter<char>(new char[] {unchecked((char) unchecked((uint)109)), unchecked((char) unchecked((uint) 97)), unchecked((char) unchecked((uint) 116)), unchecked((char) unchecked((uint) 104)), unchecked((char) unchecked((uint) 46)), unchecked((char) unchecked((uint) 48)), unchecked((char) unchecked((uint) 55))}));
    _r1_o = global::[email protected]((global::java.lang.String) _r1_o);
    ((global::java.lang.ArithmeticException) _r0_o).@this((global::java.lang.String) _r1_o);
    throw new global::org.xmlvm._nExceptionAdapter((global::java.lang.ArithmeticException) _r0_o);
    label24:;
    _r0.i = ((global::java.math.BigDecimal) _r4_o)._fscale;
    _r0.l = (long) _r0.i;
    _r2.l = (long) _r5.i;
    _r0.l = _r0.l * _r2.l;
    _r2.i = ((global::java.math.BigDecimal) _r4_o).isZero() ? 1 : 0;
    if (_r2.i == 0) goto label40;
    _r0_o = global::java.math.BigDecimal.zeroScaledBy((long) _r0.l);
    goto label4;
    label40:;
    _r2_o = new global::java.math.BigDecimal();
    _r3_o = ((global::java.math.BigDecimal) _r4_o).getUnscaledValue();
    _r3_o = ((global::java.math.BigInteger) _r3_o).pow((int) _r5.i);
    _r0.i = global::java.math.BigDecimal.toIntScale((long) _r0.l);
    ((global::java.math.BigDecimal) _r2_o).@this((global::java.math.BigInteger) _r3_o, (int) _r0.i);
    _r0_o = _r2_o;
    goto label4;
//XMLVM_END_WRAPPER[java.math.BigDecimal: java.math.BigDecimal pow(int)]
}
Пример #17
0
private static global::System.Object zeroScaledBy(long n1){
//XMLVM_BEGIN_WRAPPER[java.math.BigDecimal: java.math.BigDecimal zeroScaledBy(long)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::org.xmlvm._nElement _r2;
    global::org.xmlvm._nElement _r3;
    global::org.xmlvm._nElement _r5;
    _r5.l = n1;
    _r3.l = 0L;
    _r2.i = 0;
    _r0.i = (int) _r5.l;
    _r0.l = (long) _r0.i;
    _r0.i = _r5.l > _r0.l ? 1 : (_r5.l == _r0.l ? 0 : -1);
    if (_r0.i != 0) goto label15;
    _r0.i = (int) _r5.l;
    _r0_o = global::java.math.BigDecimal.valueOf((long) _r3.l, (int) _r0.i);
    label14:;
    return (global::java.math.BigDecimal) _r0_o;
    label15:;
    _r0.i = _r5.l > _r3.l ? 1 : (_r5.l == _r3.l ? 0 : -1);
    if (_r0.i < 0) goto label28;
    _r0_o = new global::java.math.BigDecimal();
    _r1.i = 2147483647;
    ((global::java.math.BigDecimal) _r0_o).@this((int) _r2.i, (int) _r1.i);
    goto label14;
    label28:;
    _r0_o = new global::java.math.BigDecimal();
    _r1.i = -2147483648;
    ((global::java.math.BigDecimal) _r0_o).@this((int) _r2.i, (int) _r1.i);
    goto label14;
//XMLVM_END_WRAPPER[java.math.BigDecimal: java.math.BigDecimal zeroScaledBy(long)]
}
Пример #18
0
public virtual global::System.Object negate(){
//XMLVM_BEGIN_WRAPPER[java.math.BigDecimal: java.math.BigDecimal negate()]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    global::System.Object _r4_o = null;
    _r4_o = this;
    _r1.i = 63;
    _r0.i = ((global::java.math.BigDecimal) _r4_o)._fbitLength;
    if (_r0.i < _r1.i) goto label18;
    _r0.i = ((global::java.math.BigDecimal) _r4_o)._fbitLength;
    if (_r0.i != _r1.i) goto label28;
    _r0.l = ((global::java.math.BigDecimal) _r4_o)._fsmallValue;
    _r2.l = -9223372036854775808L;
    _r0.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
    if (_r0.i == 0) goto label28;
    label18:;
    _r0.l = ((global::java.math.BigDecimal) _r4_o)._fsmallValue;
    _r0.l = -_r0.l;
    _r2.i = ((global::java.math.BigDecimal) _r4_o)._fscale;
    _r0_o = global::java.math.BigDecimal.valueOf((long) _r0.l, (int) _r2.i);
    label27:;
    return (global::java.math.BigDecimal) _r0_o;
    label28:;
    _r0_o = new global::java.math.BigDecimal();
    _r1_o = ((global::java.math.BigDecimal) _r4_o).getUnscaledValue();
    _r1_o = ((global::java.math.BigInteger) _r1_o).negate();
    _r2.i = ((global::java.math.BigDecimal) _r4_o)._fscale;
    ((global::java.math.BigDecimal) _r0_o).@this((global::java.math.BigInteger) _r1_o, (int) _r2.i);
    goto label27;
//XMLVM_END_WRAPPER[java.math.BigDecimal: java.math.BigDecimal negate()]
}
Пример #19
0
public static global::System.Object valueOf(long n1, int n2){
//XMLVM_BEGIN_WRAPPER[java.math.BigDecimal: java.math.BigDecimal valueOf(long, int)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r2;
    global::org.xmlvm._nElement _r4;
    _r2.l = n1;
    _r4.i = n2;
    if (_r4.i != 0) goto label7;
    _r0_o = global::java.math.BigDecimal.valueOf((long) _r2.l);
    label6:;
    return (global::java.math.BigDecimal) _r0_o;
    label7:;
    _r0.l = 0L;
    _r0.i = _r2.l > _r0.l ? 1 : (_r2.l == _r0.l ? 0 : -1);
    if (_r0.i != 0) goto label25;
    if (_r4.i < 0) goto label25;
    _r0_o = global::java.math.BigDecimal._fZERO_1SCALED_1BY;
    _r0.i = ((global::org.xmlvm._nIArray) _r0_o).Length;
    if (_r4.i >= _r0.i) goto label25;
    _r0_o = global::java.math.BigDecimal._fZERO_1SCALED_1BY;
    _r0_o = ((global::org.xmlvm._nArrayAdapter<global::System.Object>) _r0_o)[_r4.i];
    goto label6;
    label25:;
    _r0_o = new global::java.math.BigDecimal();
    ((global::java.math.BigDecimal) _r0_o).@this((long) _r2.l, (int) _r4.i);
    goto label6;
//XMLVM_END_WRAPPER[java.math.BigDecimal: java.math.BigDecimal valueOf(long, int)]
}
Пример #20
0
public virtual global::System.Object round(global::java.math.MathContext n1){
//XMLVM_BEGIN_WRAPPER[java.math.BigDecimal: java.math.BigDecimal round(java.math.MathContext)]
    global::System.Object _r0_o = null;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    global::System.Object _r3_o = null;
    global::System.Object _r4_o = null;
    _r3_o = this;
    _r4_o = n1;
    _r0_o = new global::java.math.BigDecimal();
    _r1_o = ((global::java.math.BigDecimal) _r3_o).getUnscaledValue();
    _r2.i = ((global::java.math.BigDecimal) _r3_o)._fscale;
    ((global::java.math.BigDecimal) _r0_o).@this((global::java.math.BigInteger) _r1_o, (int) _r2.i);
    ((global::java.math.BigDecimal) _r0_o).inplaceRound((global::java.math.MathContext) _r4_o);
    return (global::java.math.BigDecimal) _r0_o;
//XMLVM_END_WRAPPER[java.math.BigDecimal: java.math.BigDecimal round(java.math.MathContext)]
}
Пример #21
0
public static global::System.Object valueOf(double n1){
//XMLVM_BEGIN_WRAPPER[java.math.BigDecimal: java.math.BigDecimal valueOf(double)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    _r2.d = n1;
    _r0.i = global::java.lang.Double.isInfinite((double) _r2.d) ? 1 : 0;
    if (_r0.i != 0) goto label12;
    _r0.i = global::java.lang.Double.isNaN((double) _r2.d) ? 1 : 0;
    if (_r0.i == 0) goto label24;
    label12:;
    _r0_o = new global::java.lang.NumberFormatException();
    // Value=math.03
    _r1_o = new global::java.lang.String();
    ((global::java.lang.String)_r1_o).@this(new global::org.xmlvm._nArrayAdapter<char>(new char[] {unchecked((char) unchecked((uint)109)), unchecked((char) unchecked((uint) 97)), unchecked((char) unchecked((uint) 116)), unchecked((char) unchecked((uint) 104)), unchecked((char) unchecked((uint) 46)), unchecked((char) unchecked((uint) 48)), unchecked((char) unchecked((uint) 51))}));
    _r1_o = global::[email protected]((global::java.lang.String) _r1_o);
    ((global::java.lang.NumberFormatException) _r0_o).@this((global::java.lang.String) _r1_o);
    throw new global::org.xmlvm._nExceptionAdapter((global::java.lang.NumberFormatException) _r0_o);
    label24:;
    _r0_o = new global::java.math.BigDecimal();
    _r1_o = global::java.lang.Double.toString((double) _r2.d);
    ((global::java.math.BigDecimal) _r0_o).@this((global::java.lang.String) _r1_o);
    return (global::java.math.BigDecimal) _r0_o;
//XMLVM_END_WRAPPER[java.math.BigDecimal: java.math.BigDecimal valueOf(double)]
}
Пример #22
0
public virtual global::System.Object setScale(int n1, global::java.math.RoundingMode n2){
//XMLVM_BEGIN_WRAPPER[java.math.BigDecimal: java.math.BigDecimal setScale(int, java.math.RoundingMode)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    global::org.xmlvm._nElement _r4;
    global::System.Object _r4_o = null;
    global::org.xmlvm._nElement _r5;
    global::System.Object _r5_o = null;
    global::org.xmlvm._nElement _r6;
    global::System.Object _r8_o = null;
    global::org.xmlvm._nElement _r9;
    global::System.Object _r10_o = null;
    _r8_o = this;
    _r9.i = n1;
    _r10_o = n2;
    _r6.l = 0L;
    _r5.i = 64;
    if (_r10_o != null) goto label12;
    _r0_o = new global::java.lang.NullPointerException();
    ((global::java.lang.NullPointerException) _r0_o).@this();
    throw new global::org.xmlvm._nExceptionAdapter((global::java.lang.NullPointerException) _r0_o);
    label12:;
    _r0.l = (long) _r9.i;
    _r2.i = ((global::java.math.BigDecimal) _r8_o)._fscale;
    _r2.l = (long) _r2.i;
    _r2.l = _r0.l - _r2.l;
    _r0.i = _r2.l > _r6.l ? 1 : (_r2.l == _r6.l ? 0 : -1);
    if (_r0.i != 0) goto label24;
    _r0_o = _r8_o;
    label23:;
    return (global::java.math.BigDecimal) _r0_o;
    label24:;
    _r0.i = _r2.l > _r6.l ? 1 : (_r2.l == _r6.l ? 0 : -1);
    if (_r0.i <= 0) goto label75;
    _r0_o = global::java.math.BigDecimal._fLONG_1TEN_1POW;
    _r0.i = ((global::org.xmlvm._nIArray) _r0_o).Length;
    _r0.l = (long) _r0.i;
    _r0.i = _r2.l > _r0.l ? 1 : (_r2.l == _r0.l ? 0 : -1);
    if (_r0.i >= 0) goto label59;
    _r0.i = ((global::java.math.BigDecimal) _r8_o)._fbitLength;
    _r1_o = global::java.math.BigDecimal._fLONG_1TEN_1POW_1BIT_1LENGTH;
    _r4.i = (int) _r2.l;
    _r1.i = ((global::org.xmlvm._nArrayAdapter<int>) _r1_o)[_r4.i];
    _r0.i = _r0.i + _r1.i;
    if (_r0.i >= _r5.i) goto label59;
    _r0.l = ((global::java.math.BigDecimal) _r8_o)._fsmallValue;
    _r4_o = global::java.math.BigDecimal._fLONG_1TEN_1POW;
    _r2.i = (int) _r2.l;
    _r2.l = ((global::org.xmlvm._nArrayAdapter<long>) _r4_o)[_r2.i];
    _r0.l = _r0.l * _r2.l;
    _r0_o = global::java.math.BigDecimal.valueOf((long) _r0.l, (int) _r9.i);
    goto label23;
    label59:;
    _r0_o = new global::java.math.BigDecimal();
    _r1_o = ((global::java.math.BigDecimal) _r8_o).getUnscaledValue();
    _r2.i = (int) _r2.l;
    _r2.l = (long) _r2.i;
    _r1_o = global::java.math.Multiplication.multiplyByTenPow((global::java.math.BigInteger) _r1_o, (long) _r2.l);
    ((global::java.math.BigDecimal) _r0_o).@this((global::java.math.BigInteger) _r1_o, (int) _r9.i);
    goto label23;
    label75:;
    _r0.i = ((global::java.math.BigDecimal) _r8_o)._fbitLength;
    if (_r0.i >= _r5.i) goto label103;
    _r0.l = -_r2.l;
    _r4_o = global::java.math.BigDecimal._fLONG_1TEN_1POW;
    _r4.i = ((global::org.xmlvm._nIArray) _r4_o).Length;
    _r4.l = (long) _r4.i;
    _r0.i = _r0.l > _r4.l ? 1 : (_r0.l == _r4.l ? 0 : -1);
    if (_r0.i >= 0) goto label103;
    _r0.l = ((global::java.math.BigDecimal) _r8_o)._fsmallValue;
    _r4_o = global::java.math.BigDecimal._fLONG_1TEN_1POW;
    _r2.l = -_r2.l;
    _r2.i = (int) _r2.l;
    _r2.l = ((global::org.xmlvm._nArrayAdapter<long>) _r4_o)[_r2.i];
    _r4.i = _r9.i;
    _r5_o = _r10_o;
    _r0_o = global::java.math.BigDecimal.dividePrimitiveLongs((long) _r0.l, (long) _r2.l, (int) _r4.i, (global::java.math.RoundingMode) _r5_o);
    goto label23;
    label103:;
    _r0_o = ((global::java.math.BigDecimal) _r8_o).getUnscaledValue();
    _r1.l = -_r2.l;
    _r1_o = global::java.math.Multiplication.powerOf10((long) _r1.l);
    _r0_o = global::java.math.BigDecimal.divideBigIntegers((global::java.math.BigInteger) _r0_o, (global::java.math.BigInteger) _r1_o, (int) _r9.i, (global::java.math.RoundingMode) _r10_o);
    goto label23;
//XMLVM_END_WRAPPER[java.math.BigDecimal: java.math.BigDecimal setScale(int, java.math.RoundingMode)]
}
Пример #23
0
private static global::System.Object addAndMult10(global::java.math.BigDecimal n1, global::java.math.BigDecimal n2, int n3){
//XMLVM_BEGIN_WRAPPER[java.math.BigDecimal: java.math.BigDecimal addAndMult10(java.math.BigDecimal, java.math.BigDecimal, int)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    global::System.Object _r2_o = null;
    global::org.xmlvm._nElement _r3;
    global::org.xmlvm._nElement _r4;
    global::System.Object _r4_o = null;
    global::System.Object _r6_o = null;
    global::System.Object _r7_o = null;
    global::org.xmlvm._nElement _r8;
    _r6_o = n1;
    _r7_o = n2;
    _r8.i = n3;
    _r0_o = global::java.math.BigDecimal._fLONG_1TEN_1POW;
    _r0.i = ((global::org.xmlvm._nIArray) _r0_o).Length;
    if (_r8.i >= _r0.i) goto label41;
    _r0.i = ((global::java.math.BigDecimal) _r6_o)._fbitLength;
    _r1.i = ((global::java.math.BigDecimal) _r7_o)._fbitLength;
    _r2_o = global::java.math.BigDecimal._fLONG_1TEN_1POW_1BIT_1LENGTH;
    _r2.i = ((global::org.xmlvm._nArrayAdapter<int>) _r2_o)[_r8.i];
    _r1.i = _r1.i + _r2.i;
    _r0.i = global::java.lang.Math.max((int) _r0.i, (int) _r1.i);
    _r0.i = _r0.i + 1;
    _r1.i = 64;
    if (_r0.i >= _r1.i) goto label41;
    _r0.l = ((global::java.math.BigDecimal) _r6_o)._fsmallValue;
    _r2.l = ((global::java.math.BigDecimal) _r7_o)._fsmallValue;
    _r4_o = global::java.math.BigDecimal._fLONG_1TEN_1POW;
    _r4.l = ((global::org.xmlvm._nArrayAdapter<long>) _r4_o)[_r8.i];
    _r2.l = _r2.l * _r4.l;
    _r0.l = _r0.l + _r2.l;
    _r2.i = ((global::java.math.BigDecimal) _r6_o)._fscale;
    _r0_o = global::java.math.BigDecimal.valueOf((long) _r0.l, (int) _r2.i);
    label40:;
    return (global::java.math.BigDecimal) _r0_o;
    label41:;
    _r0_o = new global::java.math.BigDecimal();
    _r1_o = ((global::java.math.BigDecimal) _r6_o).getUnscaledValue();
    _r2_o = ((global::java.math.BigDecimal) _r7_o).getUnscaledValue();
    _r3.l = (long) _r8.i;
    _r2_o = global::java.math.Multiplication.multiplyByTenPow((global::java.math.BigInteger) _r2_o, (long) _r3.l);
    _r1_o = ((global::java.math.BigInteger) _r1_o).add((global::java.math.BigInteger) _r2_o);
    _r2.i = ((global::java.math.BigDecimal) _r6_o)._fscale;
    ((global::java.math.BigDecimal) _r0_o).@this((global::java.math.BigInteger) _r1_o, (int) _r2.i);
    goto label40;
//XMLVM_END_WRAPPER[java.math.BigDecimal: java.math.BigDecimal addAndMult10(java.math.BigDecimal, java.math.BigDecimal, int)]
}
Пример #24
0
public virtual void transform_1g(){
//XMLVM_BEGIN_WRAPPER[java.util.Formatter$FloatUtil: void transform_g()]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    global::System.Object _r2_o = null;
    global::org.xmlvm._nElement _r3;
    global::System.Object _r3_o = null;
    global::org.xmlvm._nElement _r4;
    global::System.Object _r4_o = null;
    global::org.xmlvm._nElement _r5;
    global::System.Object _r5_o = null;
    global::org.xmlvm._nElement _r7;
    global::org.xmlvm._nElement _r9;
    global::org.xmlvm._nElement _r11;
    global::System.Object _r13_o = null;
    _r13_o = this;
    _r0_o = ((global::java.util.Formatter_2FloatUtil) _r13_o)._fformatToken;
    _r0.i = ((global::java.util.Formatter_2FormatToken) _r0_o).getPrecision();
    if (_r0.i != 0) goto label40;
    _r0.i = 1;
    _r1.i = _r0.i;
    label10:;
    _r0_o = ((global::java.util.Formatter_2FloatUtil) _r13_o)._fformatToken;
    ((global::java.util.Formatter_2FormatToken) _r0_o).setPrecision((int) _r1.i);
    _r2.d = 0.0D;
    _r0_o = ((global::java.util.Formatter_2FloatUtil) _r13_o)._fargument;
    _r4.d = ((global::java.lang.Number) _r0_o).doubleValue();
    _r0.i = _r2.d > _r4.d ? 1 : (_r2.d == _r4.d ? 0 : -1);
    if (_r0.i != 0) goto label42;
    _r0.i = _r1.i + -1;
    _r1_o = ((global::java.util.Formatter_2FloatUtil) _r13_o)._fformatToken;
    ((global::java.util.Formatter_2FormatToken) _r1_o).setPrecision((int) _r0.i);
    ((global::java.util.Formatter_2FloatUtil) _r13_o).transform_1f();
    label39:;
    return;
    label40:;
    _r1.i = _r0.i;
    goto label10;
    label42:;
    _r2.i = 1;
    _r0_o = ((global::java.util.Formatter_2FloatUtil) _r13_o)._fargument;
    _r3.d = ((global::java.lang.Number) _r0_o).doubleValue();
    _r3.d = global::java.lang.Math.abs((double) _r3.d);
    _r0.i = global::java.lang.Double.isInfinite((double) _r3.d) ? 1 : 0;
    if (_r0.i == 0) goto label78;
    _r0_o = ((global::java.util.Formatter_2FloatUtil) _r13_o)._fformatToken;
    _r0.i = ((global::java.util.Formatter_2FormatToken) _r0_o).getPrecision();
    _r0.i = _r0.i + -1;
    _r1_o = ((global::java.util.Formatter_2FloatUtil) _r13_o)._fformatToken;
    ((global::java.util.Formatter_2FormatToken) _r1_o).setPrecision((int) _r0.i);
    ((global::java.util.Formatter_2FloatUtil) _r13_o).transform_1e();
    goto label39;
    label78:;
    _r0_o = new global::java.math.BigDecimal();
    _r5_o = new global::java.math.MathContext();
    ((global::java.math.MathContext) _r5_o).@this((int) _r1.i);
    ((global::java.math.BigDecimal) _r0_o).@this((double) _r3.d, (global::java.math.MathContext) _r5_o);
    _r3.d = ((global::java.math.BigDecimal) _r0_o).doubleValue();
    _r5.l = ((global::java.math.BigDecimal) _r0_o).longValue();
    _r7.d = 1.0D;
    _r7.i = _r3.d > _r7.d ? 1 : (_r3.d == _r7.d ? 0 : -1);
    if (_r7.i < 0) goto label196;
    _r7.d = 10.0D;
    _r9.d = (double) _r1.i;
    _r7.d = global::java.lang.Math.pow((double) _r7.d, (double) _r9.d);
    _r7.i = _r3.d > _r7.d ? 1 : (_r3.d == _r7.d ? 0 : -1);
    if (_r7.i >= 0) goto label196;
    _r7.d = (double) _r5.l;
    _r9.d = 10.0D;
    _r11.d = (double) _r1.i;
    _r9.d = global::java.lang.Math.pow((double) _r9.d, (double) _r11.d);
    _r0.i = _r7.d > _r9.d ? 1 : (_r7.d == _r9.d ? 0 : -1);
    if (_r0.i >= 0) goto label291;
    _r0.i = 0;
    _r2_o = global::java.lang.String.valueOf((long) _r5.l);
    _r2.i = ((global::java.lang.String) _r2_o).length();
    _r1.i = _r1.i - _r2.i;
    if (_r1.i >= 0) goto label138;
    _r1.i = 0;
    label138:;
    _r5.d = 10.0D;
    _r2.i = _r1.i + 1;
    _r7.d = (double) _r2.i;
    _r5.d = global::java.lang.Math.pow((double) _r5.d, (double) _r7.d);
    _r2.d = _r3.d * _r5.d;
    _r2.l = global::java.lang.Math.round((double) _r2.d);
    _r2_o = global::java.lang.String.valueOf((long) _r2.l);
    _r2.i = ((global::java.lang.String) _r2_o).length();
    _r3_o = ((global::java.util.Formatter_2FloatUtil) _r13_o)._fformatToken;
    _r3.i = ((global::java.util.Formatter_2FormatToken) _r3_o).getPrecision();
    if (_r2.i > _r3.i) goto label171;
    _r1.i = _r1.i + 1;
    label171:;
    _r2_o = ((global::java.util.Formatter_2FloatUtil) _r13_o)._fformatToken;
    ((global::java.util.Formatter_2FormatToken) _r2_o).setPrecision((int) _r1.i);
    label176:;
    if (_r0.i == 0) goto label293;
    _r0_o = ((global::java.util.Formatter_2FloatUtil) _r13_o)._fformatToken;
    _r0.i = ((global::java.util.Formatter_2FormatToken) _r0_o).getPrecision();
    _r0.i = _r0.i + -1;
    _r1_o = ((global::java.util.Formatter_2FloatUtil) _r13_o)._fformatToken;
    ((global::java.util.Formatter_2FormatToken) _r1_o).setPrecision((int) _r0.i);
    ((global::java.util.Formatter_2FloatUtil) _r13_o).transform_1e();
    goto label39;
    label196:;
    _r5.i = 4;
    _r5_o = ((global::java.math.BigDecimal) _r0_o).movePointRight((int) _r5.i);
    _r5.l = ((global::java.math.BigDecimal) _r5_o).longValue();
    _r7.d = 10.0D;
    _r9.d = -4.0D;
    _r7.d = global::java.lang.Math.pow((double) _r7.d, (double) _r9.d);
    _r7.i = _r3.d > _r7.d ? 1 : (_r3.d == _r7.d ? 0 : -1);
    if (_r7.i < 0) goto label291;
    _r7.d = 1.0D;
    _r3.i = _r3.d > _r7.d ? 1 : (_r3.d == _r7.d ? 0 : -1);
    if (_r3.i >= 0) goto label291;
    _r2.i = 0;
    _r3.i = 4;
    _r4_o = global::java.lang.String.valueOf((long) _r5.l);
    _r4.i = ((global::java.lang.String) _r4_o).length();
    _r3.i = _r3.i - _r4.i;
    _r1.i = _r1.i + _r3.i;
    _r3.i = _r1.i + 1;
    _r3_o = ((global::java.math.BigDecimal) _r0_o).movePointRight((int) _r3.i);
    _r3.l = ((global::java.math.BigDecimal) _r3_o).longValue();
    _r3_o = global::java.lang.String.valueOf((long) _r3.l);
    _r3.i = ((global::java.lang.String) _r3_o).length();
    _r4_o = ((global::java.util.Formatter_2FloatUtil) _r13_o)._fformatToken;
    _r4.i = ((global::java.util.Formatter_2FormatToken) _r4_o).getPrecision();
    if (_r3.i > _r4.i) goto label263;
    _r1.i = _r1.i + 1;
    label263:;
    _r0_o = ((global::java.math.BigDecimal) _r0_o).movePointRight((int) _r1.i);
    _r3.l = ((global::java.math.BigDecimal) _r0_o).longValue();
    _r3.d = (double) _r3.l;
    _r5.d = 10.0D;
    _r0.i = 4;
    _r0.i = _r1.i - _r0.i;
    _r7.d = (double) _r0.i;
    _r5.d = global::java.lang.Math.pow((double) _r5.d, (double) _r7.d);
    _r0.i = _r3.d > _r5.d ? 1 : (_r3.d == _r5.d ? 0 : -1);
    if (_r0.i < 0) goto label291;
    _r0_o = ((global::java.util.Formatter_2FloatUtil) _r13_o)._fformatToken;
    ((global::java.util.Formatter_2FormatToken) _r0_o).setPrecision((int) _r1.i);
    label291:;
    _r0.i = _r2.i;
    goto label176;
    label293:;
    ((global::java.util.Formatter_2FloatUtil) _r13_o).transform_1f();
    goto label39;
//XMLVM_END_WRAPPER[java.util.Formatter$FloatUtil: void transform_g()]
}