哪位高手可以把以下的JAVA的2个类翻译成C++或C 200分 定重谢!! 《一》
//第一个类
// Source File Name: CMinutiae.java
package supident;
final class CMinutiae
{
static final int l1645330473 = 1024;
static final int l1062289529 = 26;
static final int l0329348527 = 1;
static final int l0400838486 = 10000;
static final int l1649964428 = 100;
static final int l1773812214 = 1;
static final int l0553919079 = 2;
static final int l0140565940 = 26;
private int l0292819921;
private int l0639029415[];
private int l1823000642[];
private int l1773595764[];
private int l0367938215[];
private int l0010700609;
private float l0957992906[];
private float l0077721587[];
private float l1253943833[];
private int l1309570488[];
private int l1320378984[];
private float l0370023147[];
CMinutiae()
{
l0639029415 = new int[100];
l1823000642 = new int[100];
l1773595764 = new int[100];
l0367938215 = new int[100];
l0957992906 = new float[10000];
l0077721587 = new float[10000];
l1253943833 = new float[10000];
l1309570488 = new int[10000];
l1320378984 = new int[10000];
l0370023147 = new float[10000];
l0292819921 = 0;
l0010700609 = 0;
}
public int l0228990318(int i)
{
return l0639029415[i];
}
public int l0552050465(int i)
{
return l1823000642[i];
}
public int l0188395125(int i)
{
return l1773595764[i];
}
public int l0383769821(int i)
{
return l0367938215[i];
}
public int l0866905950()
{
return l0292819921;
}
public int l0640234460()
{
return l0010700609;
}
public float l0351563117(int i)
{
return l0957992906[i];
}
public float l0529449106(int i)
{
return l0077721587[i];
}
public float l1084007552(int i)
{
return l1253943833[i];
}
public int l1830843208(int i)
{
return l1309570488[i];
}
public int l1913856007(int i)
{
return l1320378984[i];
}
public float l2023836675(int i)
{
return l0370023147[i];
}
private final int l0811958333(byte byte0)
{
return byte0 < 0 ? byte0 & 0xff : byte0;
}
public final int l0714562597(byte abyte0[], int i)
{
l0292819921 = 0;
if(i == 1)
l0292819921 = l1495332790(abyte0);
else
if(i == 2)
l0292819921 = l0205000206(abyte0);
if(l0292819921 > 0)
l1717334202();
return l0292819921;
}
private final void l1717334202()
{
float af[] = new float[10000];
float af1[] = new float[10000];
float af2[] = new float[10000];
int ai[] = new int[10000];
int ai1[] = new int[10000];
float af3[] = new float[10000];
int ai2[] = new int[10000];
int ai3[] = new int[400];
int i = 1;
short word0 = 0;
label0:
do
{
if(word0 >= l0292819921 - 1)
break;
for(short word2 = (short)(word0 + 1); word2 < l0292819921; word2++)
{
float f = (float)Math.sqrt((l0639029415[word0] - l0639029415[word2]) * (l0639029415[word0] - l0639029415[word2]) + (l1823000642[word0] - l1823000642[word2]) * (l1823000642[word0] - l1823000642[word2]));
if(f < 10F || f >= 400F)
continue;
float f1 = (float)(Math.atan2(l1823000642[word0] - l1823000642[word2], l0639029415[word2] - l0639029415[word0]) * 57.295780000000001D);
if(f1 < 0.0F)
f1 += 360F;
float f2 = f1 - 180F;
if(f2 < 0.0F)
f2 += 360F;
float f3 = (float)l1773595764[word0] - f1;
if(f3 < 0.0F)
f3 += 360F;
float f4 = (float)l1773595764[word2] - f2;
if(f4 < 0.0F)
f4 += 360F;
af[i] = f;
af1[i] = f3;
af2[i] = f4;
ai[i] = word0;
ai1[i] = word2;
af3[i] = f1;
ai2[i] = ai3[(int)f];
ai3[(int)f] = i;
if(++i >= 10000)
break label0;
af[i] = f;
af1[i] = f4;
af2[i] = f3;
ai[i] = word2;
ai1[i] = word0;
af3[i] = f2;
ai2[i] = ai3[(int)f];
ai3[(int)f] = i;
if(++i >= 10000)
break label0;
}
word0++;
} while(true);
i = 0;
for(short word1 = 0; word1 < 400; word1++)
{
for(int j = ai3[word1]; j != 0;)
{
l0957992906[i] = af[j];
l0077721587[i] = af1[j];
l1253943833[i] = af2[j];
l1309570488[i] = ai[j];
l1320378984[i] = ai1[j];
l0370023147[i] = af3[j];
j = ai2[j];
i = (short)(i + 1);
}
}
l0010700609 = i;
}
private final int l1495332790(byte abyte0[])
{
if(abyte0[0] != 70 || abyte0[1] != 77 || abyte0[2] != 82)
return 0;
int i = l0811958333(abyte0[17]) * 256 + l0811958333(abyte0[16]);
int j = l0811958333(abyte0[19]) * 256 + l0811958333(abyte0[18]);
if(i != 256 || j != 300)
return 0;
byte byte0 = abyte0[29];
if(byte0 > 100)
byte0 = 100;
if(byte0 > 0)
{
for(int k = 0; k < byte0; k++)
{
l0639029415[k] = l0811958333(abyte0[30 + k * 6 + 1]) * 256 | l0811958333(abyte0[30 + k * 6 + 0]);
l1823000642[k] = l0811958333(abyte0[30 + k * 6 + 3]) * 256 | l0811958333(abyte0[30 + k * 6 + 2]);
l0639029415[k] = l0639029415[k] & 0x3fff;
l1823000642[k] = l1823000642[k] & 0x3fff;
l1823000642[k] = j - l1823000642[k];
l1773595764[k] = l0811958333(abyte0[30 + k * 6 + 4]) * 2;
l0367938215[k] = l0811958333(abyte0[30 + k * 6 + 1]);
l0367938215[k] = l0367938215[k] >>> 6;
}
l1717334202();
}
return byte0;
}
private final int l0205000206(byte abyte0[])
{
int l = l0811958333(abyte0[0]) * 256 + l0811958333(abyte0[1]);
int i = l0811958333(abyte0[2]);
if(l != i * 4 + 1)
return 0;
for(int k = 0; k < i; k++)
{
int j = l0811958333(abyte0[3 + k * 4]);
j >>>= 4;
if(j != 1 && j != 2)
return 0;
l0367938215[k] = j;
l0639029415[k] = l0811958333(abyte0[3 + k * 4 + 2]);
l1823000642[k] = l0811958333(abyte0[3 + k * 4 + 3]);
l1773595764[k] = l0811958333(abyte0[3 + k * 4 + 0]) & 0xf;
l1773595764[k] = l1773595764[k] * 256 + l0811958333(abyte0[3 + k * 4 + 1]);
}
return 0;
}
}
//那为大哥可以帮下小弟,小弟定重谢... 第2个类在同样的第2贴