module Data.Bits.HT where import Data.Bits (Bits, shiftL, shiftR) infixl 7 .<<., .>>. {- | Infix variant of 'shiftL'. Precedence is chosen like multiplication since @a .<<. k == a * 2^k@. -} (.<<.) :: Bits a => a -> Int -> a .<<. :: a -> Int -> a (.<<.) = a -> Int -> a forall a. Bits a => a -> Int -> a shiftL {- | Infix variant of 'shiftR'. Precedence is chosen like division since @a .>>. k == a / 2^k@. -} (.>>.) :: Bits a => a -> Int -> a .>>. :: a -> Int -> a (.>>.) = a -> Int -> a forall a. Bits a => a -> Int -> a shiftR