-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Bit manipulation -- -- Please see README.md @package hw-bits @version 0.7.0.2 module HaskellWorks.Data.Bits.FixedBitSize -- | Class of values that have a fix bit size class FixedBitSize a -- | Get the bit size of a value of given type. -- --
--   >>> fixedBitSize Word8
--   8
--   
fixedBitSize :: FixedBitSize a => a -> Count instance HaskellWorks.Data.Bits.FixedBitSize.FixedBitSize GHC.Types.Bool instance HaskellWorks.Data.Bits.FixedBitSize.FixedBitSize GHC.Word.Word8 instance HaskellWorks.Data.Bits.FixedBitSize.FixedBitSize GHC.Word.Word16 instance HaskellWorks.Data.Bits.FixedBitSize.FixedBitSize GHC.Word.Word32 instance HaskellWorks.Data.Bits.FixedBitSize.FixedBitSize GHC.Word.Word64 module HaskellWorks.Data.Bits.ElemFixedBitSize -- | Class of values that have elements of a fixed bit size -- --
--   >>> elemFixedBitSize (Vector Word8)
--   8
--   
class ElemFixedBitSize v where type Elem v where { type family Elem v; } -- | Get the bit size of an element for a given composite bit-string type. -- --
--   >>> elemFixedBitSize (Vector Word8)
--   8
--   
elemFixedBitSize :: ElemFixedBitSize v => v -> Count instance HaskellWorks.Data.Bits.ElemFixedBitSize.ElemFixedBitSize [GHC.Types.Bool] instance HaskellWorks.Data.Bits.ElemFixedBitSize.ElemFixedBitSize [GHC.Word.Word8] instance HaskellWorks.Data.Bits.ElemFixedBitSize.ElemFixedBitSize [GHC.Word.Word16] instance HaskellWorks.Data.Bits.ElemFixedBitSize.ElemFixedBitSize [GHC.Word.Word32] instance HaskellWorks.Data.Bits.ElemFixedBitSize.ElemFixedBitSize [GHC.Word.Word64] instance HaskellWorks.Data.Bits.ElemFixedBitSize.ElemFixedBitSize (Data.Vector.Vector GHC.Types.Bool) instance HaskellWorks.Data.Bits.ElemFixedBitSize.ElemFixedBitSize (Data.Vector.Vector GHC.Word.Word8) instance HaskellWorks.Data.Bits.ElemFixedBitSize.ElemFixedBitSize (Data.Vector.Vector GHC.Word.Word16) instance HaskellWorks.Data.Bits.ElemFixedBitSize.ElemFixedBitSize (Data.Vector.Vector GHC.Word.Word32) instance HaskellWorks.Data.Bits.ElemFixedBitSize.ElemFixedBitSize (Data.Vector.Vector GHC.Word.Word64) instance HaskellWorks.Data.Bits.ElemFixedBitSize.ElemFixedBitSize (Data.Vector.Storable.Vector GHC.Types.Bool) instance HaskellWorks.Data.Bits.ElemFixedBitSize.ElemFixedBitSize (Data.Vector.Storable.Vector GHC.Word.Word8) instance HaskellWorks.Data.Bits.ElemFixedBitSize.ElemFixedBitSize (Data.Vector.Storable.Vector GHC.Word.Word16) instance HaskellWorks.Data.Bits.ElemFixedBitSize.ElemFixedBitSize (Data.Vector.Storable.Vector GHC.Word.Word32) instance HaskellWorks.Data.Bits.ElemFixedBitSize.ElemFixedBitSize (Data.Vector.Storable.Vector GHC.Word.Word64) module HaskellWorks.Data.Bits.BitLength class BitLength v where endPosition = toPosition . bitLength -- | Number of bits in a value including ones and zeros. bitLength :: BitLength v => v -> Count -- | Number of bits in a value including ones and zeros as a position. endPosition :: BitLength v => v -> Position elemBitLength :: (AtIndex v, BitLength (Elem v)) => v -> Count elemBitEnd :: (AtIndex v, BitLength (Elem v)) => v -> Position instance HaskellWorks.Data.Bits.BitLength.BitLength GHC.Types.Bool instance HaskellWorks.Data.Bits.BitLength.BitLength [GHC.Types.Bool] instance HaskellWorks.Data.Bits.BitLength.BitLength GHC.Word.Word8 instance HaskellWorks.Data.Bits.BitLength.BitLength GHC.Word.Word16 instance HaskellWorks.Data.Bits.BitLength.BitLength GHC.Word.Word32 instance HaskellWorks.Data.Bits.BitLength.BitLength GHC.Word.Word64 instance HaskellWorks.Data.Bits.BitLength.BitLength (HaskellWorks.Data.Naive.Naive GHC.Word.Word8) instance HaskellWorks.Data.Bits.BitLength.BitLength (HaskellWorks.Data.Naive.Naive GHC.Word.Word16) instance HaskellWorks.Data.Bits.BitLength.BitLength (HaskellWorks.Data.Naive.Naive GHC.Word.Word32) instance HaskellWorks.Data.Bits.BitLength.BitLength (HaskellWorks.Data.Naive.Naive GHC.Word.Word64) instance HaskellWorks.Data.Bits.BitLength.BitLength [GHC.Word.Word8] instance HaskellWorks.Data.Bits.BitLength.BitLength [GHC.Word.Word16] instance HaskellWorks.Data.Bits.BitLength.BitLength [GHC.Word.Word32] instance HaskellWorks.Data.Bits.BitLength.BitLength [GHC.Word.Word64] instance HaskellWorks.Data.Bits.BitLength.BitLength (Data.Vector.Vector GHC.Word.Word8) instance HaskellWorks.Data.Bits.BitLength.BitLength (Data.Vector.Vector GHC.Word.Word16) instance HaskellWorks.Data.Bits.BitLength.BitLength (Data.Vector.Vector GHC.Word.Word32) instance HaskellWorks.Data.Bits.BitLength.BitLength (Data.Vector.Vector GHC.Word.Word64) instance HaskellWorks.Data.Bits.BitLength.BitLength (Data.Vector.Storable.Vector GHC.Word.Word8) instance HaskellWorks.Data.Bits.BitLength.BitLength (Data.Vector.Storable.Vector GHC.Word.Word16) instance HaskellWorks.Data.Bits.BitLength.BitLength (Data.Vector.Storable.Vector GHC.Word.Word32) instance HaskellWorks.Data.Bits.BitLength.BitLength (Data.Vector.Storable.Vector GHC.Word.Word64) module HaskellWorks.Data.Bits.BitWise -- | Class of values that have bit wise logical operations class BitWise a -- | Bit-wise AND (.&.) :: BitWise a => a -> a -> a -- | Bit-wise OR (.|.) :: BitWise a => a -> a -> a -- | Bit-wise XOR (.^.) :: BitWise a => a -> a -> a -- | Bit-wise complement comp :: BitWise a => a -> a -- | Bit-wise value of the given type with all bits set to zero all0s :: BitWise a => a -- | Bit-wise value of the given type with all bits set to one all1s :: BitWise a => a -- | Class of values that have shift operations class Shift a -- | Shift left by the specified count (.<.) :: Shift a => a -> Count -> a -- | Shift right by the specified count (.>.) :: Shift a => a -> Count -> a class TestBit a -- | Test whether the bit ad the given offset is set (.?.) :: TestBit a => a -> Position -> Bool instance HaskellWorks.Data.Bits.BitWise.TestBit GHC.Types.Bool instance HaskellWorks.Data.Bits.BitWise.TestBit [GHC.Types.Bool] instance HaskellWorks.Data.Bits.BitWise.TestBit GHC.Types.Int instance HaskellWorks.Data.Bits.BitWise.TestBit GHC.Word.Word8 instance HaskellWorks.Data.Bits.BitWise.TestBit GHC.Word.Word16 instance HaskellWorks.Data.Bits.BitWise.TestBit GHC.Word.Word32 instance HaskellWorks.Data.Bits.BitWise.TestBit GHC.Word.Word64 instance HaskellWorks.Data.Bits.BitWise.TestBit (HaskellWorks.Data.Naive.Naive GHC.Word.Word8) instance HaskellWorks.Data.Bits.BitWise.TestBit (HaskellWorks.Data.Naive.Naive GHC.Word.Word16) instance HaskellWorks.Data.Bits.BitWise.TestBit (HaskellWorks.Data.Naive.Naive GHC.Word.Word32) instance HaskellWorks.Data.Bits.BitWise.TestBit (HaskellWorks.Data.Naive.Naive GHC.Word.Word64) instance HaskellWorks.Data.Bits.BitWise.TestBit (Data.Vector.Vector GHC.Word.Word8) instance HaskellWorks.Data.Bits.BitWise.TestBit (Data.Vector.Vector GHC.Word.Word16) instance HaskellWorks.Data.Bits.BitWise.TestBit (Data.Vector.Vector GHC.Word.Word32) instance HaskellWorks.Data.Bits.BitWise.TestBit (Data.Vector.Vector GHC.Word.Word64) instance HaskellWorks.Data.Bits.BitWise.TestBit (Data.Vector.Storable.Vector GHC.Word.Word8) instance HaskellWorks.Data.Bits.BitWise.TestBit (Data.Vector.Storable.Vector GHC.Word.Word16) instance HaskellWorks.Data.Bits.BitWise.TestBit (Data.Vector.Storable.Vector GHC.Word.Word32) instance HaskellWorks.Data.Bits.BitWise.TestBit (Data.Vector.Storable.Vector GHC.Word.Word64) instance HaskellWorks.Data.Bits.BitWise.BitWise GHC.Types.Int instance HaskellWorks.Data.Bits.BitWise.BitWise GHC.Word.Word8 instance HaskellWorks.Data.Bits.BitWise.BitWise GHC.Word.Word16 instance HaskellWorks.Data.Bits.BitWise.BitWise GHC.Word.Word32 instance HaskellWorks.Data.Bits.BitWise.BitWise GHC.Word.Word64 instance HaskellWorks.Data.Bits.BitWise.Shift GHC.Types.Int instance HaskellWorks.Data.Bits.BitWise.Shift GHC.Word.Word8 instance HaskellWorks.Data.Bits.BitWise.Shift GHC.Word.Word16 instance HaskellWorks.Data.Bits.BitWise.Shift GHC.Word.Word32 instance HaskellWorks.Data.Bits.BitWise.Shift GHC.Word.Word64 module HaskellWorks.Data.Bits.BitParse -- | Parsers for bit strings class BitParse a -- | Version of bit string parser that can consume no inputs bitParse0 :: BitParse a => Parser a -- | Version of bit string parser that must consume at least one input bitParse1 :: BitParse a => Parser a instance HaskellWorks.Data.Bits.BitParse.BitParse GHC.Types.Bool instance HaskellWorks.Data.Bits.BitParse.BitParse GHC.Word.Word8 instance HaskellWorks.Data.Bits.BitParse.BitParse GHC.Word.Word16 instance HaskellWorks.Data.Bits.BitParse.BitParse GHC.Word.Word32 instance HaskellWorks.Data.Bits.BitParse.BitParse GHC.Word.Word64 instance HaskellWorks.Data.Bits.BitParse.BitParse Data.ByteString.Internal.ByteString instance HaskellWorks.Data.Bits.BitParse.BitParse [GHC.Word.Word8] instance HaskellWorks.Data.Bits.BitParse.BitParse [GHC.Word.Word16] instance HaskellWorks.Data.Bits.BitParse.BitParse [GHC.Word.Word32] instance HaskellWorks.Data.Bits.BitParse.BitParse [GHC.Word.Word64] instance HaskellWorks.Data.Bits.BitParse.BitParse (Data.Vector.Vector GHC.Word.Word8) instance HaskellWorks.Data.Bits.BitParse.BitParse (Data.Vector.Vector GHC.Word.Word16) instance HaskellWorks.Data.Bits.BitParse.BitParse (Data.Vector.Vector GHC.Word.Word32) instance HaskellWorks.Data.Bits.BitParse.BitParse (Data.Vector.Vector GHC.Word.Word64) instance HaskellWorks.Data.Bits.BitParse.BitParse (Data.Vector.Storable.Vector GHC.Word.Word8) instance HaskellWorks.Data.Bits.BitParse.BitParse (Data.Vector.Storable.Vector GHC.Word.Word16) instance HaskellWorks.Data.Bits.BitParse.BitParse (Data.Vector.Storable.Vector GHC.Word.Word32) instance HaskellWorks.Data.Bits.BitParse.BitParse (Data.Vector.Storable.Vector GHC.Word.Word64) module HaskellWorks.Data.Bits.BitRead -- | Bit string reader that produces a value of a type class BitRead a -- | Read a bit string into a value bitRead :: BitRead a => String -> Maybe a instance HaskellWorks.Data.Bits.BitRead.BitRead GHC.Word.Word8 instance HaskellWorks.Data.Bits.BitRead.BitRead GHC.Word.Word16 instance HaskellWorks.Data.Bits.BitRead.BitRead GHC.Word.Word32 instance HaskellWorks.Data.Bits.BitRead.BitRead GHC.Word.Word64 instance HaskellWorks.Data.Bits.BitRead.BitRead Data.ByteString.Internal.ByteString instance HaskellWorks.Data.Bits.BitRead.BitRead [GHC.Word.Word8] instance HaskellWorks.Data.Bits.BitRead.BitRead [GHC.Word.Word16] instance HaskellWorks.Data.Bits.BitRead.BitRead [GHC.Word.Word32] instance HaskellWorks.Data.Bits.BitRead.BitRead [GHC.Word.Word64] instance HaskellWorks.Data.Bits.BitRead.BitRead (Data.Vector.Vector GHC.Word.Word8) instance HaskellWorks.Data.Bits.BitRead.BitRead (Data.Vector.Vector GHC.Word.Word16) instance HaskellWorks.Data.Bits.BitRead.BitRead (Data.Vector.Vector GHC.Word.Word32) instance HaskellWorks.Data.Bits.BitRead.BitRead (Data.Vector.Vector GHC.Word.Word64) instance HaskellWorks.Data.Bits.BitRead.BitRead (Data.Vector.Storable.Vector GHC.Word.Word8) instance HaskellWorks.Data.Bits.BitRead.BitRead (Data.Vector.Storable.Vector GHC.Word.Word16) instance HaskellWorks.Data.Bits.BitRead.BitRead (Data.Vector.Storable.Vector GHC.Word.Word32) instance HaskellWorks.Data.Bits.BitRead.BitRead (Data.Vector.Storable.Vector GHC.Word.Word64) instance HaskellWorks.Data.Bits.BitRead.BitRead [GHC.Types.Bool] module HaskellWorks.Data.Bits.Broadword newtype Broadword a Broadword :: a -> Broadword a broadword :: Broadword Word64 -> Word64 h :: Int -> Word64 l :: Int -> Word64 lsb :: Word64 -> Word64 kBitDiff :: Int -> Word64 -> Word64 -> Word64 kBitDiffPos :: Int -> Word64 -> Word64 -> Word64 kBitDiffUnsafe :: Int -> Word64 -> Word64 -> Word64 instance GHC.Show.Show a => GHC.Show.Show (HaskellWorks.Data.Bits.Broadword.Broadword a) instance GHC.Classes.Eq a => GHC.Classes.Eq (HaskellWorks.Data.Bits.Broadword.Broadword a) module HaskellWorks.Data.Bits.LoBitsSized class LoBitsSized a -- | Value with the n least significant bits set to 1. loBitsSized :: LoBitsSized a => Count -> a instance HaskellWorks.Data.Bits.LoBitsSized.LoBitsSized GHC.Word.Word64 instance HaskellWorks.Data.Bits.LoBitsSized.LoBitsSized GHC.Word.Word32 instance HaskellWorks.Data.Bits.LoBitsSized.LoBitsSized GHC.Word.Word16 instance HaskellWorks.Data.Bits.LoBitsSized.LoBitsSized GHC.Word.Word8 module HaskellWorks.Data.Bits.Log2 class Log2 a -- | Log base of the given value rounded down to the nearest integer log2 :: Log2 a => a -> Int instance HaskellWorks.Data.Bits.Log2.Log2 GHC.Word.Word64 instance HaskellWorks.Data.Bits.Log2.Log2 GHC.Word.Word32 module HaskellWorks.Data.Bits.Types.Broadword -- | Type wrapper to prefer broadword operations. newtype Broadword a Broadword :: a -> Broadword a instance Foreign.Storable.Storable a => Foreign.Storable.Storable (HaskellWorks.Data.Bits.Types.Broadword.Broadword a) instance GHC.Show.Show a => GHC.Show.Show (HaskellWorks.Data.Bits.Types.Broadword.Broadword a) instance GHC.Classes.Eq a => GHC.Classes.Eq (HaskellWorks.Data.Bits.Types.Broadword.Broadword a) instance HaskellWorks.Data.Bits.BitWise.BitWise a => HaskellWorks.Data.Bits.BitWise.BitWise (HaskellWorks.Data.Bits.Types.Broadword.Broadword a) module HaskellWorks.Data.Bits.Types.Builtin -- | Type wrapper to prefer builting operations. newtype Builtin a Builtin :: a -> Builtin a instance Foreign.Storable.Storable a => Foreign.Storable.Storable (HaskellWorks.Data.Bits.Types.Builtin.Builtin a) instance GHC.Show.Show a => GHC.Show.Show (HaskellWorks.Data.Bits.Types.Builtin.Builtin a) instance GHC.Classes.Eq a => GHC.Classes.Eq (HaskellWorks.Data.Bits.Types.Builtin.Builtin a) instance HaskellWorks.Data.Bits.BitWise.BitWise a => HaskellWorks.Data.Bits.BitWise.BitWise (HaskellWorks.Data.Bits.Types.Builtin.Builtin a) module HaskellWorks.Data.Bits.PopCount.PopCount1 class PopCount1 v -- | The number of 0-bits in the value. popCount1 :: PopCount1 v => v -> Count instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 GHC.Types.Bool instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (HaskellWorks.Data.Bits.Types.Broadword.Broadword GHC.Word.Word8) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (HaskellWorks.Data.Bits.Types.Broadword.Broadword GHC.Word.Word16) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (HaskellWorks.Data.Bits.Types.Broadword.Broadword GHC.Word.Word32) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (HaskellWorks.Data.Bits.Types.Broadword.Broadword GHC.Word.Word64) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (HaskellWorks.Data.Bits.Types.Builtin.Builtin GHC.Word.Word8) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (HaskellWorks.Data.Bits.Types.Builtin.Builtin GHC.Word.Word16) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (HaskellWorks.Data.Bits.Types.Builtin.Builtin GHC.Word.Word32) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (HaskellWorks.Data.Bits.Types.Builtin.Builtin GHC.Word.Word64) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 GHC.Word.Word8 instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 GHC.Word.Word16 instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 GHC.Word.Word32 instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 GHC.Word.Word64 instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 a => HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 [a] instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (Data.Vector.Vector GHC.Word.Word8) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (Data.Vector.Vector GHC.Word.Word16) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (Data.Vector.Vector GHC.Word.Word32) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (Data.Vector.Vector GHC.Word.Word64) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (Data.Vector.Storable.Vector GHC.Word.Word8) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (Data.Vector.Storable.Vector GHC.Word.Word16) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (Data.Vector.Storable.Vector GHC.Word.Word32) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (Data.Vector.Storable.Vector GHC.Word.Word64) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (Data.Vector.Vector (HaskellWorks.Data.Bits.Types.Builtin.Builtin GHC.Word.Word8)) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (Data.Vector.Vector (HaskellWorks.Data.Bits.Types.Builtin.Builtin GHC.Word.Word16)) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (Data.Vector.Vector (HaskellWorks.Data.Bits.Types.Builtin.Builtin GHC.Word.Word32)) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (Data.Vector.Vector (HaskellWorks.Data.Bits.Types.Builtin.Builtin GHC.Word.Word64)) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (Data.Vector.Storable.Vector (HaskellWorks.Data.Bits.Types.Builtin.Builtin GHC.Word.Word8)) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (Data.Vector.Storable.Vector (HaskellWorks.Data.Bits.Types.Builtin.Builtin GHC.Word.Word16)) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (Data.Vector.Storable.Vector (HaskellWorks.Data.Bits.Types.Builtin.Builtin GHC.Word.Word32)) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (Data.Vector.Storable.Vector (HaskellWorks.Data.Bits.Types.Builtin.Builtin GHC.Word.Word64)) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (Data.Vector.Vector (HaskellWorks.Data.Bits.Types.Broadword.Broadword GHC.Word.Word8)) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (Data.Vector.Vector (HaskellWorks.Data.Bits.Types.Broadword.Broadword GHC.Word.Word16)) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (Data.Vector.Vector (HaskellWorks.Data.Bits.Types.Broadword.Broadword GHC.Word.Word32)) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (Data.Vector.Vector (HaskellWorks.Data.Bits.Types.Broadword.Broadword GHC.Word.Word64)) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (Data.Vector.Storable.Vector (HaskellWorks.Data.Bits.Types.Broadword.Broadword GHC.Word.Word8)) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (Data.Vector.Storable.Vector (HaskellWorks.Data.Bits.Types.Broadword.Broadword GHC.Word.Word16)) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (Data.Vector.Storable.Vector (HaskellWorks.Data.Bits.Types.Broadword.Broadword GHC.Word.Word32)) instance HaskellWorks.Data.Bits.PopCount.PopCount1.PopCount1 (Data.Vector.Storable.Vector (HaskellWorks.Data.Bits.Types.Broadword.Broadword GHC.Word.Word64)) module HaskellWorks.Data.Bits.PopCount.PopCount0 class PopCount0 v -- | The number of 0-bits in the value. popCount0 :: PopCount0 v => v -> Count instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 GHC.Types.Bool instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 GHC.Word.Word8 instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 GHC.Word.Word16 instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 GHC.Word.Word32 instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 GHC.Word.Word64 instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (HaskellWorks.Data.Bits.Types.Broadword.Broadword GHC.Word.Word8) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (HaskellWorks.Data.Bits.Types.Broadword.Broadword GHC.Word.Word16) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (HaskellWorks.Data.Bits.Types.Broadword.Broadword GHC.Word.Word32) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (HaskellWorks.Data.Bits.Types.Broadword.Broadword GHC.Word.Word64) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (HaskellWorks.Data.Bits.Types.Builtin.Builtin GHC.Word.Word8) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (HaskellWorks.Data.Bits.Types.Builtin.Builtin GHC.Word.Word16) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (HaskellWorks.Data.Bits.Types.Builtin.Builtin GHC.Word.Word32) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (HaskellWorks.Data.Bits.Types.Builtin.Builtin GHC.Word.Word64) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 a => HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 [a] instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (Data.Vector.Vector GHC.Word.Word8) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (Data.Vector.Vector GHC.Word.Word16) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (Data.Vector.Vector GHC.Word.Word32) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (Data.Vector.Vector GHC.Word.Word64) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (Data.Vector.Storable.Vector GHC.Word.Word8) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (Data.Vector.Storable.Vector GHC.Word.Word16) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (Data.Vector.Storable.Vector GHC.Word.Word32) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (Data.Vector.Storable.Vector GHC.Word.Word64) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (Data.Vector.Vector (HaskellWorks.Data.Bits.Types.Builtin.Builtin GHC.Word.Word8)) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (Data.Vector.Vector (HaskellWorks.Data.Bits.Types.Builtin.Builtin GHC.Word.Word16)) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (Data.Vector.Vector (HaskellWorks.Data.Bits.Types.Builtin.Builtin GHC.Word.Word32)) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (Data.Vector.Vector (HaskellWorks.Data.Bits.Types.Builtin.Builtin GHC.Word.Word64)) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (Data.Vector.Storable.Vector (HaskellWorks.Data.Bits.Types.Builtin.Builtin GHC.Word.Word8)) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (Data.Vector.Storable.Vector (HaskellWorks.Data.Bits.Types.Builtin.Builtin GHC.Word.Word16)) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (Data.Vector.Storable.Vector (HaskellWorks.Data.Bits.Types.Builtin.Builtin GHC.Word.Word32)) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (Data.Vector.Storable.Vector (HaskellWorks.Data.Bits.Types.Builtin.Builtin GHC.Word.Word64)) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (Data.Vector.Vector (HaskellWorks.Data.Bits.Types.Broadword.Broadword GHC.Word.Word8)) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (Data.Vector.Vector (HaskellWorks.Data.Bits.Types.Broadword.Broadword GHC.Word.Word16)) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (Data.Vector.Vector (HaskellWorks.Data.Bits.Types.Broadword.Broadword GHC.Word.Word32)) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (Data.Vector.Vector (HaskellWorks.Data.Bits.Types.Broadword.Broadword GHC.Word.Word64)) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (Data.Vector.Storable.Vector (HaskellWorks.Data.Bits.Types.Broadword.Broadword GHC.Word.Word8)) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (Data.Vector.Storable.Vector (HaskellWorks.Data.Bits.Types.Broadword.Broadword GHC.Word.Word16)) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (Data.Vector.Storable.Vector (HaskellWorks.Data.Bits.Types.Broadword.Broadword GHC.Word.Word32)) instance HaskellWorks.Data.Bits.PopCount.PopCount0.PopCount0 (Data.Vector.Storable.Vector (HaskellWorks.Data.Bits.Types.Broadword.Broadword GHC.Word.Word64)) module HaskellWorks.Data.Bits.PopCount module HaskellWorks.Data.Bits.Word class WordConcat a where type DoubleWords a where { type family DoubleWords a; } -- | Concatenate two words in little-endian order of the same size into a -- word of twice the size. leConcat :: WordConcat a => a -> a -> DoubleWords a class WordSplit a where type HalfWords a where { type family HalfWords a; } -- | Split a word equally into two smaller words in little-endian order. leSplit :: WordSplit a => a -> (HalfWords a, HalfWords a) instance HaskellWorks.Data.Bits.Word.WordConcat GHC.Word.Word8 instance HaskellWorks.Data.Bits.Word.WordConcat GHC.Word.Word16 instance HaskellWorks.Data.Bits.Word.WordConcat GHC.Word.Word32 instance HaskellWorks.Data.Bits.Word.WordSplit GHC.Word.Word64 instance HaskellWorks.Data.Bits.Word.WordSplit GHC.Word.Word32 instance HaskellWorks.Data.Bits.Word.WordSplit GHC.Word.Word16 module HaskellWorks.Data.Bits.BitShow -- | Shower of a value as a bit string class BitShow a -- | Show a value as a bit string bitShows :: BitShow a => a -> String -> String bitShow :: BitShow a => a -> String instance HaskellWorks.Data.Bits.BitShow.BitShow GHC.Types.Bool instance HaskellWorks.Data.Bits.BitShow.BitShow GHC.Word.Word8 instance HaskellWorks.Data.Bits.BitShow.BitShow GHC.Word.Word16 instance HaskellWorks.Data.Bits.BitShow.BitShow GHC.Word.Word32 instance HaskellWorks.Data.Bits.BitShow.BitShow GHC.Word.Word64 instance HaskellWorks.Data.Bits.BitShow.BitShow [GHC.Types.Bool] instance HaskellWorks.Data.Bits.BitShow.BitShow Data.ByteString.Internal.ByteString instance HaskellWorks.Data.Bits.BitShow.BitShow Data.ByteString.Lazy.Internal.ByteString instance HaskellWorks.Data.Bits.BitShow.BitShow [GHC.Word.Word8] instance HaskellWorks.Data.Bits.BitShow.BitShow [GHC.Word.Word16] instance HaskellWorks.Data.Bits.BitShow.BitShow [GHC.Word.Word32] instance HaskellWorks.Data.Bits.BitShow.BitShow [GHC.Word.Word64] instance HaskellWorks.Data.Bits.BitShow.BitShow (Data.Vector.Vector GHC.Word.Word8) instance HaskellWorks.Data.Bits.BitShow.BitShow (Data.Vector.Vector GHC.Word.Word16) instance HaskellWorks.Data.Bits.BitShow.BitShow (Data.Vector.Vector GHC.Word.Word32) instance HaskellWorks.Data.Bits.BitShow.BitShow (Data.Vector.Vector GHC.Word.Word64) instance HaskellWorks.Data.Bits.BitShow.BitShow (Data.Vector.Storable.Vector GHC.Word.Word8) instance HaskellWorks.Data.Bits.BitShow.BitShow (Data.Vector.Storable.Vector GHC.Word.Word16) instance HaskellWorks.Data.Bits.BitShow.BitShow (Data.Vector.Storable.Vector GHC.Word.Word32) instance HaskellWorks.Data.Bits.BitShow.BitShow (Data.Vector.Storable.Vector GHC.Word.Word64) module HaskellWorks.Data.Bits.BitShown -- | Tag for a value describe the value as being able to be shown as a bit -- string newtype BitShown a BitShown :: a -> BitShown a [unBitShown] :: BitShown a -> a -- | Show the value as a bit string bitShown :: BitShown a -> a instance HaskellWorks.Data.Bits.BitShow.BitShow a => HaskellWorks.Data.Bits.BitShow.BitShow (HaskellWorks.Data.Bits.BitShown.BitShown a) instance HaskellWorks.Data.Bits.BitRead.BitRead a => HaskellWorks.Data.Bits.BitRead.BitRead (HaskellWorks.Data.Bits.BitShown.BitShown a) instance GHC.Classes.Eq a => GHC.Classes.Eq (HaskellWorks.Data.Bits.BitShown.BitShown a) instance GHC.Base.Functor HaskellWorks.Data.Bits.BitShown.BitShown instance HaskellWorks.Data.Bits.BitWise.TestBit a => HaskellWorks.Data.Bits.BitWise.TestBit (HaskellWorks.Data.Bits.BitShown.BitShown a) instance HaskellWorks.Data.Bits.BitRead.BitRead a => Data.String.IsString (HaskellWorks.Data.Bits.BitShown.BitShown a) instance HaskellWorks.Data.Bits.BitShow.BitShow a => GHC.Show.Show (HaskellWorks.Data.Bits.BitShown.BitShown a) instance HaskellWorks.Data.FromByteString.FromByteString (HaskellWorks.Data.Bits.BitShown.BitShown [GHC.Types.Bool]) module HaskellWorks.Data.Bits.AllExcess.AllExcess1 class AllExcess1 a -- | Number of 1-bits minues the number of 0-bits. allExcess1 :: AllExcess1 a => a -> Int instance HaskellWorks.Data.Bits.AllExcess.AllExcess1.AllExcess1 [GHC.Types.Bool] instance HaskellWorks.Data.Bits.AllExcess.AllExcess1.AllExcess1 GHC.Word.Word8 instance HaskellWorks.Data.Bits.AllExcess.AllExcess1.AllExcess1 GHC.Word.Word16 instance HaskellWorks.Data.Bits.AllExcess.AllExcess1.AllExcess1 GHC.Word.Word32 instance HaskellWorks.Data.Bits.AllExcess.AllExcess1.AllExcess1 GHC.Word.Word64 instance HaskellWorks.Data.Bits.AllExcess.AllExcess1.AllExcess1 (Data.Vector.Vector GHC.Word.Word8) instance HaskellWorks.Data.Bits.AllExcess.AllExcess1.AllExcess1 (Data.Vector.Vector GHC.Word.Word16) instance HaskellWorks.Data.Bits.AllExcess.AllExcess1.AllExcess1 (Data.Vector.Vector GHC.Word.Word32) instance HaskellWorks.Data.Bits.AllExcess.AllExcess1.AllExcess1 (Data.Vector.Vector GHC.Word.Word64) instance HaskellWorks.Data.Bits.AllExcess.AllExcess1.AllExcess1 (Data.Vector.Storable.Vector GHC.Word.Word8) instance HaskellWorks.Data.Bits.AllExcess.AllExcess1.AllExcess1 (Data.Vector.Storable.Vector GHC.Word.Word16) instance HaskellWorks.Data.Bits.AllExcess.AllExcess1.AllExcess1 (Data.Vector.Storable.Vector GHC.Word.Word32) instance HaskellWorks.Data.Bits.AllExcess.AllExcess1.AllExcess1 (Data.Vector.Storable.Vector GHC.Word.Word64) module HaskellWorks.Data.Bits.AllExcess.AllExcess0 class AllExcess0 a -- | Number of 0-bits minues the number of 1-bits. allExcess0 :: AllExcess0 a => a -> Int instance HaskellWorks.Data.Bits.AllExcess.AllExcess0.AllExcess0 [GHC.Types.Bool] instance HaskellWorks.Data.Bits.AllExcess.AllExcess0.AllExcess0 GHC.Word.Word8 instance HaskellWorks.Data.Bits.AllExcess.AllExcess0.AllExcess0 GHC.Word.Word16 instance HaskellWorks.Data.Bits.AllExcess.AllExcess0.AllExcess0 GHC.Word.Word32 instance HaskellWorks.Data.Bits.AllExcess.AllExcess0.AllExcess0 GHC.Word.Word64 instance HaskellWorks.Data.Bits.AllExcess.AllExcess0.AllExcess0 (Data.Vector.Storable.Vector GHC.Word.Word8) instance HaskellWorks.Data.Bits.AllExcess.AllExcess0.AllExcess0 (Data.Vector.Storable.Vector GHC.Word.Word16) instance HaskellWorks.Data.Bits.AllExcess.AllExcess0.AllExcess0 (Data.Vector.Storable.Vector GHC.Word.Word32) instance HaskellWorks.Data.Bits.AllExcess.AllExcess0.AllExcess0 (Data.Vector.Storable.Vector GHC.Word.Word64) module HaskellWorks.Data.Bits.AllExcess module HaskellWorks.Data.Bits module HaskellWorks.Data.Bits.FromBitTextByteString class FromBitTextByteString a -- | Convert a binary byte string to a value of type @a fromBitTextByteString :: FromBitTextByteString a => ByteString -> a instance HaskellWorks.Data.Bits.FromBitTextByteString.FromBitTextByteString (Data.Vector.Storable.Vector GHC.Word.Word8) instance HaskellWorks.Data.Bits.FromBitTextByteString.FromBitTextByteString (Data.Vector.Storable.Vector GHC.Word.Word16) instance HaskellWorks.Data.Bits.FromBitTextByteString.FromBitTextByteString (Data.Vector.Storable.Vector GHC.Word.Word32) instance HaskellWorks.Data.Bits.FromBitTextByteString.FromBitTextByteString (Data.Vector.Storable.Vector GHC.Word.Word64)