public class oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple extends java.lang.Object implements java.lang.Comparable
{
private static final long SIGN_MASK;
private static final long EXPONENT_MASK;
private static final long MANTISSA_MASK;
private static final long IMPLICIT_ONE;
private double[] components;
private int offset;
private int lsb;
private long[] encoding;
private boolean posInf;
private boolean negInf;
private boolean nan;
public transient void <init>(double[])
{
double[] v;
long v, v;
long[] v;
byte v, v;
int v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v, v, v;
double v, v, v, v;
oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple v;
java.lang.Object v;
v := @this: oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple;
v := @parameter: double[];
specialinvoke v.<java.lang.Object: void <init>()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Object clone()>();
v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: double[] components> = v;
v = -2147483648;
v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int lsb> = 2147483647;
v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: boolean posInf> = 0;
v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: boolean negInf> = 0;
v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: boolean nan> = 0;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = staticinvoke <java.lang.Double: boolean isInfinite(double)>(v);
if v == 0 goto label;
v = v[v];
v = v cmpg 0.0;
if v >= 0 goto label;
v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: boolean negInf> = 1;
goto label;
label:
v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: boolean posInf> = 1;
goto label;
label:
v = v[v];
v = staticinvoke <java.lang.Double: boolean isNaN(double)>(v);
if v == 0 goto label;
v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: boolean nan> = 1;
goto label;
label:
v = v[v];
v = staticinvoke <java.lang.Double: long doubleToLongBits(double)>(v);
v = staticinvoke <oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: long mantissa(long)>(v);
v = v cmp 0L;
if v == 0 goto label;
v = staticinvoke <oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int exponent(long)>(v);
v = staticinvoke <oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int computeMSB(long)>(v);
v = v + v;
v = staticinvoke <oadd.org.apache.commons.math.util.FastMath: int max(int,int)>(v, v);
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int lsb>;
v = staticinvoke <oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int computeLSB(long)>(v);
v = v + v;
v = staticinvoke <oadd.org.apache.commons.math.util.FastMath: int min(int,int)>(v, v);
v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int lsb> = v;
label:
v = v + 1;
goto label;
label:
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: boolean posInf>;
if v == 0 goto label;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: boolean negInf>;
if v == 0 goto label;
v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: boolean posInf> = 0;
v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: boolean negInf> = 0;
v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: boolean nan> = 1;
label:
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int lsb>;
if v > v goto label;
v = v + 16;
specialinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: void encode(int)>(v);
goto label;
label:
v = newarray (long)[1];
v[0] = 0L;
v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: long[] encoding> = v;
label:
return;
}
private void encode(int)
{
byte v;
double[] v, v;
long v, v, v;
long[] v, v, v, v, 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;
oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple v;
v := @this: oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple;
v := @parameter: int;
v = v + 31;
v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int offset> = v;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int offset>;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int offset>;
v = v % 32;
v = v - v;
v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int offset> = v;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: long[] encoding>;
if v == null goto label;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: long[] encoding>;
v = lengthof v;
if v != 1 goto label;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: long[] encoding>;
v = v[0];
v = v cmp 0L;
if v != 0 goto label;
return;
label:
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int offset>;
v = v + 1;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int lsb>;
v = v - v;
v = v + 62;
v = v / 63;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: double[] components>;
v = lengthof v;
v = v * v;
v = newarray (long)[v];
v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: long[] encoding> = v;
v = 0;
v = 62;
v = 0L;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int offset>;
label:
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: long[] encoding>;
v = lengthof v;
if v >= v goto label;
v = 0;
label:
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: double[] components>;
v = lengthof v;
if v >= v goto label;
v = specialinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int getBit(int,int)>(v, v);
if v == 0 goto label;
v = 1L << v;
v = v | v;
label:
v = v;
v = v - 1;
if v != 0 goto label;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: long[] encoding>;
v = v;
v = v + 1;
v[v] = v;
v = 0L;
v = 62;
label:
v = v + 1;
goto label;
label:
v = v - 1;
goto label;
label:
return;
}
public int compareTo(oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple)
{
byte v, v;
boolean v, v, v, v, v, v;
double[] v, v, v, v;
long v, v, v, v;
long[] v, v, v, v, v, v, v, v, 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;
oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple v, v;
v := @this: oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple;
v := @parameter: oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: double[] components>;
v = lengthof v;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: double[] components>;
v = lengthof v;
if v != v goto label;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: boolean nan>;
if v == 0 goto label;
return 1;
label:
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: boolean nan>;
if v == 0 goto label;
v = (int) -1;
return v;
label:
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: boolean negInf>;
if v != 0 goto label;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: boolean posInf>;
if v == 0 goto label;
label:
v = (int) -1;
return v;
label:
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: boolean posInf>;
if v != 0 goto label;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: boolean negInf>;
if v == 0 goto label;
label:
return 1;
label:
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int offset>;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int offset>;
if v >= v goto label;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int offset>;
specialinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: void encode(int)>(v);
goto label;
label:
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int offset>;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int offset>;
if v <= v goto label;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int offset>;
specialinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: void encode(int)>(v);
label:
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: long[] encoding>;
v = lengthof v;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: long[] encoding>;
v = lengthof v;
v = staticinvoke <oadd.org.apache.commons.math.util.FastMath: int min(int,int)>(v, v);
v = 0;
label:
if v >= v goto label;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: long[] encoding>;
v = v[v];
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: long[] encoding>;
v = v[v];
v = v cmp v;
if v >= 0 goto label;
v = (int) -1;
return v;
label:
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: long[] encoding>;
v = v[v];
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: long[] encoding>;
v = v[v];
v = v cmp v;
if v <= 0 goto label;
return 1;
label:
v = v + 1;
goto label;
label:
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: long[] encoding>;
v = lengthof v;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: long[] encoding>;
v = lengthof v;
if v >= v goto label;
v = (int) -1;
return v;
label:
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: long[] encoding>;
v = lengthof v;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: long[] encoding>;
v = lengthof v;
if v <= v goto label;
return 1;
label:
return 0;
label:
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: double[] components>;
v = lengthof v;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: double[] components>;
v = lengthof v;
v = v - v;
return v;
}
public boolean equals(java.lang.Object)
{
oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple v;
int v;
java.lang.Object v;
boolean v, v;
v := @this: oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple;
v := @parameter: java.lang.Object;
if v != v goto label;
return 1;
label:
v = v instanceof oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple;
if v == 0 goto label;
v = virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int compareTo(oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
return 0;
}
public int hashCode()
{
double[] v;
byte v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v, v;
oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple v;
v := @this: oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: double[] components>;
v = staticinvoke <java.util.Arrays: int hashCode(double[])>(v);
v = v * 37;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int offset>;
v = v + v;
v = v * 37;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int lsb>;
v = v + v;
v = v * 37;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: boolean posInf>;
if v == 0 goto label;
v = 97;
goto label;
label:
v = 71;
label:
v = v + v;
v = v * 37;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: boolean negInf>;
if v == 0 goto label;
v = 97;
goto label;
label:
v = 71;
label:
v = v + v;
v = v * 37;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: boolean nan>;
if v == 0 goto label;
v = 97;
goto label;
label:
v = 71;
label:
v = v + v;
return v;
}
public double[] getComponents()
{
double[] v;
java.lang.Object v;
oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple v;
v := @this: oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: double[] components>;
v = virtualinvoke v.<java.lang.Object: java.lang.Object clone()>();
return v;
}
private static long sign(long)
{
long v, v;
v := @parameter: long;
v = v & -9223372036854775808L;
return v;
}
private static int exponent(long)
{
int v;
long v, v, v;
v := @parameter: long;
v = v & 9218868437227405312L;
v = v >> 52;
v = v - 1075;
return v;
}
private static long mantissa(long)
{
byte v;
long v, v, v, v, v;
v := @parameter: long;
v = v & 9218868437227405312L;
v = v cmp 0L;
if v != 0 goto label;
v = v & 4503599627370495L;
v = v << 1;
goto label;
label:
v = v & 4503599627370495L;
v = 4503599627370496L | v;
label:
return v;
}
private static int computeMSB(long)
{
byte v;
int v, v;
long v, v, v, v;
v := @parameter: long;
v = v;
v = 4294967295L;
v = 32;
v = 0;
label:
if v == 0 goto label;
v = v & v;
v = v cmp v;
if v == 0 goto label;
v = v | v;
v = v >> v;
label:
v = v >> 1;
v = v >> v;
goto label;
label:
return v;
}
private static int computeLSB(long)
{
byte v;
int v, v;
long v, v, v, v;
v := @parameter: long;
v = v;
v = -4294967296L;
v = 32;
v = 0;
label:
if v == 0 goto label;
v = v & v;
v = v cmp v;
if v != 0 goto label;
v = v | v;
v = v >> v;
label:
v = v >> 1;
v = v >> v;
goto label;
label:
return v;
}
private int getBit(int, int)
{
double[] v;
long v, v, v, v, v, v, v, v;
byte v, v, v, v, v;
int v, v, v, v, v, v, v;
double v;
oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple v;
v := @this: oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple;
v := @parameter: int;
v := @parameter: int;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: double[] components>;
v = v[v];
v = staticinvoke <java.lang.Double: long doubleToLongBits(double)>(v);
v = staticinvoke <oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int exponent(long)>(v);
if v < v goto label;
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int offset>;
if v <= v goto label;
label:
return 0;
label:
v = v.<oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: int offset>;
if v != v goto label;
v = staticinvoke <oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: long sign(long)>(v);
v = v cmp 0L;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v = v + 52;
if v <= v goto label;
v = staticinvoke <oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: long sign(long)>(v);
v = v cmp 0L;
if v != 0 goto label;
v = 0;
goto label;
label:
v = 1;
label:
return v;
label:
v = staticinvoke <oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: long sign(long)>(v);
v = v cmp 0L;
if v != 0 goto label;
v = staticinvoke <oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: long mantissa(long)>(v);
goto label;
label:
v = staticinvoke <oadd.org.apache.commons.math.geometry.partitioning.utilities.OrderedTuple: long mantissa(long)>(v);
v = neg v;
label:
v = v - v;
v = v >> v;
v = v & 1L;
return v;
}
}