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