final class org.apache.commons.text.numbers.ParsedDecimal extends java.lang.Object
{
private static final char MINUS_CHAR;
private static final char DECIMAL_SEP_CHAR;
private static final char EXPONENT_CHAR;
private static final char ZERO_CHAR;
private static final int THOUSANDS_GROUP_SIZE;
private static final int DECIMAL_RADIX;
private static final int ROUND_CENTER;
private static final int ENG_EXPONENT_MOD;
final boolean negative;
final int[] digits;
int digitCount;
int exponent;
private char[] outputChars;
private int outputIdx;
private static int digitValue(char)
{
int v;
char v;
v := @parameter: char;
v = v - 48;
return v;
}
public static org.apache.commons.text.numbers.ParsedDecimal 'from'(double)
{
byte v;
int[] v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v;
boolean v, v, v, v;
double v;
org.apache.commons.text.numbers.ParsedDecimal v, v;
char v, v;
java.lang.IllegalArgumentException v;
char[] v;
v := @parameter: double;
v = staticinvoke <java.lang.Double: boolean isFinite(double)>(v);
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Double is not finite");
throw v;
label:
v = staticinvoke <java.lang.Double: java.lang.String toString(double)>(v);
v = virtualinvoke v.<java.lang.String: char[] toCharArray()>();
v = v[0];
if v != 45 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = lengthof v;
v = v - v;
v = v - 1;
v = newarray (int)[v];
v = 0;
v = 0;
v = 0;
v = 0;
v = v;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
if v != 46 goto label;
v = 1;
v = v;
goto label;
label:
if v == 69 goto label;
if v != 48 goto label;
if v <= 0 goto label;
label:
v = staticinvoke <org.apache.commons.text.numbers.ParsedDecimal: int digitValue(char)>(v);
v = v;
v = v + 1;
v[v] = v;
if v <= 0 goto label;
v = v;
goto label;
label:
if v == 0 goto label;
v = v - 1;
label:
v = v + 1;
goto label;
label:
if v <= 0 goto label;
v = lengthof v;
if v >= v goto label;
v = v + 1;
v = staticinvoke <org.apache.commons.text.numbers.ParsedDecimal: int parseExponent(char[],int)>(v, v);
goto label;
label:
v = 0;
label:
v = v + v;
v = v - v;
v = new org.apache.commons.text.numbers.ParsedDecimal;
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void <init>(boolean,int[],int,int)>(v, v, v, v);
return v;
label:
v = new org.apache.commons.text.numbers.ParsedDecimal;
v = newarray (int)[1];
v[0] = 0;
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void <init>(boolean,int[],int,int)>(v, v, 1, 0);
return v;
}
private static int parseExponent(char[], int)
{
char v, v;
int v, v, v, v, v, v, v;
char[] v;
boolean v, v;
v := @parameter: char[];
v := @parameter: int;
v = v;
v = v[v];
if v != 45 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
v = v + 1;
label:
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v * 10;
v = v[v];
v = staticinvoke <org.apache.commons.text.numbers.ParsedDecimal: int digitValue(char)>(v);
v = v + v;
v = v + 1;
goto label;
label:
if v == 0 goto label;
v = neg v;
goto label;
label:
v = v;
label:
return v;
}
private void <init>(boolean, int[], int, int)
{
int[] v;
int v, v;
org.apache.commons.text.numbers.ParsedDecimal v;
boolean v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v := @parameter: boolean;
v := @parameter: int[];
v := @parameter: int;
v := @parameter: int;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.commons.text.numbers.ParsedDecimal: boolean negative> = v;
v.<org.apache.commons.text.numbers.ParsedDecimal: int[] digits> = v;
v.<org.apache.commons.text.numbers.ParsedDecimal: int digitCount> = v;
v.<org.apache.commons.text.numbers.ParsedDecimal: int exponent> = v;
return;
}
private void append(char)
{
int v, v;
char[] v;
org.apache.commons.text.numbers.ParsedDecimal v;
char v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v := @parameter: char;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: char[] outputChars>;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int outputIdx>;
v = v + 1;
v.<org.apache.commons.text.numbers.ParsedDecimal: int outputIdx> = v;
v[v] = v;
return;
}
private void append(char[])
{
int v, v;
char[] v;
org.apache.commons.text.numbers.ParsedDecimal v;
char v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v := @parameter: char[];
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void append(char)>(v);
v = v + 1;
goto label;
label:
return;
}
private void appendFraction(int, int, org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)
{
org.apache.commons.text.numbers.ParsedDecimal$FormatOptions v;
org.apache.commons.text.numbers.ParsedDecimal v;
char v, v, v;
int[] v;
int v, v, v, v, v, v, v;
char[] v;
boolean v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v := @parameter: int;
v := @parameter: int;
v := @parameter: org.apache.commons.text.numbers.ParsedDecimal$FormatOptions;
v = interfaceinvoke v.<org.apache.commons.text.numbers.ParsedDecimal$FormatOptions: char[] getDigits()>();
v = v[0];
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int digitCount>;
if v >= v goto label;
v = interfaceinvoke v.<org.apache.commons.text.numbers.ParsedDecimal$FormatOptions: char getDecimalSeparator()>();
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void append(char)>(v);
v = 0;
label:
if v >= v goto label;
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void append(char)>(v);
v = v + 1;
goto label;
label:
v = v;
label:
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int digitCount>;
if v >= v goto label;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int[] digits>;
v = v[v];
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void appendLocalizedDigit(int,char[])>(v, v);
v = v + 1;
goto label;
label:
v = interfaceinvoke v.<org.apache.commons.text.numbers.ParsedDecimal$FormatOptions: boolean isIncludeFractionPlaceholder()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.commons.text.numbers.ParsedDecimal$FormatOptions: char getDecimalSeparator()>();
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void append(char)>(v);
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void append(char)>(v);
label:
return;
}
private void appendLocalizedDigit(int, char[])
{
int v;
char[] v;
org.apache.commons.text.numbers.ParsedDecimal v;
char v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v := @parameter: int;
v := @parameter: char[];
v = v[v];
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void append(char)>(v);
return;
}
private int appendWhole(int, org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)
{
org.apache.commons.text.numbers.ParsedDecimal$FormatOptions v;
org.apache.commons.text.numbers.ParsedDecimal v;
char v, v;
int[] v;
int v, v, v, v, v, v;
char[] v;
boolean v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v := @parameter: int;
v := @parameter: org.apache.commons.text.numbers.ParsedDecimal$FormatOptions;
v = specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: boolean shouldIncludeMinus(org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.commons.text.numbers.ParsedDecimal$FormatOptions: char getMinusSign()>();
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void append(char)>(v);
label:
v = interfaceinvoke v.<org.apache.commons.text.numbers.ParsedDecimal$FormatOptions: char[] getDigits()>();
v = v[0];
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int digitCount>;
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
v = staticinvoke <java.lang.Math: int max(int,int)>(0, v);
if v <= 0 goto label;
v = 0;
label:
if v >= v goto label;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int[] digits>;
v = v[v];
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void appendLocalizedDigit(int,char[])>(v, v);
v = v + 1;
goto label;
label:
if v >= v goto label;
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void append(char)>(v);
v = v + 1;
goto label;
label:
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void append(char)>(v);
label:
return v;
}
private int appendWholeGrouped(int, org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)
{
int[] v;
int v, v, v, v, v, v, v;
boolean v, v, v;
org.apache.commons.text.numbers.ParsedDecimal$FormatOptions v;
org.apache.commons.text.numbers.ParsedDecimal v;
char v, v, v;
char[] v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v := @parameter: int;
v := @parameter: org.apache.commons.text.numbers.ParsedDecimal$FormatOptions;
v = specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: boolean shouldIncludeMinus(org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.commons.text.numbers.ParsedDecimal$FormatOptions: char getMinusSign()>();
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void append(char)>(v);
label:
v = interfaceinvoke v.<org.apache.commons.text.numbers.ParsedDecimal$FormatOptions: char[] getDigits()>();
v = v[0];
v = interfaceinvoke v.<org.apache.commons.text.numbers.ParsedDecimal$FormatOptions: char getGroupingSeparator()>();
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int digitCount>;
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
v = staticinvoke <java.lang.Math: int max(int,int)>(0, v);
if v <= 0 goto label;
v = v;
v = 0;
label:
if v >= v goto label;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int[] digits>;
v = v[v];
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void appendLocalizedDigit(int,char[])>(v, v);
v = specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: boolean requiresGroupingSeparatorAfterPosition(int)>(v);
if v == 0 goto label;
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void append(char)>(v);
label:
v = v + 1;
v = v - 1;
goto label;
label:
if v >= v goto label;
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void append(char)>(v);
v = specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: boolean requiresGroupingSeparatorAfterPosition(int)>(v);
if v == 0 goto label;
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void append(char)>(v);
label:
v = v + 1;
v = v - 1;
goto label;
label:
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void append(char)>(v);
label:
return v;
}
private int getDigitStringSize(int, org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)
{
org.apache.commons.text.numbers.ParsedDecimal$FormatOptions v;
org.apache.commons.text.numbers.ParsedDecimal v;
int v, v, v, v, v, v, v, v;
boolean v, v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v := @parameter: int;
v := @parameter: org.apache.commons.text.numbers.ParsedDecimal$FormatOptions;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int digitCount>;
v = specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: boolean shouldIncludeMinus(org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)>(v);
if v == 0 goto label;
v = v + 1;
label:
if v >= 1 goto label;
v = staticinvoke <java.lang.Math: int abs(int)>(v);
v = 2 + v;
v = v + v;
goto label;
label:
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int digitCount>;
if v < v goto label;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int digitCount>;
v = v - v;
v = v + v;
v = interfaceinvoke v.<org.apache.commons.text.numbers.ParsedDecimal$FormatOptions: boolean isIncludeFractionPlaceholder()>();
if v == 0 goto label;
v = v + 2;
goto label;
label:
v = v + 1;
label:
return v;
}
public int getExponent()
{
int v;
org.apache.commons.text.numbers.ParsedDecimal v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int exponent>;
return v;
}
private int getPlainStringSize(int, org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)
{
org.apache.commons.text.numbers.ParsedDecimal$FormatOptions v;
int v, v, v, v;
org.apache.commons.text.numbers.ParsedDecimal v;
boolean v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v := @parameter: int;
v := @parameter: org.apache.commons.text.numbers.ParsedDecimal$FormatOptions;
v = specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: int getDigitStringSize(int,org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)>(v, v);
v = interfaceinvoke v.<org.apache.commons.text.numbers.ParsedDecimal$FormatOptions: boolean isGroupThousands()>();
if v == 0 goto label;
if v <= 0 goto label;
v = v - 1;
v = v / 3;
v = v + v;
label:
return v;
}
public int getScientificExponent()
{
int v, v, v, v;
org.apache.commons.text.numbers.ParsedDecimal v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int digitCount>;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int exponent>;
v = v + v;
v = v - 1;
return v;
}
boolean isZero()
{
int[] v;
int v;
org.apache.commons.text.numbers.ParsedDecimal v;
boolean v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int[] digits>;
v = v[0];
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void maxPrecision(int)
{
int v, v;
org.apache.commons.text.numbers.ParsedDecimal v;
boolean v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v := @parameter: int;
if v <= 0 goto label;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int digitCount>;
if v >= v goto label;
v = specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: boolean shouldRoundUp(int)>(v);
if v == 0 goto label;
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void roundUp(int)>(v);
goto label;
label:
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void truncate(int)>(v);
label:
return;
}
private java.lang.String outputString()
{
char[] v;
org.apache.commons.text.numbers.ParsedDecimal v;
java.lang.String v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: char[] outputChars>;
v = staticinvoke <java.lang.String: java.lang.String valueOf(char[])>(v);
v.<org.apache.commons.text.numbers.ParsedDecimal: char[] outputChars> = null;
return v;
}
private void prepareOutput(int)
{
int v;
char[] v;
org.apache.commons.text.numbers.ParsedDecimal v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v := @parameter: int;
v = newarray (char)[v];
v.<org.apache.commons.text.numbers.ParsedDecimal: char[] outputChars> = v;
v.<org.apache.commons.text.numbers.ParsedDecimal: int outputIdx> = 0;
return;
}
private boolean requiresGroupingSeparatorAfterPosition(int)
{
int v, v;
org.apache.commons.text.numbers.ParsedDecimal v;
boolean v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v := @parameter: int;
if v <= 1 goto label;
v = v % 3;
if v != 1 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void round(int)
{
org.apache.commons.text.numbers.ParsedDecimal v;
int v, v, v, v, v, v;
boolean v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v := @parameter: int;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int exponent>;
if v <= v goto label;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int digitCount>;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int exponent>;
v = v + v;
if v >= v goto label;
v = v - v;
virtualinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void maxPrecision(int)>(v);
goto label;
label:
if v != v goto label;
v = specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: boolean shouldRoundUp(int)>(0);
if v == 0 goto label;
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void setSingleDigitValue(int,int)>(1, v);
goto label;
label:
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void setSingleDigitValue(int,int)>(0, 0);
label:
return;
}
private void roundUp(int)
{
org.apache.commons.text.numbers.ParsedDecimal v;
int[] v, v;
int v, v, v, v, v, v, v, v, v, v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v := @parameter: int;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int digitCount>;
v = v - v;
v = v - 1;
label:
if v < 0 goto label;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int[] digits>;
v = v[v];
v = v + 1;
if v >= 10 goto label;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int[] digits>;
v[v] = v;
goto label;
label:
v = v + 1;
v = v - 1;
goto label;
label:
if v >= 0 goto label;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int exponent>;
v = v + v;
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void setSingleDigitValue(int,int)>(1, v);
goto label;
label:
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int digitCount>;
v = v - v;
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void truncate(int)>(v);
label:
return;
}
private void setSingleDigitValue(int, int)
{
int[] v;
int v, v;
org.apache.commons.text.numbers.ParsedDecimal v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v := @parameter: int;
v := @parameter: int;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int[] digits>;
v[0] = v;
v.<org.apache.commons.text.numbers.ParsedDecimal: int digitCount> = 1;
v.<org.apache.commons.text.numbers.ParsedDecimal: int exponent> = v;
return;
}
private boolean shouldIncludeExponent(int, org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)
{
org.apache.commons.text.numbers.ParsedDecimal$FormatOptions v;
int v;
org.apache.commons.text.numbers.ParsedDecimal v;
boolean v, v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v := @parameter: int;
v := @parameter: org.apache.commons.text.numbers.ParsedDecimal$FormatOptions;
if v != 0 goto label;
v = interfaceinvoke v.<org.apache.commons.text.numbers.ParsedDecimal$FormatOptions: boolean isAlwaysIncludeExponent()>();
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private boolean shouldIncludeMinus(org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)
{
org.apache.commons.text.numbers.ParsedDecimal$FormatOptions v;
org.apache.commons.text.numbers.ParsedDecimal v;
boolean v, v, v, v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v := @parameter: org.apache.commons.text.numbers.ParsedDecimal$FormatOptions;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: boolean negative>;
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.commons.text.numbers.ParsedDecimal$FormatOptions: boolean isSignedZero()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: boolean isZero()>();
if v != 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private boolean shouldRoundUp(int)
{
org.apache.commons.text.numbers.ParsedDecimal v;
int[] v, v;
int v, v, v, v, v, v, v;
boolean v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v := @parameter: int;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int[] digits>;
v = v[v];
if v > 5 goto label;
if v != 5 goto label;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int digitCount>;
v = v - 1;
if v < v goto label;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int[] digits>;
v = v - 1;
v = v[v];
v = v % 2;
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public java.lang.String toEngineeringString(org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)
{
org.apache.commons.text.numbers.ParsedDecimal$FormatOptions v;
int v, v, v;
org.apache.commons.text.numbers.ParsedDecimal v;
java.lang.String v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v := @parameter: org.apache.commons.text.numbers.ParsedDecimal$FormatOptions;
v = virtualinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: int getScientificExponent()>();
v = staticinvoke <java.lang.Math: int floorMod(int,int)>(v, 3);
v = 1 + v;
v = specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: java.lang.String toScientificString(int,org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)>(v, v);
return v;
}
public java.lang.String toPlainString(org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)
{
org.apache.commons.text.numbers.ParsedDecimal$FormatOptions v;
org.apache.commons.text.numbers.ParsedDecimal v;
int v, v, v, v, v, v, v;
java.lang.String v;
boolean v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v := @parameter: org.apache.commons.text.numbers.ParsedDecimal$FormatOptions;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int digitCount>;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int exponent>;
v = v + v;
if v >= 1 goto label;
v = staticinvoke <java.lang.Math: int abs(int)>(v);
goto label;
label:
v = 0;
label:
v = v;
v = specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: int getPlainStringSize(int,org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)>(v, v);
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void prepareOutput(int)>(v);
v = interfaceinvoke v.<org.apache.commons.text.numbers.ParsedDecimal$FormatOptions: boolean isGroupThousands()>();
if v == 0 goto label;
v = specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: int appendWholeGrouped(int,org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)>(v, v);
goto label;
label:
v = specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: int appendWhole(int,org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)>(v, v);
label:
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void appendFraction(int,int,org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)>(v, v, v);
v = specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: java.lang.String outputString()>();
return v;
}
public java.lang.String toScientificString(org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)
{
org.apache.commons.text.numbers.ParsedDecimal v;
org.apache.commons.text.numbers.ParsedDecimal$FormatOptions v;
java.lang.String v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v := @parameter: org.apache.commons.text.numbers.ParsedDecimal$FormatOptions;
v = specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: java.lang.String toScientificString(int,org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)>(1, v);
return v;
}
private java.lang.String toScientificString(int, org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)
{
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v;
boolean v, v, v;
double v, v;
org.apache.commons.text.numbers.ParsedDecimal$FormatOptions v;
org.apache.commons.text.numbers.ParsedDecimal v;
char v, v;
char[] v, v, v, v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v := @parameter: int;
v := @parameter: org.apache.commons.text.numbers.ParsedDecimal$FormatOptions;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int digitCount>;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int exponent>;
v = v + v;
v = v - v;
v = staticinvoke <java.lang.Math: int abs(int)>(v);
v = specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: boolean shouldIncludeExponent(int,org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)>(v, v);
if v >= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: int getDigitStringSize(int,org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)>(v, v);
if v == 0 goto label;
if v <= 0 goto label;
v = staticinvoke <java.lang.Math: double log10(double)>(v);
v = staticinvoke <java.lang.Math: double floor(double)>(v);
v = v + 1;
goto label;
label:
v = 1;
label:
v = interfaceinvoke v.<org.apache.commons.text.numbers.ParsedDecimal$FormatOptions: char[] getExponentSeparatorChars()>();
v = lengthof v;
v = v + v;
v = v + v;
if v == 0 goto label;
v = v + 1;
label:
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void prepareOutput(int)>(v);
v = specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: int appendWhole(int,org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)>(v, v);
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void appendFraction(int,int,org.apache.commons.text.numbers.ParsedDecimal$FormatOptions)>(0, v, v);
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.commons.text.numbers.ParsedDecimal$FormatOptions: char[] getExponentSeparatorChars()>();
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void append(char[])>(v);
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.commons.text.numbers.ParsedDecimal$FormatOptions: char getMinusSign()>();
specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: void append(char)>(v);
label:
v = interfaceinvoke v.<org.apache.commons.text.numbers.ParsedDecimal$FormatOptions: char[] getDigits()>();
v = v;
v = v - 1;
label:
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int outputIdx>;
if v < v goto label;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: char[] outputChars>;
v = v % 10;
v = v[v];
v[v] = v;
v = v / 10;
v = v - 1;
goto label;
label:
v.<org.apache.commons.text.numbers.ParsedDecimal: int outputIdx> = v;
label:
v = specialinvoke v.<org.apache.commons.text.numbers.ParsedDecimal: java.lang.String outputString()>();
return v;
}
private void truncate(int)
{
org.apache.commons.text.numbers.ParsedDecimal v;
int[] v;
int v, v, v, v, v, v, v, v;
v := @this: org.apache.commons.text.numbers.ParsedDecimal;
v := @parameter: int;
v = v;
v = v - 1;
label:
if v <= 0 goto label;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int[] digits>;
v = v[v];
if v != 0 goto label;
v = v - 1;
v = v - 1;
goto label;
label:
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int exponent>;
v = v.<org.apache.commons.text.numbers.ParsedDecimal: int digitCount>;
v = v - v;
v = v + v;
v.<org.apache.commons.text.numbers.ParsedDecimal: int exponent> = v;
v.<org.apache.commons.text.numbers.ParsedDecimal: int digitCount> = v;
return;
}
}