private void WritePackedInteger()

in ILRepack/LineNumberWriter.cs [110:138]


        private void WritePackedInteger(int val)
        {
            if (val >= -64 && val < 64)
            {
                val += 64;
                stream.WriteByte((byte)val);
            }
            else if (val >= -8192 && val < 8192)
            {
                val += 8192;
                stream.WriteByte((byte)(0x80 + (val >> 8)));
                stream.WriteByte((byte)val);
            }
            else if (val >= -1048576 && val < 1048576)
            {
                val += 1048576;
                stream.WriteByte((byte)(0xC0 + (val >> 16)));
                stream.WriteByte((byte)(val >> 8));
                stream.WriteByte((byte)val);
            }
            else
            {
                stream.WriteByte(0xFF);
                stream.WriteByte((byte)(val >> 24));
                stream.WriteByte((byte)(val >> 16));
                stream.WriteByte((byte)(val >> 8));
                stream.WriteByte((byte)(val >> 0));
            }
        }