public class org.apache.commons.math.fraction.Fraction extends java.lang.Number implements org.apache.commons.math.FieldElement, java.lang.Comparable, java.io.Serializable
{
public static final org.apache.commons.math.fraction.Fraction TWO;
public static final org.apache.commons.math.fraction.Fraction ONE;
public static final org.apache.commons.math.fraction.Fraction ZERO;
public static final org.apache.commons.math.fraction.Fraction FOUR_FIFTHS;
public static final org.apache.commons.math.fraction.Fraction ONE_FIFTH;
public static final org.apache.commons.math.fraction.Fraction ONE_HALF;
public static final org.apache.commons.math.fraction.Fraction ONE_QUARTER;
public static final org.apache.commons.math.fraction.Fraction ONE_THIRD;
public static final org.apache.commons.math.fraction.Fraction THREE_FIFTHS;
public static final org.apache.commons.math.fraction.Fraction THREE_QUARTERS;
public static final org.apache.commons.math.fraction.Fraction TWO_FIFTHS;
public static final org.apache.commons.math.fraction.Fraction TWO_QUARTERS;
public static final org.apache.commons.math.fraction.Fraction TWO_THIRDS;
public static final org.apache.commons.math.fraction.Fraction MINUS_ONE;
private static final long serialVersionUID;
private final int denominator;
private final int numerator;
public void <init>(double) throws org.apache.commons.math.fraction.FractionConversionException
{
org.apache.commons.math.fraction.Fraction v;
double v;
v := @this: org.apache.commons.math.fraction.Fraction;
v := @parameter: double;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(double,double,int)>(v, 1.0E-5, 100);
return;
}
public void <init>(double, double, int) throws org.apache.commons.math.fraction.FractionConversionException
{
org.apache.commons.math.fraction.Fraction v;
int v;
double v, v;
v := @this: org.apache.commons.math.fraction.Fraction;
v := @parameter: double;
v := @parameter: double;
v := @parameter: int;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(double,double,int,int)>(v, v, 2147483647, v);
return;
}
public void <init>(double, int) throws org.apache.commons.math.fraction.FractionConversionException
{
int v;
org.apache.commons.math.fraction.Fraction v;
double v;
v := @this: org.apache.commons.math.fraction.Fraction;
v := @parameter: double;
v := @parameter: int;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(double,double,int,int)>(v, 0.0, v, 100);
return;
}
private void <init>(double, double, int, int) throws org.apache.commons.math.fraction.FractionConversionException
{
byte v, v, v, v, v, v, v;
boolean v;
org.apache.commons.math.fraction.Fraction v;
long v, v, v, v, v, v, v, v, v, v, v, v;
int v, v, v;
double v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.commons.math.fraction.FractionConversionException v, v, v;
v := @this: org.apache.commons.math.fraction.Fraction;
v := @parameter: double;
v := @parameter: double;
v := @parameter: int;
v := @parameter: int;
specialinvoke v.<java.lang.Number: void <init>()>();
v = v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double floor(double)>(v);
v = staticinvoke <org.apache.commons.math.util.FastMath: long abs(long)>(v);
v = v cmp 2147483647L;
if v <= 0 goto label;
v = new org.apache.commons.math.fraction.FractionConversionException;
specialinvoke v.<org.apache.commons.math.fraction.FractionConversionException: void <init>(double,long,long)>(v, v, 1L);
throw v;
label:
v = v - v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double abs(double)>(v);
v = v cmpg v;
if v >= 0 goto label;
v.<org.apache.commons.math.fraction.Fraction: int numerator> = v;
v.<org.apache.commons.math.fraction.Fraction: int denominator> = 1;
return;
label:
v = 1L;
v = 0L;
v = v;
v = 1L;
v = 0;
v = 0;
label:
v = v + 1;
v = v - v;
v = 1.0 / v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double floor(double)>(v);
v = v * v;
v = v + v;
v = v * v;
v = v + v;
v = staticinvoke <org.apache.commons.math.util.FastMath: long abs(long)>(v);
v = v cmp 2147483647L;
if v > 0 goto label;
v = staticinvoke <org.apache.commons.math.util.FastMath: long abs(long)>(v);
v = v cmp 2147483647L;
if v <= 0 goto label;
label:
v = new org.apache.commons.math.fraction.FractionConversionException;
specialinvoke v.<org.apache.commons.math.fraction.FractionConversionException: void <init>(double,long,long)>(v, v, v);
throw v;
label:
v = v / v;
if v >= v goto label;
v = v - v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double abs(double)>(v);
v = v cmpl v;
if v <= 0 goto label;
v = v cmp v;
if v >= 0 goto label;
v = v;
v = v;
v = v;
v = v;
v = v;
goto label;
label:
v = 1;
label:
if v == 0 goto label;
if v < v goto label;
v = new org.apache.commons.math.fraction.FractionConversionException;
specialinvoke v.<org.apache.commons.math.fraction.FractionConversionException: void <init>(double,int)>(v, v);
throw v;
label:
v = v cmp v;
if v >= 0 goto label;
v.<org.apache.commons.math.fraction.Fraction: int numerator> = v;
v.<org.apache.commons.math.fraction.Fraction: int denominator> = v;
goto label;
label:
v.<org.apache.commons.math.fraction.Fraction: int numerator> = v;
v.<org.apache.commons.math.fraction.Fraction: int denominator> = v;
label:
return;
}
public void <init>(int)
{
int v;
org.apache.commons.math.fraction.Fraction v;
v := @this: org.apache.commons.math.fraction.Fraction;
v := @parameter: int;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(int,int)>(v, 1);
return;
}
public void <init>(int, int)
{
java.lang.Object[] v, v;
org.apache.commons.math.exception.util.LocalizedFormats v, v;
java.lang.Integer v, v, v, v;
org.apache.commons.math.exception.MathArithmeticException v, v;
org.apache.commons.math.fraction.Fraction v;
int v, v, v;
v := @this: org.apache.commons.math.fraction.Fraction;
v := @parameter: int;
v := @parameter: int;
specialinvoke v.<java.lang.Number: void <init>()>();
if v != 0 goto label;
v = new org.apache.commons.math.exception.MathArithmeticException;
v = <org.apache.commons.math.exception.util.LocalizedFormats: org.apache.commons.math.exception.util.LocalizedFormats ZERO_DENOMINATOR_IN_FRACTION>;
v = newarray (java.lang.Object)[2];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
specialinvoke v.<org.apache.commons.math.exception.MathArithmeticException: void <init>(org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(v, v);
throw v;
label:
if v >= 0 goto label;
if v == -2147483648 goto label;
if v != -2147483648 goto label;
label:
v = new org.apache.commons.math.exception.MathArithmeticException;
v = <org.apache.commons.math.exception.util.LocalizedFormats: org.apache.commons.math.exception.util.LocalizedFormats OVERFLOW_IN_FRACTION>;
v = newarray (java.lang.Object)[2];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
specialinvoke v.<org.apache.commons.math.exception.MathArithmeticException: void <init>(org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(v, v);
throw v;
label:
v = neg v;
v = neg v;
label:
v = staticinvoke <org.apache.commons.math.util.ArithmeticUtils: int gcd(int,int)>(v, v);
if v <= 1 goto label;
v = v / v;
v = v / v;
label:
if v >= 0 goto label;
v = neg v;
v = neg v;
label:
v.<org.apache.commons.math.fraction.Fraction: int numerator> = v;
v.<org.apache.commons.math.fraction.Fraction: int denominator> = v;
return;
}
public org.apache.commons.math.fraction.Fraction abs()
{
int v;
org.apache.commons.math.fraction.Fraction v, v;
v := @this: org.apache.commons.math.fraction.Fraction;
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
if v < 0 goto label;
v = v;
goto label;
label:
v = virtualinvoke v.<org.apache.commons.math.fraction.Fraction: org.apache.commons.math.fraction.Fraction negate()>();
label:
return v;
}
public int compareTo(org.apache.commons.math.fraction.Fraction)
{
long v, v;
org.apache.commons.math.fraction.Fraction v, v;
byte v, v, v;
int v, v, v, v;
v := @this: org.apache.commons.math.fraction.Fraction;
v := @parameter: org.apache.commons.math.fraction.Fraction;
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = v * v;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
v = v * v;
v = v cmp v;
if v >= 0 goto label;
v = -1;
goto label;
label:
v = v cmp v;
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public double doubleValue()
{
org.apache.commons.math.fraction.Fraction v;
int v, v;
double v;
v := @this: org.apache.commons.math.fraction.Fraction;
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = v / v;
return v;
}
public boolean equals(java.lang.Object)
{
org.apache.commons.math.fraction.Fraction v;
int v, v, v, v;
java.lang.Object v;
boolean v, v;
v := @this: org.apache.commons.math.fraction.Fraction;
v := @parameter: java.lang.Object;
if v != v goto label;
return 1;
label:
v = v instanceof org.apache.commons.math.fraction.Fraction;
if v == 0 goto label;
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
if v != v goto label;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
return 0;
}
public float floatValue()
{
org.apache.commons.math.fraction.Fraction v;
double v;
v := @this: org.apache.commons.math.fraction.Fraction;
v = virtualinvoke v.<org.apache.commons.math.fraction.Fraction: double doubleValue()>();
return v;
}
public int getDenominator()
{
int v;
org.apache.commons.math.fraction.Fraction v;
v := @this: org.apache.commons.math.fraction.Fraction;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
return v;
}
public int getNumerator()
{
int v;
org.apache.commons.math.fraction.Fraction v;
v := @this: org.apache.commons.math.fraction.Fraction;
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
return v;
}
public int hashCode()
{
org.apache.commons.math.fraction.Fraction v;
int v, v, v, v, v;
v := @this: org.apache.commons.math.fraction.Fraction;
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
v = 629 + v;
v = 37 * v;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = v + v;
return v;
}
public int intValue()
{
org.apache.commons.math.fraction.Fraction v;
double v;
v := @this: org.apache.commons.math.fraction.Fraction;
v = virtualinvoke v.<org.apache.commons.math.fraction.Fraction: double doubleValue()>();
return v;
}
public long longValue()
{
org.apache.commons.math.fraction.Fraction v;
double v;
v := @this: org.apache.commons.math.fraction.Fraction;
v = virtualinvoke v.<org.apache.commons.math.fraction.Fraction: double doubleValue()>();
return v;
}
public org.apache.commons.math.fraction.Fraction negate()
{
java.lang.Object[] v;
org.apache.commons.math.exception.util.LocalizedFormats v;
java.lang.Integer v, v;
org.apache.commons.math.exception.MathArithmeticException v;
org.apache.commons.math.fraction.Fraction v, v;
int v, v, v, v, v, v;
v := @this: org.apache.commons.math.fraction.Fraction;
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
if v != -2147483648 goto label;
v = new org.apache.commons.math.exception.MathArithmeticException;
v = <org.apache.commons.math.exception.util.LocalizedFormats: org.apache.commons.math.exception.util.LocalizedFormats OVERFLOW_IN_FRACTION>;
v = newarray (java.lang.Object)[2];
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
specialinvoke v.<org.apache.commons.math.exception.MathArithmeticException: void <init>(org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(v, v);
throw v;
label:
v = new org.apache.commons.math.fraction.Fraction;
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
v = neg v;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(int,int)>(v, v);
return v;
}
public org.apache.commons.math.fraction.Fraction reciprocal()
{
org.apache.commons.math.fraction.Fraction v, v;
int v, v;
v := @this: org.apache.commons.math.fraction.Fraction;
v = new org.apache.commons.math.fraction.Fraction;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(int,int)>(v, v);
return v;
}
public org.apache.commons.math.fraction.Fraction add(org.apache.commons.math.fraction.Fraction)
{
org.apache.commons.math.fraction.Fraction v, v, v;
v := @this: org.apache.commons.math.fraction.Fraction;
v := @parameter: org.apache.commons.math.fraction.Fraction;
v = specialinvoke v.<org.apache.commons.math.fraction.Fraction: org.apache.commons.math.fraction.Fraction addSub(org.apache.commons.math.fraction.Fraction,boolean)>(v, 1);
return v;
}
public org.apache.commons.math.fraction.Fraction add(int)
{
org.apache.commons.math.fraction.Fraction v, v;
int v, v, v, v, v, v;
v := @this: org.apache.commons.math.fraction.Fraction;
v := @parameter: int;
v = new org.apache.commons.math.fraction.Fraction;
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = v * v;
v = v + v;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(int,int)>(v, v);
return v;
}
public org.apache.commons.math.fraction.Fraction subtract(org.apache.commons.math.fraction.Fraction)
{
org.apache.commons.math.fraction.Fraction v, v, v;
v := @this: org.apache.commons.math.fraction.Fraction;
v := @parameter: org.apache.commons.math.fraction.Fraction;
v = specialinvoke v.<org.apache.commons.math.fraction.Fraction: org.apache.commons.math.fraction.Fraction addSub(org.apache.commons.math.fraction.Fraction,boolean)>(v, 0);
return v;
}
public org.apache.commons.math.fraction.Fraction subtract(int)
{
org.apache.commons.math.fraction.Fraction v, v;
int v, v, v, v, v, v;
v := @this: org.apache.commons.math.fraction.Fraction;
v := @parameter: int;
v = new org.apache.commons.math.fraction.Fraction;
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = v * v;
v = v - v;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(int,int)>(v, v);
return v;
}
private org.apache.commons.math.fraction.Fraction addSub(org.apache.commons.math.fraction.Fraction, boolean)
{
org.apache.commons.math.exception.MathArithmeticException v;
java.math.BigInteger v, v, v, v, v, v, v, v, v, v, v, v;
boolean v;
org.apache.commons.math.fraction.Fraction v, v, v, v, v;
java.lang.Object[] v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.commons.math.exception.util.LocalizedFormats v, v;
org.apache.commons.math.exception.NullArgumentException v;
v := @this: org.apache.commons.math.fraction.Fraction;
v := @parameter: org.apache.commons.math.fraction.Fraction;
v := @parameter: boolean;
if v != null goto label;
v = new org.apache.commons.math.exception.NullArgumentException;
v = <org.apache.commons.math.exception.util.LocalizedFormats: org.apache.commons.math.exception.util.LocalizedFormats FRACTION>;
v = newarray (java.lang.Object)[0];
specialinvoke v.<org.apache.commons.math.exception.NullArgumentException: void <init>(org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(v, v);
throw v;
label:
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
if v != 0 goto label;
if v == 0 goto label;
v = v;
goto label;
label:
v = virtualinvoke v.<org.apache.commons.math.fraction.Fraction: org.apache.commons.math.fraction.Fraction negate()>();
label:
return v;
label:
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
if v != 0 goto label;
return v;
label:
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = staticinvoke <org.apache.commons.math.util.ArithmeticUtils: int gcd(int,int)>(v, v);
if v != 1 goto label;
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = staticinvoke <org.apache.commons.math.util.ArithmeticUtils: int mulAndCheck(int,int)>(v, v);
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = staticinvoke <org.apache.commons.math.util.ArithmeticUtils: int mulAndCheck(int,int)>(v, v);
v = new org.apache.commons.math.fraction.Fraction;
if v == 0 goto label;
v = staticinvoke <org.apache.commons.math.util.ArithmeticUtils: int addAndCheck(int,int)>(v, v);
goto label;
label:
v = staticinvoke <org.apache.commons.math.util.ArithmeticUtils: int subAndCheck(int,int)>(v, v);
label:
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = staticinvoke <org.apache.commons.math.util.ArithmeticUtils: int mulAndCheck(int,int)>(v, v);
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(int,int)>(v, v);
return v;
label:
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
v = staticinvoke <java.math.BigInteger: java.math.BigInteger valueOf(long)>(v);
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = v / v;
v = staticinvoke <java.math.BigInteger: java.math.BigInteger valueOf(long)>(v);
v = virtualinvoke v.<java.math.BigInteger: java.math.BigInteger multiply(java.math.BigInteger)>(v);
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
v = staticinvoke <java.math.BigInteger: java.math.BigInteger valueOf(long)>(v);
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = v / v;
v = staticinvoke <java.math.BigInteger: java.math.BigInteger valueOf(long)>(v);
v = virtualinvoke v.<java.math.BigInteger: java.math.BigInteger multiply(java.math.BigInteger)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.math.BigInteger: java.math.BigInteger add(java.math.BigInteger)>(v);
goto label;
label:
v = virtualinvoke v.<java.math.BigInteger: java.math.BigInteger subtract(java.math.BigInteger)>(v);
label:
v = v;
v = staticinvoke <java.math.BigInteger: java.math.BigInteger valueOf(long)>(v);
v = virtualinvoke v.<java.math.BigInteger: java.math.BigInteger mod(java.math.BigInteger)>(v);
v = virtualinvoke v.<java.math.BigInteger: int intValue()>();
if v != 0 goto label;
v = v;
goto label;
label:
v = staticinvoke <org.apache.commons.math.util.ArithmeticUtils: int gcd(int,int)>(v, v);
label:
v = staticinvoke <java.math.BigInteger: java.math.BigInteger valueOf(long)>(v);
v = virtualinvoke v.<java.math.BigInteger: java.math.BigInteger divide(java.math.BigInteger)>(v);
v = virtualinvoke v.<java.math.BigInteger: int bitLength()>();
if v <= 31 goto label;
v = new org.apache.commons.math.exception.MathArithmeticException;
v = <org.apache.commons.math.exception.util.LocalizedFormats: org.apache.commons.math.exception.util.LocalizedFormats NUMERATOR_OVERFLOW_AFTER_MULTIPLY>;
v = newarray (java.lang.Object)[1];
v[0] = v;
specialinvoke v.<org.apache.commons.math.exception.MathArithmeticException: void <init>(org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(v, v);
throw v;
label:
v = new org.apache.commons.math.fraction.Fraction;
v = virtualinvoke v.<java.math.BigInteger: int intValue()>();
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = v / v;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = v / v;
v = staticinvoke <org.apache.commons.math.util.ArithmeticUtils: int mulAndCheck(int,int)>(v, v);
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(int,int)>(v, v);
return v;
}
public org.apache.commons.math.fraction.Fraction multiply(org.apache.commons.math.fraction.Fraction)
{
java.lang.Object[] v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.commons.math.exception.util.LocalizedFormats v;
org.apache.commons.math.fraction.Fraction v, v, v, v;
org.apache.commons.math.exception.NullArgumentException v;
v := @this: org.apache.commons.math.fraction.Fraction;
v := @parameter: org.apache.commons.math.fraction.Fraction;
if v != null goto label;
v = new org.apache.commons.math.exception.NullArgumentException;
v = <org.apache.commons.math.exception.util.LocalizedFormats: org.apache.commons.math.exception.util.LocalizedFormats FRACTION>;
v = newarray (java.lang.Object)[0];
specialinvoke v.<org.apache.commons.math.exception.NullArgumentException: void <init>(org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(v, v);
throw v;
label:
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
if v == 0 goto label;
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
if v != 0 goto label;
label:
v = <org.apache.commons.math.fraction.Fraction: org.apache.commons.math.fraction.Fraction ZERO>;
return v;
label:
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = staticinvoke <org.apache.commons.math.util.ArithmeticUtils: int gcd(int,int)>(v, v);
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = staticinvoke <org.apache.commons.math.util.ArithmeticUtils: int gcd(int,int)>(v, v);
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
v = v / v;
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
v = v / v;
v = staticinvoke <org.apache.commons.math.util.ArithmeticUtils: int mulAndCheck(int,int)>(v, v);
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = v / v;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = v / v;
v = staticinvoke <org.apache.commons.math.util.ArithmeticUtils: int mulAndCheck(int,int)>(v, v);
v = staticinvoke <org.apache.commons.math.fraction.Fraction: org.apache.commons.math.fraction.Fraction getReducedFraction(int,int)>(v, v);
return v;
}
public org.apache.commons.math.fraction.Fraction multiply(int)
{
org.apache.commons.math.fraction.Fraction v, v;
int v, v, v, v;
v := @this: org.apache.commons.math.fraction.Fraction;
v := @parameter: int;
v = new org.apache.commons.math.fraction.Fraction;
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
v = v * v;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(int,int)>(v, v);
return v;
}
public org.apache.commons.math.fraction.Fraction divide(org.apache.commons.math.fraction.Fraction)
{
java.lang.Object[] v, v;
org.apache.commons.math.exception.util.LocalizedFormats v, v;
java.lang.Integer v, v;
org.apache.commons.math.exception.MathArithmeticException v;
org.apache.commons.math.fraction.Fraction v, v, v, v;
org.apache.commons.math.exception.NullArgumentException v;
int v, v, v;
v := @this: org.apache.commons.math.fraction.Fraction;
v := @parameter: org.apache.commons.math.fraction.Fraction;
if v != null goto label;
v = new org.apache.commons.math.exception.NullArgumentException;
v = <org.apache.commons.math.exception.util.LocalizedFormats: org.apache.commons.math.exception.util.LocalizedFormats FRACTION>;
v = newarray (java.lang.Object)[0];
specialinvoke v.<org.apache.commons.math.exception.NullArgumentException: void <init>(org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(v, v);
throw v;
label:
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
if v != 0 goto label;
v = new org.apache.commons.math.exception.MathArithmeticException;
v = <org.apache.commons.math.exception.util.LocalizedFormats: org.apache.commons.math.exception.util.LocalizedFormats ZERO_FRACTION_TO_DIVIDE_BY>;
v = newarray (java.lang.Object)[2];
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
specialinvoke v.<org.apache.commons.math.exception.MathArithmeticException: void <init>(org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(v, v);
throw v;
label:
v = virtualinvoke v.<org.apache.commons.math.fraction.Fraction: org.apache.commons.math.fraction.Fraction reciprocal()>();
v = virtualinvoke v.<org.apache.commons.math.fraction.Fraction: org.apache.commons.math.fraction.Fraction multiply(org.apache.commons.math.fraction.Fraction)>(v);
return v;
}
public org.apache.commons.math.fraction.Fraction divide(int)
{
org.apache.commons.math.fraction.Fraction v, v;
int v, v, v, v;
v := @this: org.apache.commons.math.fraction.Fraction;
v := @parameter: int;
v = new org.apache.commons.math.fraction.Fraction;
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = v * v;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(int,int)>(v, v);
return v;
}
public double percentageValue()
{
org.apache.commons.math.fraction.Fraction v;
double v, v;
v := @this: org.apache.commons.math.fraction.Fraction;
v = virtualinvoke v.<org.apache.commons.math.fraction.Fraction: double doubleValue()>();
v = 100.0 * v;
return v;
}
public static org.apache.commons.math.fraction.Fraction getReducedFraction(int, int)
{
java.lang.Object[] v, v;
java.lang.Integer v, v, v, v;
org.apache.commons.math.exception.MathArithmeticException v, v;
int v, v, v, v, v, v;
org.apache.commons.math.exception.util.LocalizedFormats v, v;
org.apache.commons.math.fraction.Fraction v, v;
v := @parameter: int;
v := @parameter: int;
if v != 0 goto label;
v = new org.apache.commons.math.exception.MathArithmeticException;
v = <org.apache.commons.math.exception.util.LocalizedFormats: org.apache.commons.math.exception.util.LocalizedFormats ZERO_DENOMINATOR_IN_FRACTION>;
v = newarray (java.lang.Object)[2];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
specialinvoke v.<org.apache.commons.math.exception.MathArithmeticException: void <init>(org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(v, v);
throw v;
label:
if v != 0 goto label;
v = <org.apache.commons.math.fraction.Fraction: org.apache.commons.math.fraction.Fraction ZERO>;
return v;
label:
if v != -2147483648 goto label;
v = v & 1;
if v != 0 goto label;
v = v / 2;
v = v / 2;
label:
if v >= 0 goto label;
if v == -2147483648 goto label;
if v != -2147483648 goto label;
label:
v = new org.apache.commons.math.exception.MathArithmeticException;
v = <org.apache.commons.math.exception.util.LocalizedFormats: org.apache.commons.math.exception.util.LocalizedFormats OVERFLOW_IN_FRACTION>;
v = newarray (java.lang.Object)[2];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
specialinvoke v.<org.apache.commons.math.exception.MathArithmeticException: void <init>(org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(v, v);
throw v;
label:
v = neg v;
v = neg v;
label:
v = staticinvoke <org.apache.commons.math.util.ArithmeticUtils: int gcd(int,int)>(v, v);
v = v / v;
v = v / v;
v = new org.apache.commons.math.fraction.Fraction;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(int,int)>(v, v);
return v;
}
public java.lang.String toString()
{
org.apache.commons.math.fraction.Fraction v;
int v, v, v, v, v;
java.lang.String v;
v := @this: org.apache.commons.math.fraction.Fraction;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
if v != 1 goto label;
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
v = staticinvoke <java.lang.Integer: java.lang.String toString(int)>(v);
goto label;
label:
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
if v != 0 goto label;
v = "0";
goto label;
label:
v = v.<org.apache.commons.math.fraction.Fraction: int numerator>;
v = v.<org.apache.commons.math.fraction.Fraction: int denominator>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,int)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u / \u0001");
label:
return v;
}
public org.apache.commons.math.fraction.FractionField getField()
{
org.apache.commons.math.fraction.FractionField v;
org.apache.commons.math.fraction.Fraction v;
v := @this: org.apache.commons.math.fraction.Fraction;
v = staticinvoke <org.apache.commons.math.fraction.FractionField: org.apache.commons.math.fraction.FractionField getInstance()>();
return v;
}
static void <clinit>()
{
org.apache.commons.math.fraction.Fraction v, v, v, v, v, v, v, v, v, v, v, v, v, v;
int v;
v = new org.apache.commons.math.fraction.Fraction;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(int,int)>(2, 1);
<org.apache.commons.math.fraction.Fraction: org.apache.commons.math.fraction.Fraction TWO> = v;
v = new org.apache.commons.math.fraction.Fraction;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(int,int)>(1, 1);
<org.apache.commons.math.fraction.Fraction: org.apache.commons.math.fraction.Fraction ONE> = v;
v = new org.apache.commons.math.fraction.Fraction;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(int,int)>(0, 1);
<org.apache.commons.math.fraction.Fraction: org.apache.commons.math.fraction.Fraction ZERO> = v;
v = new org.apache.commons.math.fraction.Fraction;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(int,int)>(4, 5);
<org.apache.commons.math.fraction.Fraction: org.apache.commons.math.fraction.Fraction FOUR_FIFTHS> = v;
v = new org.apache.commons.math.fraction.Fraction;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(int,int)>(1, 5);
<org.apache.commons.math.fraction.Fraction: org.apache.commons.math.fraction.Fraction ONE_FIFTH> = v;
v = new org.apache.commons.math.fraction.Fraction;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(int,int)>(1, 2);
<org.apache.commons.math.fraction.Fraction: org.apache.commons.math.fraction.Fraction ONE_HALF> = v;
v = new org.apache.commons.math.fraction.Fraction;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(int,int)>(1, 4);
<org.apache.commons.math.fraction.Fraction: org.apache.commons.math.fraction.Fraction ONE_QUARTER> = v;
v = new org.apache.commons.math.fraction.Fraction;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(int,int)>(1, 3);
<org.apache.commons.math.fraction.Fraction: org.apache.commons.math.fraction.Fraction ONE_THIRD> = v;
v = new org.apache.commons.math.fraction.Fraction;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(int,int)>(3, 5);
<org.apache.commons.math.fraction.Fraction: org.apache.commons.math.fraction.Fraction THREE_FIFTHS> = v;
v = new org.apache.commons.math.fraction.Fraction;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(int,int)>(3, 4);
<org.apache.commons.math.fraction.Fraction: org.apache.commons.math.fraction.Fraction THREE_QUARTERS> = v;
v = new org.apache.commons.math.fraction.Fraction;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(int,int)>(2, 5);
<org.apache.commons.math.fraction.Fraction: org.apache.commons.math.fraction.Fraction TWO_FIFTHS> = v;
v = new org.apache.commons.math.fraction.Fraction;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(int,int)>(2, 4);
<org.apache.commons.math.fraction.Fraction: org.apache.commons.math.fraction.Fraction TWO_QUARTERS> = v;
v = new org.apache.commons.math.fraction.Fraction;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(int,int)>(2, 3);
<org.apache.commons.math.fraction.Fraction: org.apache.commons.math.fraction.Fraction TWO_THIRDS> = v;
v = new org.apache.commons.math.fraction.Fraction;
v = (int) -1;
specialinvoke v.<org.apache.commons.math.fraction.Fraction: void <init>(int,int)>(v, 1);
<org.apache.commons.math.fraction.Fraction: org.apache.commons.math.fraction.Fraction MINUS_ONE> = v;
return;
}
}