private static unsafe int[] ReadIntArray(FileStream fs)
{
int count = ReadInt(fs);
byte[] data = new byte[count * sizeof(int)];
fs.Read(data, 0, count * sizeof(int));
int[] vals = new int[count];
fixed (byte* pData = data) {
int* ptr = (int*)pData;
for (int i = 0; i < count; ++i) {
vals[i] = *ptr;
ptr++;
}
}
return vals;
}