public abstract class oadd.org.apache.hadoop.util.PriorityQueue extends java.lang.Object
{
private java.lang.Object[] heap;
private int size;
private int maxSize;
public void <init>()
{
oadd.org.apache.hadoop.util.PriorityQueue v;
v := @this: oadd.org.apache.hadoop.util.PriorityQueue;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
protected abstract boolean lessThan(java.lang.Object, java.lang.Object);
protected final void initialize(int)
{
java.lang.Object[] v;
int v, v;
oadd.org.apache.hadoop.util.PriorityQueue v;
v := @this: oadd.org.apache.hadoop.util.PriorityQueue;
v := @parameter: int;
v.<oadd.org.apache.hadoop.util.PriorityQueue: int size> = 0;
v = v + 1;
v = newarray (java.lang.Object)[v];
v.<oadd.org.apache.hadoop.util.PriorityQueue: java.lang.Object[] heap> = v;
v.<oadd.org.apache.hadoop.util.PriorityQueue: int maxSize> = v;
return;
}
public final void put(java.lang.Object)
{
java.lang.Object[] v;
int v, v, v;
java.lang.Object v;
oadd.org.apache.hadoop.util.PriorityQueue v;
v := @this: oadd.org.apache.hadoop.util.PriorityQueue;
v := @parameter: java.lang.Object;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: int size>;
v = v + 1;
v.<oadd.org.apache.hadoop.util.PriorityQueue: int size> = v;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: java.lang.Object[] heap>;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: int size>;
v[v] = v;
specialinvoke v.<oadd.org.apache.hadoop.util.PriorityQueue: void upHeap()>();
return;
}
public boolean insert(java.lang.Object)
{
java.lang.Object[] v;
int v, v, v;
java.lang.Object v, v;
oadd.org.apache.hadoop.util.PriorityQueue v;
boolean v;
v := @this: oadd.org.apache.hadoop.util.PriorityQueue;
v := @parameter: java.lang.Object;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: int size>;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: int maxSize>;
if v >= v goto label;
virtualinvoke v.<oadd.org.apache.hadoop.util.PriorityQueue: void put(java.lang.Object)>(v);
return 1;
label:
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: int size>;
if v <= 0 goto label;
v = virtualinvoke v.<oadd.org.apache.hadoop.util.PriorityQueue: java.lang.Object top()>();
v = virtualinvoke v.<oadd.org.apache.hadoop.util.PriorityQueue: boolean lessThan(java.lang.Object,java.lang.Object)>(v, v);
if v != 0 goto label;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: java.lang.Object[] heap>;
v[1] = v;
virtualinvoke v.<oadd.org.apache.hadoop.util.PriorityQueue: void adjustTop()>();
return 1;
label:
return 0;
}
public final java.lang.Object top()
{
java.lang.Object[] v;
int v;
java.lang.Object v;
oadd.org.apache.hadoop.util.PriorityQueue v;
v := @this: oadd.org.apache.hadoop.util.PriorityQueue;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: int size>;
if v <= 0 goto label;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: java.lang.Object[] heap>;
v = v[1];
return v;
label:
return null;
}
public final java.lang.Object pop()
{
java.lang.Object[] v, v, v, v;
int v, v, v, v, v;
java.lang.Object v, v;
oadd.org.apache.hadoop.util.PriorityQueue v;
v := @this: oadd.org.apache.hadoop.util.PriorityQueue;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: int size>;
if v <= 0 goto label;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: java.lang.Object[] heap>;
v = v[1];
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: java.lang.Object[] heap>;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: java.lang.Object[] heap>;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: int size>;
v = v[v];
v[1] = v;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: java.lang.Object[] heap>;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: int size>;
v[v] = null;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: int size>;
v = v - 1;
v.<oadd.org.apache.hadoop.util.PriorityQueue: int size> = v;
specialinvoke v.<oadd.org.apache.hadoop.util.PriorityQueue: void downHeap()>();
return v;
label:
return null;
}
public final void adjustTop()
{
oadd.org.apache.hadoop.util.PriorityQueue v;
v := @this: oadd.org.apache.hadoop.util.PriorityQueue;
specialinvoke v.<oadd.org.apache.hadoop.util.PriorityQueue: void downHeap()>();
return;
}
public final int size()
{
int v;
oadd.org.apache.hadoop.util.PriorityQueue v;
v := @this: oadd.org.apache.hadoop.util.PriorityQueue;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: int size>;
return v;
}
public final void clear()
{
java.lang.Object[] v;
int v, v;
oadd.org.apache.hadoop.util.PriorityQueue v;
v := @this: oadd.org.apache.hadoop.util.PriorityQueue;
v = 0;
label:
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: int size>;
if v > v goto label;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: java.lang.Object[] heap>;
v[v] = null;
v = v + 1;
goto label;
label:
v.<oadd.org.apache.hadoop.util.PriorityQueue: int size> = 0;
return;
}
private final void upHeap()
{
java.lang.Object[] v, v, v, v, v;
int v, v;
java.lang.Object v, v, v;
oadd.org.apache.hadoop.util.PriorityQueue v;
boolean v;
v := @this: oadd.org.apache.hadoop.util.PriorityQueue;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: int size>;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: java.lang.Object[] heap>;
v = v[v];
v = v >>> 1;
label:
if v <= 0 goto label;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: java.lang.Object[] heap>;
v = v[v];
v = virtualinvoke v.<oadd.org.apache.hadoop.util.PriorityQueue: boolean lessThan(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: java.lang.Object[] heap>;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: java.lang.Object[] heap>;
v = v[v];
v[v] = v;
v = v;
v = v >>> 1;
goto label;
label:
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: java.lang.Object[] heap>;
v[v] = v;
return;
}
private final void downHeap()
{
java.lang.Object[] v, v, v, v, v, v, v, v, v;
int v, v, v, v, v, v;
oadd.org.apache.hadoop.util.PriorityQueue v;
boolean v, v, v;
java.lang.Object v, v, v, v, v, v, v;
v := @this: oadd.org.apache.hadoop.util.PriorityQueue;
v = 1;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: java.lang.Object[] heap>;
v = v[1];
v = 2;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: int size>;
if 3 > v goto label;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: java.lang.Object[] heap>;
v = v[3];
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: java.lang.Object[] heap>;
v = v[2];
v = virtualinvoke v.<oadd.org.apache.hadoop.util.PriorityQueue: boolean lessThan(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
v = 3;
label:
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: int size>;
if v > v goto label;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: java.lang.Object[] heap>;
v = v[v];
v = virtualinvoke v.<oadd.org.apache.hadoop.util.PriorityQueue: boolean lessThan(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: java.lang.Object[] heap>;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: java.lang.Object[] heap>;
v = v[v];
v[v] = v;
v = v;
v = v << 1;
v = v + 1;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: int size>;
if v > v goto label;
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: java.lang.Object[] heap>;
v = v[v];
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: java.lang.Object[] heap>;
v = v[v];
v = virtualinvoke v.<oadd.org.apache.hadoop.util.PriorityQueue: boolean lessThan(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
v = v;
goto label;
label:
v = v.<oadd.org.apache.hadoop.util.PriorityQueue: java.lang.Object[] heap>;
v[v] = v;
return;
}
}