-- | -- Bidirectional version of "Data.Bits". {-# LANGUAGE Safe, TypeOperators #-} module Data.Invertible.Bits ( complement ) where import qualified Data.Bits as B import Data.Invertible.Bijection import Data.Invertible.Internal -- |'B.complement' all the bits in the argument. complement :: B.Bits a => a <-> a complement :: forall a. Bits a => a <-> a complement = (a -> a) -> Bijection (->) a a forall (a :: * -> * -> *) b. a b b -> Bijection a b b involution a -> a forall a. Bits a => a -> a B.complement