unsafe public double GetDouble(int offset)
{
byte[] buffer = _buffer;
double value;
byte* pb = (byte*)&value;
DiagnosticUtility.DebugAssert(sizeof(double) == 8, "");
pb[0] = buffer[offset + 0];
pb[1] = buffer[offset + 1];
pb[2] = buffer[offset + 2];
pb[3] = buffer[offset + 3];
pb[4] = buffer[offset + 4];
pb[5] = buffer[offset + 5];
pb[6] = buffer[offset + 6];
pb[7] = buffer[offset + 7];
return value;
}