// Path: jnetrobust-core/src/main/java/com/github/mucaho/jnetrobust/util/BitConstants.java
// public static final long LSB = 0x1L;
// 
// Path: jnetrobust-core/src/main/java/com/github/mucaho/jnetrobust/util/BitConstants.java
// public static final int SIZE = Long.SIZE;


import static com.github.mucaho.jnetrobust.util.BitConstants.LSB;
import static com.github.mucaho.jnetrobust.util.BitConstants.SIZE;
        return (int) bits;
    }


    public void shift(int i) {
        if (i >= 0) {
            this.shiftLeft(i);
        } else {
            this.shiftRight(-i);
        }
    }

    public void shiftRight(int i) {
        bits >>>= i;
    }

    public void shiftLeft(int i) {
        bits <<= i;
    }


    private void setBit(int index, boolean set) {
        if (set) {
            bits |= LSB << index;
        } else {
            bits &= ~(LSB << index);
        }
    }

    public void setHighestBit(boolean set) {
// Path: jnetrobust-core/src/main/java/com/github/mucaho/jnetrobust/util/BitConstants.java
// public static final long LSB = 0x1L;
// 
// Path: jnetrobust-core/src/main/java/com/github/mucaho/jnetrobust/util/BitConstants.java
// public static final int SIZE = Long.SIZE;


// Path: jnetrobust-core/src/main/java/com/github/mucaho/jnetrobust/util/ShiftableBitSet.java
import static com.github.mucaho.jnetrobust.util.BitConstants.LSB;
import static com.github.mucaho.jnetrobust.util.BitConstants.SIZE;

        return (int) bits;
    }


    public void shift(int i) {
        if (i >= 0) {
            this.shiftLeft(i);
        } else {
            this.shiftRight(-i);
        }
    }

    public void shiftRight(int i) {
        bits >>>= i;
    }

    public void shiftLeft(int i) {
        bits <<= i;
    }


    private void setBit(int index, boolean set) {
        if (set) {
            bits |= LSB << index;
        } else {
            bits &= ~(LSB << index);
        }
    }

    public void setHighestBit(boolean set) {
        this.setBit(SIZE - 1, set);