HepLean Documentation

Init.Data.Int.Bitwise

bit operations #

def Int.not :
IntInt

Bitwise not

Interprets the integer as an infinite sequence of bits in two's complement and complements each bit.

~~~(0:Int) = -1
~~~(1:Int) = -2
~~~(-1:Int) = 0
Equations
Instances For
    def Int.shiftRight :
    IntNatInt

    Bitwise shift right.

    Conceptually, this treats the integer as an infinite sequence of bits in two's complement and shifts the value to the right.

    ( 0b0111:Int) >>> 1 =  0b0011
    ( 0b1000:Int) >>> 1 =  0b0100
    (-0b1000:Int) >>> 1 = -0b0100
    (-0b0111:Int) >>> 1 = -0b0100
    
    Equations
    Instances For