Example #1
0
        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);
        }
Example #2
0
 public override void Write(decimal value) => base.Write(EndianUtilities.Swap(value));
Example #3
0
 public override void Write(float value) => base.Write(EndianUtilities.Swap(value));