public unsafe void Write(double[] values) { var byteCount = values.Length * 8; fixed(double *p = values) { for (int i = 0; i < byteCount; i++) { var r = *(long *)&p[i]; var bigEValue = EndianUtilities.Swap(r); byte *bytes = (byte *)&bigEValue; buffer[i * 8 + 0] = bytes[0]; buffer[i * 8 + 1] = bytes[1]; buffer[i * 8 + 2] = bytes[2]; buffer[i * 8 + 3] = bytes[3]; buffer[i * 8 + 4] = bytes[4]; buffer[i * 8 + 5] = bytes[5]; buffer[i * 8 + 6] = bytes[6]; buffer[i * 8 + 7] = bytes[7]; } } BaseStream.Write(buffer, 0, byteCount); }
public override void Write(decimal value) => base.Write(EndianUtilities.Swap(value));
public override void Write(float value) => base.Write(EndianUtilities.Swap(value));