private static uint crc_entry(uint index)
{
uint r = index << 24;
for(int i=0; i<8; i++)
{
if((r& 0x80000000)!=0)
{
r=(r << 1)^0x04c11db7; /* The same as the ethernet generator
polynomial, although we use an
unreflected alg and an init/final
of 0, not 0xffffffff */
}
else
{
r <<= 1;
}
}
return (r & 0xffffffff);
}