public final class oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.RSUtil extends java.lang.Object
{
public static oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField GF;
public static final int PRIMITIVE_ROOT;
private void <init>()
{
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.RSUtil v;
v := @this: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.RSUtil;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static int[] getPrimitivePower(int, int)
{
oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField v;
int[] v;
int v, v, v, v, v, v;
v := @parameter: int;
v := @parameter: int;
v = v + v;
v = newarray (int)[v];
v = 0;
label:
v = v + v;
if v >= v goto label;
v = <oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.RSUtil: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField GF>;
v = virtualinvoke v.<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField: int power(int,int)>(2, v);
v[v] = v;
v = v + 1;
goto label;
label:
return v;
}
public static void initTables(int, int, byte[], int, byte[])
{
byte[] v, v;
byte v;
int v, v, v, v, v, v, v, v;
v := @parameter: int;
v := @parameter: int;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: byte[];
v = 0;
v = v;
v = 0;
label:
if v >= v goto label;
v = 0;
label:
if v >= v goto label;
v = v;
v = v + 1;
v = v[v];
staticinvoke <oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GF256: void gfVectMulInit(byte,byte[],int)>(v, v, v);
v = v + 32;
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
return;
}
public static void genCauchyMatrix(byte[], int, int)
{
byte[] v;
byte v;
int v, v, v, v, v, v, v, v, v, v;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = 0;
label:
if v >= v goto label;
v = v * v;
v = v + v;
v[v] = 1;
v = v + 1;
goto label;
label:
v = v * v;
v = v;
label:
if v >= v goto label;
v = 0;
label:
if v >= v goto label;
v = v;
v = v + 1;
v = v ^ v;
v = staticinvoke <oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GF256: byte gfInv(byte)>(v);
v[v] = v;
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
return;
}
public static void encodeData(byte[], int, byte[][], int[], byte[][], int[])
{
byte[] v, v, v, v;
byte 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, v, v, v, v;
byte[][] v, v, v;
short v, v, v, v, v, v, v, v, v, v;
int[] 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;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: byte[][];
v := @parameter: int[];
v := @parameter: byte[][];
v := @parameter: int[];
v = lengthof v;
v = lengthof v;
v = v / 8;
v = v % 8;
v = v - v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = 0;
label:
if v >= v goto label;
v = v[v];
v = v[v];
v = v[v];
v = v * 32;
v = v * v;
v = v * 32;
v = v + v;
v = v + 1;
v = v[v];
v = staticinvoke <oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GF256: byte[][] gfMulTab()>();
v = v & 255;
v = v[v];
v = 0;
label:
if v >= v goto label;
v = v + 0;
v = v[v];
v = v + 0;
v = v[v];
v = 255 & v;
v = v[v];
v = v ^ v;
v[v] = v;
v = v + 1;
v = v[v];
v = v + 1;
v = v[v];
v = 255 & v;
v = v[v];
v = v ^ v;
v[v] = v;
v = v + 2;
v = v[v];
v = v + 2;
v = v[v];
v = 255 & v;
v = v[v];
v = v ^ v;
v[v] = v;
v = v + 3;
v = v[v];
v = v + 3;
v = v[v];
v = 255 & v;
v = v[v];
v = v ^ v;
v[v] = v;
v = v + 4;
v = v[v];
v = v + 4;
v = v[v];
v = 255 & v;
v = v[v];
v = v ^ v;
v[v] = v;
v = v + 5;
v = v[v];
v = v + 5;
v = v[v];
v = 255 & v;
v = v[v];
v = v ^ v;
v[v] = v;
v = v + 6;
v = v[v];
v = v + 6;
v = v[v];
v = 255 & v;
v = v[v];
v = v ^ v;
v[v] = v;
v = v + 7;
v = v[v];
v = v + 7;
v = v[v];
v = 255 & v;
v = v[v];
v = v ^ v;
v[v] = v;
v = v + 1;
v = v + 8;
v = v + 8;
goto label;
label:
v = v;
label:
if v >= v goto label;
v = v[v];
v = v[v];
v = 255 & v;
v = v[v];
v = v ^ v;
v[v] = v;
v = v + 1;
v = v + 1;
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
return;
}
public static void encodeData(byte[], java.nio.ByteBuffer[], java.nio.ByteBuffer[])
{
byte[] v, v;
byte 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, v, v, v, v;
byte[][] v;
short v, v, v, v, v, v, v, v, v, v;
java.nio.ByteBuffer v, v, v;
java.nio.ByteBuffer[] 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, v, v, v, v, v, v, v, v;
v := @parameter: byte[];
v := @parameter: java.nio.ByteBuffer[];
v := @parameter: java.nio.ByteBuffer[];
v = lengthof v;
v = lengthof v;
v = v[0];
v = virtualinvoke v.<java.nio.ByteBuffer: int remaining()>();
v = v / 8;
v = v % 8;
v = v - v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
v = v * 32;
v = v * v;
v = v * 32;
v = v + v;
v = v + 1;
v = v[v];
v = staticinvoke <oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GF256: byte[][] gfMulTab()>();
v = v & 255;
v = v[v];
v = 0;
label:
if v >= v goto label;
v = v + 0;
v = v + 0;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = v + 0;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = 255 & 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;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = v + 1;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = 255 & v;
v = v[v];
v = v ^ v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, v);
v = v + 2;
v = v + 2;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = v + 2;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = 255 & v;
v = v[v];
v = v ^ v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, v);
v = v + 3;
v = v + 3;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = v + 3;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = 255 & v;
v = v[v];
v = v ^ v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, v);
v = v + 4;
v = v + 4;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = v + 4;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = 255 & v;
v = v[v];
v = v ^ v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, v);
v = v + 5;
v = v + 5;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = v + 5;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = 255 & v;
v = v[v];
v = v ^ v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, v);
v = v + 6;
v = v + 6;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = v + 6;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = 255 & v;
v = v[v];
v = v ^ v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(int,byte)>(v, v);
v = v + 7;
v = v + 7;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = v + 7;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = 255 & 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 + 8;
v = v + 8;
goto label;
label:
v = v;
label:
if v >= v goto label;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = 255 & 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;
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
return;
}
static void <clinit>()
{
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()>();
<oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.RSUtil: oadd.org.apache.hadoop.io.erasurecode.rawcoder.util.GaloisField GF> = v;
return;
}
}