public class oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField extends java.lang.Object
{
private static final int DEFAULT_FIELD_SIZE;
private static final int DEFAULT_PRIMITIVE_POLYNOMIAL;
private static final java.util.Map instances;
private final int[] logTable;
private final int[] powTable;
private final int[][] mulTable;
private final int[][] divTable;
private final int fieldSize;
private final int primitivePeriod;
private final int primitivePolynomial;
static final boolean $assertionsDisabled;
private void <init>(int, int)
{
int[][] v, v, v, v, v, v;
int[] v, v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v;
java.lang.AssertionError 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.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
v := @this: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField;
v := @parameter: int;
v := @parameter: int;
specialinvoke v.<java.lang.Object: void <init>()>();
v = <oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: boolean $assertionsDisabled>;
if v != 0 goto label;
if v > 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = <oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: boolean $assertionsDisabled>;
if v != 0 goto label;
if v > 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int fieldSize> = v;
v = v - 1;
v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int primitivePeriod> = v;
v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int primitivePolynomial> = v;
v = newarray (int)[v];
v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[] logTable> = v;
v = newarray (int)[v];
v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[] powTable> = v;
v = newmultiarray (int)[v][v];
v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] mulTable> = v;
v = newmultiarray (int)[v][v];
v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] divTable> = v;
v = 1;
v = 0;
label:
v = v - 1;
if v >= v goto label;
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[] powTable>;
v[v] = v;
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[] logTable>;
v[v] = v;
v = v * 2;
if v < v goto label;
v = v ^ v;
label:
v = v + 1;
goto label;
label:
v = 0;
label:
if v >= v goto label;
v = 0;
label:
if v >= v goto label;
if v == 0 goto label;
if v != 0 goto label;
label:
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] mulTable>;
v = v[v];
v[v] = 0;
goto label;
label:
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[] logTable>;
v = v[v];
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[] logTable>;
v = v[v];
v = v + v;
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int primitivePeriod>;
if v < v goto label;
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int primitivePeriod>;
v = v - v;
goto label;
label:
v = v;
label:
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[] powTable>;
v = v[v];
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] mulTable>;
v = v[v];
v[v] = v;
label:
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
v = 0;
label:
if v >= v goto label;
v = 1;
label:
if v >= v goto label;
if v != 0 goto label;
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] divTable>;
v = v[v];
v[v] = 0;
goto label;
label:
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[] logTable>;
v = v[v];
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[] logTable>;
v = v[v];
v = v - v;
if v >= 0 goto label;
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int primitivePeriod>;
v = v + v;
goto label;
label:
v = v;
label:
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[] powTable>;
v = v[v];
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] divTable>;
v = v[v];
v[v] = v;
label:
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
return;
}
public static oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField getInstance(int, int)
{
java.lang.Throwable v;
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
java.lang.Integer v, v;
java.util.Map v, v, v;
int v, v, v, v, v, v, v;
java.lang.Object v;
v := @parameter: int;
v := @parameter: int;
v = v << 16;
v = v & -65536;
v = (int) 65535;
v = v & v;
v = v + v;
v = <oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: java.util.Map instances>;
entermonitor v;
label:
v = <oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: java.util.Map instances>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = new oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField;
specialinvoke v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: void <init>(int,int)>(v, v);
v = v;
v = <oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: java.util.Map instances>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
public static oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField getInstance()
{
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
v = staticinvoke <oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField getInstance(int,int)>(256, 285);
return v;
}
public int getFieldSize()
{
int v;
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
v := @this: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField;
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int fieldSize>;
return v;
}
public int getPrimitivePolynomial()
{
int v;
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
v := @this: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField;
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int primitivePolynomial>;
return v;
}
public int add(int, int)
{
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
java.lang.AssertionError v;
int v, v, v, v, v;
boolean v;
v := @this: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField;
v := @parameter: int;
v := @parameter: int;
v = <oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: boolean $assertionsDisabled>;
if v != 0 goto label;
if v < 0 goto label;
v = virtualinvoke v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int getFieldSize()>();
if v >= v goto label;
if v < 0 goto label;
v = virtualinvoke v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int getFieldSize()>();
if v < v goto label;
label:
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v ^ v;
return v;
}
public int multiply(int, int)
{
int[][] v;
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
java.lang.AssertionError v;
int[] v;
int v, v, v, v, v;
boolean v;
v := @this: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField;
v := @parameter: int;
v := @parameter: int;
v = <oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: boolean $assertionsDisabled>;
if v != 0 goto label;
if v < 0 goto label;
v = virtualinvoke v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int getFieldSize()>();
if v >= v goto label;
if v < 0 goto label;
v = virtualinvoke v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int getFieldSize()>();
if v < v goto label;
label:
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] mulTable>;
v = v[v];
v = v[v];
return v;
}
public int divide(int, int)
{
int[][] v;
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
java.lang.AssertionError v;
int[] v;
int v, v, v, v, v;
boolean v;
v := @this: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField;
v := @parameter: int;
v := @parameter: int;
v = <oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: boolean $assertionsDisabled>;
if v != 0 goto label;
if v < 0 goto label;
v = virtualinvoke v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int getFieldSize()>();
if v >= v goto label;
if v <= 0 goto label;
v = virtualinvoke v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int getFieldSize()>();
if v < v goto label;
label:
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] divTable>;
v = v[v];
v = v[v];
return v;
}
public int power(int, int)
{
java.lang.AssertionError v;
int[] v, v, v;
int v, v, v, v, v, v, v, v, v, v;
boolean v;
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
v := @this: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField;
v := @parameter: int;
v := @parameter: int;
v = <oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: boolean $assertionsDisabled>;
if v != 0 goto label;
if v < 0 goto label;
v = virtualinvoke v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int getFieldSize()>();
if v < v goto label;
label:
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
if v != 0 goto label;
return 1;
label:
if v != 0 goto label;
return 0;
label:
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[] logTable>;
v = v[v];
v = v * v;
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int primitivePeriod>;
if v >= v goto label;
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[] powTable>;
v = v[v];
return v;
label:
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int primitivePeriod>;
v = v % v;
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[] powTable>;
v = v[v];
return v;
}
public void solveVandermondeSystem(int[], int[])
{
int[] v, v;
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
int v;
v := @this: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField;
v := @parameter: int[];
v := @parameter: int[];
v = lengthof v;
virtualinvoke v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: void solveVandermondeSystem(int[],int[],int)>(v, v, v);
return;
}
public void solveVandermondeSystem(int[], int[], int)
{
int[][] v, v;
int[] v, v, v, v;
boolean v;
java.lang.AssertionError 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;
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
v := @this: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField;
v := @parameter: int[];
v := @parameter: int[];
v := @parameter: int;
v = <oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: boolean $assertionsDisabled>;
if v != 0 goto label;
v = lengthof v;
if v > v goto label;
v = lengthof v;
if v <= v goto label;
label:
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = 0;
label:
v = v - 1;
if v >= v goto label;
v = v - 1;
label:
if v <= v goto label;
v = v[v];
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] mulTable>;
v = v[v];
v = v[v];
v = v - 1;
v = v[v];
v = v[v];
v = v ^ v;
v[v] = v;
v = v - 1;
goto label;
label:
v = v + 1;
goto label;
label:
v = v - 1;
label:
if v < 0 goto label;
v = v + 1;
label:
if v >= v goto label;
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] divTable>;
v = v[v];
v = v[v];
v = v[v];
v = v - v;
v = v - 1;
v = v[v];
v = v ^ v;
v = v[v];
v[v] = v;
v = v + 1;
goto label;
label:
v = v;
label:
v = v - 1;
if v >= v goto label;
v = v[v];
v = v + 1;
v = v[v];
v = v ^ v;
v[v] = v;
v = v + 1;
goto label;
label:
v = v - 1;
goto label;
label:
return;
}
public void solveVandermondeSystem(int[], byte[][], int[], int, int)
{
byte[] v, v, v, v, v, v, v, v;
int[][] v, v;
byte v, v, v, v, v, v;
int[] v, v, v, v;
byte[][] v;
short 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, v, v, v;
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
v := @this: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField;
v := @parameter: int[];
v := @parameter: byte[][];
v := @parameter: int[];
v := @parameter: int;
v := @parameter: int;
v = 0;
label:
v = v - 1;
if v >= v goto label;
v = v - 1;
label:
if v <= v goto label;
v = v - 1;
v = v[v];
v = v[v];
label:
v = v[v];
v = v + v;
if v >= v goto label;
v = v[v];
v = v[v];
v = v[v];
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] mulTable>;
v = v[v];
v = v[v];
v = v - 1;
v = v[v];
v = v[v];
v = v & 255;
v = v[v];
v = v ^ v;
v[v] = v;
v = v + 1;
v = v + 1;
goto label;
label:
v = v - 1;
goto label;
label:
v = v + 1;
goto label;
label:
v = v - 1;
label:
if v < 0 goto label;
v = v + 1;
label:
if v >= v goto label;
v = v[v];
label:
v = v[v];
v = v + v;
if v >= v goto label;
v = v[v];
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] divTable>;
v = v[v];
v = v[v];
v = v & 255;
v = v[v];
v = v[v];
v = v - v;
v = v - 1;
v = v[v];
v = v ^ v;
v = v[v];
v[v] = v;
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
v = v;
label:
v = v - 1;
if v >= v goto label;
v = v + 1;
v = v[v];
v = v[v];
label:
v = v[v];
v = v + v;
if v >= v goto label;
v = v[v];
v = v[v];
v = v[v];
v = v + 1;
v = v[v];
v = v[v];
v = v ^ v;
v[v] = v;
v = v + 1;
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
v = v - 1;
goto label;
label:
return;
}
public void solveVandermondeSystem(int[], java.nio.ByteBuffer[], int)
{
int[][] v, v;
java.nio.ByteBuffer v, v, v, v, v, v, v;
byte v, v, v, v, v, v;
int[] v, v, v;
java.nio.ByteBuffer[] v;
short 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;
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
v := @this: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField;
v := @parameter: int[];
v := @parameter: java.nio.ByteBuffer[];
v := @parameter: int;
v = 0;
label:
v = v - 1;
if v >= v goto label;
v = v - 1;
label:
if v <= v goto label;
v = v[v];
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
v = v - 1;
v = v[v];
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
label:
v = virtualinvoke v.<java.nio.ByteBuffer: int limit()>();
if v >= v goto label;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] mulTable>;
v = v[v];
v = v[v];
v = v - 1;
v = v[v];
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = v & 255;
v = v[v];
v = v ^ v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, v);
v = v + 1;
v = v + 1;
goto label;
label:
v = v - 1;
goto label;
label:
v = v + 1;
goto label;
label:
v = v - 1;
label:
if v < 0 goto label;
v = v + 1;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
label:
v = virtualinvoke v.<java.nio.ByteBuffer: int limit()>();
if v >= v goto label;
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] divTable>;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = v & 255;
v = v[v];
v = v[v];
v = v - v;
v = v - 1;
v = v[v];
v = v ^ v;
v = v[v];
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, v);
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
v = v;
label:
v = v - 1;
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
v = v + 1;
v = v[v];
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
label:
v = virtualinvoke v.<java.nio.ByteBuffer: int limit()>();
if v >= v goto label;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = v + 1;
v = v[v];
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = v ^ v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, v);
v = v + 1;
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
v = v - 1;
goto label;
label:
return;
}
public int[] multiply(int[], int[])
{
int[] v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
v := @this: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField;
v := @parameter: int[];
v := @parameter: int[];
v = lengthof v;
v = lengthof v;
v = v + v;
v = v - 1;
v = newarray (int)[v];
v = 0;
label:
if v >= v goto label;
v[v] = 0;
v = v + 1;
goto label;
label:
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v + v;
v = v + v;
v = v[v];
v = v[v];
v = v[v];
v = virtualinvoke v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int multiply(int,int)>(v, v);
v = virtualinvoke v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int add(int,int)>(v, v);
v[v] = v;
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
return v;
}
public void remainder(int[], int[])
{
int[][] v, v;
int[] v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
v := @this: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField;
v := @parameter: int[];
v := @parameter: int[];
v = lengthof v;
v = lengthof v;
v = v - v;
label:
if v < 0 goto label;
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] divTable>;
v = lengthof v;
v = v + v;
v = v - 1;
v = v[v];
v = v[v];
v = lengthof v;
v = v - 1;
v = v[v];
v = v[v];
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v + v;
v = v[v];
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] mulTable>;
v = v[v];
v = v[v];
v = v[v];
v = v ^ v;
v[v] = v;
v = v + 1;
goto label;
label:
v = v - 1;
goto label;
label:
return;
}
public int[] add(int[], int[])
{
int[] v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v;
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
v := @this: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField;
v := @parameter: int[];
v := @parameter: int[];
v = lengthof v;
v = lengthof v;
v = staticinvoke <java.lang.Math: int max(int,int)>(v, v);
v = newarray (int)[v];
v = 0;
label:
if v >= v goto label;
v = lengthof v;
if v >= v goto label;
v = lengthof v;
if v >= v goto label;
v = v[v];
v = v[v];
v = virtualinvoke v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int add(int,int)>(v, v);
v[v] = v;
goto label;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v[v] = v;
goto label;
label:
v = v[v];
v[v] = v;
label:
v = v + 1;
goto label;
label:
return v;
}
public int substitute(int[], int)
{
int[][] v, v;
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
int[] v, v, v;
int v, v, v, v, v, v, v;
v := @this: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField;
v := @parameter: int[];
v := @parameter: int;
v = 0;
v = 1;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] mulTable>;
v = v[v];
v = v[v];
v = v[v];
v = v ^ v;
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] mulTable>;
v = v[v];
v = v[v];
v = v + 1;
goto label;
label:
return v;
}
public void substitute(byte[][], byte[], int)
{
byte[] v, v;
int[][] v, v;
short v;
byte v, v;
int[] v, v;
int v, v, v, v, v, v, v, v;
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
byte[][] v;
v := @this: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField;
v := @parameter: byte[][];
v := @parameter: byte[];
v := @parameter: int;
v = 1;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = v & 255;
v = v[v];
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] mulTable>;
v = v[v];
v = v[v];
v = v ^ v;
v[v] = v;
v = v + 1;
goto label;
label:
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] mulTable>;
v = v[v];
v = v[v];
v = v + 1;
goto label;
label:
return;
}
public void substitute(byte[][], int[], int, byte[], int, int)
{
byte[] v, v;
int[][] v, v;
short v;
byte v, v;
int[] v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v;
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
byte[][] v;
v := @this: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField;
v := @parameter: byte[][];
v := @parameter: int[];
v := @parameter: int;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = 1;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = v[v];
v = v;
label:
v = v[v];
v = v + v;
if v >= v goto label;
if v == null goto label;
v = v[v];
v = v & 255;
goto label;
label:
v = 0;
label:
v = v[v];
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] mulTable>;
v = v[v];
v = v[v];
v = v ^ v;
v[v] = v;
v = v + 1;
v = v + 1;
goto label;
label:
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] mulTable>;
v = v[v];
v = v[v];
v = v + 1;
goto label;
label:
return;
}
public void substitute(java.nio.ByteBuffer[], int, java.nio.ByteBuffer, int)
{
int[][] v, v;
java.nio.ByteBuffer v, v;
short v;
byte v, v;
int[] v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v;
java.nio.ByteBuffer[] v;
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
v := @this: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField;
v := @parameter: java.nio.ByteBuffer[];
v := @parameter: int;
v := @parameter: java.nio.ByteBuffer;
v := @parameter: int;
v = 1;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
if v == null goto label;
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
goto label;
label:
v = 0;
label:
v = v;
if v == null goto label;
v = virtualinvoke v.<java.nio.ByteBuffer: int limit()>();
goto label;
label:
v = v;
label:
v = v;
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
v = v;
label:
if v >= v goto label;
if v == null goto label;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = v & 255;
goto label;
label:
v = 0;
label:
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] mulTable>;
v = v[v];
v = v[v];
v = v ^ v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, v);
v = v + 1;
v = v + 1;
goto label;
label:
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] mulTable>;
v = v[v];
v = v[v];
v = v + 1;
goto label;
label:
return;
}
public void remainder(byte[][], int[])
{
byte[] v, v, v, v;
int[][] v, v;
byte v, v;
int[] v, v, v;
byte[][] v;
short v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
v := @this: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField;
v := @parameter: byte[][];
v := @parameter: int[];
v = lengthof v;
v = lengthof v;
v = v - v;
label:
if v < 0 goto label;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = 0;
label:
v = v[v];
v = lengthof v;
if v >= v goto label;
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] divTable>;
v = lengthof v;
v = v + v;
v = v - 1;
v = v[v];
v = v[v];
v = v & 255;
v = v[v];
v = lengthof v;
v = v - 1;
v = v[v];
v = v[v];
v = v + v;
v = v[v];
v = v + v;
v = v[v];
v = v[v];
v = v & 255;
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] mulTable>;
v = v[v];
v = v[v];
v = v[v];
v = v ^ v;
v[v] = v;
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
v = v - 1;
goto label;
label:
return;
}
public void remainder(byte[][], int[], int, int[])
{
byte[] v, v, v;
int[][] v, v;
byte v, v;
int[] v, v, v, v;
byte[][] v;
short 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;
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
v := @this: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField;
v := @parameter: byte[][];
v := @parameter: int[];
v := @parameter: int;
v := @parameter: int[];
v = lengthof v;
v = lengthof v;
v = v - v;
label:
if v < 0 goto label;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v + v;
v = v[v];
v = lengthof v;
v = v + v;
v = v - 1;
v = v[v];
label:
v = lengthof v;
v = v + v;
v = v - 1;
v = v[v];
v = v + v;
if v >= v goto label;
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] divTable>;
v = lengthof v;
v = v + v;
v = v - 1;
v = v[v];
v = v[v];
v = v & 255;
v = v[v];
v = lengthof v;
v = v - 1;
v = v[v];
v = v[v];
v = v + v;
v = v[v];
v = v + v;
v = v[v];
v = v[v];
v = v & 255;
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] mulTable>;
v = v[v];
v = v[v];
v = v[v];
v = v ^ v;
v[v] = v;
v = v + 1;
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
v = v - 1;
goto label;
label:
return;
}
public void remainder(java.nio.ByteBuffer[], int[])
{
int[][] v, v;
java.nio.ByteBuffer v, v;
byte v, v;
int[] v, v, v;
java.nio.ByteBuffer[] v;
short v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
v := @this: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField;
v := @parameter: java.nio.ByteBuffer[];
v := @parameter: int[];
v = lengthof v;
v = lengthof v;
v = v - v;
label:
if v < 0 goto label;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = lengthof v;
v = v + v;
v = v - 1;
v = v[v];
v = v + v;
v = v[v];
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
label:
v = virtualinvoke v.<java.nio.ByteBuffer: int limit()>();
if v >= v goto label;
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] divTable>;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = v & 255;
v = v[v];
v = lengthof v;
v = v - 1;
v = v[v];
v = v[v];
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = v & 255;
v = v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int[][] mulTable>;
v = v[v];
v = v[v];
v = v[v];
v = v ^ v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, v);
v = v + 1;
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
v = v - 1;
goto label;
label:
return;
}
public void gaussianElimination(int[][])
{
int[][] v;
int[] v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v;
java.lang.AssertionError 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;
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
v := @this: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField;
v := @parameter: int[][];
v = <oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: boolean $assertionsDisabled>;
if v != 0 goto label;
if v == null goto label;
v = lengthof v;
if v <= 0 goto label;
v = v[0];
v = lengthof v;
if v <= 0 goto label;
v = lengthof v;
v = v[0];
v = lengthof v;
if v < v goto label;
label:
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = lengthof v;
v = v[0];
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = 0;
v = v;
label:
if v >= v goto label;
v = v[v];
v = v[v];
if v == 0 goto label;
v = v[v];
v = v[v];
v[v] = v;
v[v] = v;
v = 1;
goto label;
label:
v = v + 1;
goto label;
label:
if v == 0 goto label;
v = v[v];
v = v[v];
v = v;
label:
if v >= v goto label;
v = v[v];
v = v[v];
v = v[v];
v = virtualinvoke v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int divide(int,int)>(v, v);
v[v] = v;
v = v + 1;
goto label;
label:
v = v + 1;
label:
if v >= v goto label;
v = v[v];
v = v[v];
v = v;
label:
if v >= v goto label;
v = v[v];
v = v[v];
v = v[v];
v = v[v];
v = v[v];
v = virtualinvoke v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int multiply(int,int)>(v, v);
v = virtualinvoke v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int add(int,int)>(v, v);
v[v] = v;
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
v = v - 1;
label:
if v < 0 goto label;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = v[v];
v = v;
label:
if v >= v goto label;
v = v[v];
v = v[v];
v = v[v];
v = v[v];
v = v[v];
v = virtualinvoke v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int multiply(int,int)>(v, v);
v = virtualinvoke v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int add(int,int)>(v, v);
v[v] = v;
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
v = v - 1;
goto label;
label:
return;
}
static void <clinit>()
{
java.lang.Class v;
java.util.HashMap v;
boolean v, v;
v = class "Loadd/org/apache/hadoop/io/erasurecode/rawcoder/util/GaloisField;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: boolean $assertionsDisabled> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: java.util.Map instances> = v;
return;
}
}