private void writeUInt()

in src/com/amazon/ion/impl/lite/ReverseBinaryEncoder.java [360:457]


    private void writeUInt(long v)
    {
        int offset = myOffset;

        if (v < (1L << (8 * 1)))
        {
            if (--offset < 0) {
                offset = growBuffer(offset);
            }
            myBuffer[offset] = (byte) v;
        }
        else if (v < (1L << (8 * 2)))
        {
            offset -= 2;
            if (offset < 0) {
                offset = growBuffer(offset);
            }
            myBuffer[offset]   = (byte) (v >>> (8 * 1));
            myBuffer[offset+1] = (byte)  v;
        }
        else if (v < (1L << (8 * 3)))
        {
            offset -= 3;
            if (offset < 0) {
                offset = growBuffer(offset);
            }
            myBuffer[offset]   = (byte) (v >>> (8 * 2));
            myBuffer[offset+1] = (byte) (v >>> (8 * 1));
            myBuffer[offset+2] = (byte)  v;
        }
        else if (v < (1L << (8 * 4)))
        {
            offset -= 4;
            if (offset < 0) {
                offset = growBuffer(offset);
            }
            myBuffer[offset]   = (byte) (v >>> (8 * 3));
            myBuffer[offset+1] = (byte) (v >>> (8 * 2));
            myBuffer[offset+2] = (byte) (v >>> (8 * 1));
            myBuffer[offset+3] = (byte)  v;
        }
        else if (v < (1L << (8 * 5)))
        {
            offset -= 5;
            if (offset < 0) {
                offset = growBuffer(offset);
            }
            myBuffer[offset]   = (byte) (v >>> (8 * 4));
            myBuffer[offset+1] = (byte) (v >>> (8 * 3));
            myBuffer[offset+2] = (byte) (v >>> (8 * 2));
            myBuffer[offset+3] = (byte) (v >>> (8 * 1));
            myBuffer[offset+4] = (byte)  v;
        }
        else if (v < (1L << (8 * 6)))
        {
            offset -= 6;
            if (offset < 0) {
                offset = growBuffer(offset);
            }
            myBuffer[offset]   = (byte) (v >>> (8 * 5));
            myBuffer[offset+1] = (byte) (v >>> (8 * 4));
            myBuffer[offset+2] = (byte) (v >>> (8 * 3));
            myBuffer[offset+3] = (byte) (v >>> (8 * 2));
            myBuffer[offset+4] = (byte) (v >>> (8 * 1));
            myBuffer[offset+5] = (byte)  v;
        }
        else if (v < (1L << (8 * 7)))
        {
            offset -= 7;
            if (offset < 0) {
                offset = growBuffer(offset);
            }
            myBuffer[offset]   = (byte) (v >>> (8 * 6));
            myBuffer[offset+1] = (byte) (v >>> (8 * 5));
            myBuffer[offset+2] = (byte) (v >>> (8 * 4));
            myBuffer[offset+3] = (byte) (v >>> (8 * 3));
            myBuffer[offset+4] = (byte) (v >>> (8 * 2));
            myBuffer[offset+5] = (byte) (v >>> (8 * 1));
            myBuffer[offset+6] = (byte)  v;
        }
        else
        {
            offset -= 8;
            if (offset < 0) {
                offset = growBuffer(offset);
            }
            myBuffer[offset]   = (byte) (v >>> (8 * 7));
            myBuffer[offset+1] = (byte) (v >>> (8 * 6));
            myBuffer[offset+2] = (byte) (v >>> (8 * 5));
            myBuffer[offset+3] = (byte) (v >>> (8 * 4));
            myBuffer[offset+4] = (byte) (v >>> (8 * 3));
            myBuffer[offset+5] = (byte) (v >>> (8 * 2));
            myBuffer[offset+6] = (byte) (v >>> (8 * 1));
            myBuffer[offset+7] = (byte)  v;
        }

        myOffset = offset;
    }