module HaskellWorks.Prim.Bits ( Pdep(..) , Pext(..) , module X ) where import Data.Word import HaskellWorks.Prim.Bits.Fast as X class Pdep a where pdep :: a -> a -> a instance Pdep Word64 where pdep :: Word64 -> Word64 -> Word64 pdep = Word64 -> Word64 -> Word64 pdep64 {-# INLINE pdep #-} instance Pdep Word32 where pdep :: Word32 -> Word32 -> Word32 pdep = Word32 -> Word32 -> Word32 pdep32 {-# INLINE pdep #-} class Pext a where pext :: a -> a -> a instance Pext Word64 where pext :: Word64 -> Word64 -> Word64 pext = Word64 -> Word64 -> Word64 pext64 {-# INLINE pext #-} instance Pext Word32 where pext :: Word32 -> Word32 -> Word32 pext = Word32 -> Word32 -> Word32 pext32 {-# INLINE pext #-}