-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Useful bitwise operations
--
-- Please see the README on Github at
-- https://github.com/haskell-works/bits-extra#readme
@package bits-extra
@version 0.0.1.3
module Data.Bits.BitSize
class BitSize a
bitSize :: BitSize a => a -> Int
bitCount :: BitSize a => a -> Word64
instance Data.Bits.BitSize.BitSize ()
instance Data.Bits.BitSize.BitSize GHC.Types.Bool
instance Data.Bits.BitSize.BitSize GHC.Types.Word
instance Data.Bits.BitSize.BitSize GHC.Word.Word64
instance Data.Bits.BitSize.BitSize GHC.Word.Word32
instance Data.Bits.BitSize.BitSize GHC.Word.Word16
instance Data.Bits.BitSize.BitSize GHC.Word.Word8
instance Data.Bits.BitSize.BitSize GHC.Types.Int
instance Data.Bits.BitSize.BitSize GHC.Int.Int64
instance Data.Bits.BitSize.BitSize GHC.Int.Int32
instance Data.Bits.BitSize.BitSize GHC.Int.Int16
instance Data.Bits.BitSize.BitSize GHC.Int.Int8
instance Data.Bits.BitSize.BitSize a => Data.Bits.BitSize.BitSize (Data.Functor.Identity.Identity a)
instance Data.Bits.BitSize.BitSize a => Data.Bits.BitSize.BitSize [a]
instance Data.Bits.BitSize.BitSize a => Data.Bits.BitSize.BitSize (Data.Vector.Vector a)
instance (Data.Bits.BitSize.BitSize a, Foreign.Storable.Storable a) => Data.Bits.BitSize.BitSize (Data.Vector.Storable.Vector a)
module Data.Bits.Pdep.Slow
-- | Bitwise parallel deposit (emulated). Deposits bits from the source at
-- the locations described by the mask.
class SlowPdep a
slowPdep :: SlowPdep a => a -> a -> a
instance Data.Bits.Pdep.Slow.SlowPdep GHC.Types.Word
instance Data.Bits.Pdep.Slow.SlowPdep GHC.Word.Word8
instance Data.Bits.Pdep.Slow.SlowPdep GHC.Word.Word16
instance Data.Bits.Pdep.Slow.SlowPdep GHC.Word.Word32
instance Data.Bits.Pdep.Slow.SlowPdep GHC.Word.Word64
module Data.Bits.Pdep
-- | Bitwise parallel deposit. Deposits bits from the source at the
-- locations described by the mask.
class Pdep a
pdep :: Pdep a => a -> a -> a
-- | Runtime flag indicating whether the pdep function is using the
-- high-performance. BMI2 instruction set. A value of False
-- indicates that pdep is emulated.
fastPdepEnabled :: Bool
instance Data.Bits.Pdep.Pdep GHC.Types.Word
instance Data.Bits.Pdep.Pdep GHC.Word.Word8
instance Data.Bits.Pdep.Pdep GHC.Word.Word16
instance Data.Bits.Pdep.Pdep GHC.Word.Word32
instance Data.Bits.Pdep.Pdep GHC.Word.Word64
module Data.Bits.Pext.Slow
-- | Bitwise parallel extract (emulated). Extract bits from the source at
-- the locations described by the mask.
class SlowPext a
slowPext :: SlowPext a => a -> a -> a
instance Data.Bits.Pext.Slow.SlowPext GHC.Types.Word
instance Data.Bits.Pext.Slow.SlowPext GHC.Word.Word8
instance Data.Bits.Pext.Slow.SlowPext GHC.Word.Word16
instance Data.Bits.Pext.Slow.SlowPext GHC.Word.Word32
instance Data.Bits.Pext.Slow.SlowPext GHC.Word.Word64
module Data.Bits.Pext
-- | Bitwise parallel extosit. extosits bits from the source at the
-- locations described by the mask.
class Pext a
pext :: Pext a => a -> a -> a
-- | Runtime flag indicating whether the pext function is using the
-- high-performance. BMI2 instruction set. A value of False
-- indicates that pext is emulated.
fastPextEnabled :: Bool
instance Data.Bits.Pext.Pext GHC.Types.Word
instance Data.Bits.Pext.Pext GHC.Word.Word8
instance Data.Bits.Pext.Pext GHC.Word.Word16
instance Data.Bits.Pext.Pext GHC.Word.Word32
instance Data.Bits.Pext.Pext GHC.Word.Word64