Esempio n. 1
0
        /// <summary>
        /// Writes a signed 16 bit integer
        /// </summary>
        public BitWriter Write(Int16 source)
        {
            EnsureBufferSize(_lengthBits + 16);
            BitReaderWriter.WriteUInt16((ushort)source, 16, _data, _lengthBits);
            _lengthBits += 16;

            return(this);
        }
Esempio n. 2
0
        /// <summary>
        /// Writes an unsigned integer using 1 to 16 bits
        /// </summary>
        public BitWriter Write(UInt16 source, int numberOfBits)
        {
            BitBufferException.Assert((numberOfBits > 0 && numberOfBits <= 16), "Write(ushort, numberOfBits) can only write between 1 and 16 bits");
            EnsureBufferSize(_lengthBits + numberOfBits);
            BitReaderWriter.WriteUInt16(source, numberOfBits, _data, _lengthBits);
            _lengthBits += numberOfBits;

            return(this);
        }
Esempio n. 3
0
        /// <summary>
        /// Writes a 16 bit signed integer at a given offset in the buffer
        /// </summary>
        public BitWriter WriteAt(Int32 offset, Int16 source)
        {
            int newBitLength = Math.Max(_lengthBits, offset + 16);

            EnsureBufferSize(newBitLength);
            BitReaderWriter.WriteUInt16((ushort)source, 16, _data, offset);
            _lengthBits = newBitLength;

            return(this);
        }