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 .<<. :: forall a. Bits 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 .>>. :: forall a. Bits a => a -> Int -> a (.>>.) = forall a. Bits a => a -> Int -> a shiftR