4)7      ! " # $ % & ' ( ) * + , - . / 0 1 2 3 456 2016 John KyMITNone(Class of values that have a fix bit size*Get the bit size of a value of given type.fixedBitSize Word88789:;789:; 2016 John KyMITNone35>L6Class of values that have elements of a fixed bit sizeelemFixedBitSize (Vector Word8)8The element type of the elemnetEGet the bit size of an element for a given composite bit-string type.elemFixedBitSize (Vector Word8)8<=>?@ABCDEFGHIJ<=>?@ABCDEFGHIJ 2016 John KyMITNone34573Number of bits in a value including ones and zeros. KLMNOPQRSTUVWXYZ[\   KLMNOPQRSTUVWXYZ[\ 2016 John KyMITNone357>L 5Class of values that have bit wise logical operations  Bit wise AND  Bit wise OR  Bit wise XORBit wise complement:Bit-wise value of the given type with all bits set to zero9Bit-wise value of the given type with all bits set to one/Test whether the bit ad the given offset is set*Class of values that have shift operations!Shift left by the specified count"Shift right by the specified count" ]^_`abcdefghijklmnopqr    ]^_`abcdefghijklmnopqr     2016 John KyMITNone35NParsers for bit strings7Version of bit string parser that can consume no inputsAVersion of bit string parser that must consume at least one inputstuvwxyz{|}~stuvwxyz{|}~None351Bit string reader that produces a value of a typeRead a bit string into a value 2016 John KyMITNoneC+Type wrapper to prefer broadword operations 2016 John KyMITNoneC*Type wrapper to prefer builting operations  2016 John KyMITNone35$The number of one bits in the value.     2016 John KyMITNone357>L!%The number of zero bits in the value.!"!"!"!"  2016 John KyMITNone7#$ !"#$#$#$ None7>L %&'()*+,-./0%&'()* ()*%&'0/.-,+%&'()*+,-./0  2016 John KyMITNone35N1!Shower of a value as a bit string2Show a value as a bit string123123123123None*-35C4LTag for a value describe the value as being able to be shown as a bit string6Show the value as a bit string456456456456 2016 John KyMITNone"  !"#$123456 !"#$%&'()*++,, - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ ABBCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  hwbit_7RrTxCYFEPBE7cFH2vIPVv#HaskellWorks.Data.Bits.FixedBitSize'HaskellWorks.Data.Bits.ElemFixedBitSize HaskellWorks.Data.Bits.BitLengthHaskellWorks.Data.Bits.BitWiseHaskellWorks.Data.Bits.BitParseHaskellWorks.Data.Bits.BitRead&HaskellWorks.Data.Bits.Types.Broadword$HaskellWorks.Data.Bits.Types.Builtin)HaskellWorks.Data.Bits.PopCount.PopCount1)HaskellWorks.Data.Bits.PopCount.PopCount0HaskellWorks.Data.Bits.PopCountHaskellWorks.Data.Bits.WordHaskellWorks.Data.Bits.BitShowHaskellWorks.Data.Bits.BitShownHaskellWorks.Data.Bits FixedBitSize fixedBitSizeElemFixedBitSizeElemelemFixedBitSize BitLength bitLength endPosition elemBitLength elemBitEndBitWise.&..|..^.compall0sall1sTestBit.?.Shift.<..>.BitParse bitParse0 bitParse1BitReadbitRead BroadwordBuiltin PopCount1 popCount1 PopCount0 popCount0PopCountpopCount WordSplit HalfWordsleSplit WordConcat DoubleWordsleConcat$fWordSplitWord16$fWordSplitWord32$fWordSplitWord64$fWordConcatWord32$fWordConcatWord16$fWordConcatWord8BitShowbitShowsbitShowBitShownbitShown$fFixedBitSizeWord64$fFixedBitSizeWord32$fFixedBitSizeWord16$fFixedBitSizeWord8$fFixedBitSizeBool$fElemFixedBitSizeVector$fElemFixedBitSizeVector0$fElemFixedBitSizeVector1$fElemFixedBitSizeVector2$fElemFixedBitSizeVector3$fElemFixedBitSizeVector4$fElemFixedBitSizeVector5$fElemFixedBitSizeVector6$fElemFixedBitSizeVector7$fElemFixedBitSizeVector8$fElemFixedBitSize[]$fElemFixedBitSize[]0$fElemFixedBitSize[]1$fElemFixedBitSize[]2$fElemFixedBitSize[]3$fBitLengthVector$fBitLengthVector0$fBitLengthVector1$fBitLengthVector2$fBitLengthVector3$fBitLengthVector4$fBitLengthVector5$fBitLengthVector6 $fBitLength[]$fBitLength[]0$fBitLength[]1$fBitLength[]2$fBitLengthWord64$fBitLengthWord32$fBitLengthWord16$fBitLengthWord8$fBitLength[]3$fBitLengthBool $fShiftWord64 $fShiftWord32 $fShiftWord16 $fShiftWord8$fBitWiseWord64$fBitWiseWord32$fBitWiseWord16$fBitWiseWord8$fTestBitVector$fTestBitVector0$fTestBitVector1$fTestBitVector2$fTestBitVector3$fTestBitVector4$fTestBitVector5$fTestBitVector6$fTestBitWord64$fTestBitWord32$fTestBitWord16$fTestBitWord8 $fTestBit[] $fTestBitBoolp0p1$fBitParseVector$fBitParseVector0$fBitParseVector1$fBitParseVector2$fBitParseVector3$fBitParseVector4$fBitParseVector5$fBitParseVector6 $fBitParse[] $fBitParse[]0 $fBitParse[]1 $fBitParse[]2$fBitParseByteString$fBitParseWord64$fBitParseWord32$fBitParseWord16$fBitParseWord8$fBitParseBoolbitRead' bitCharToBool $fBitRead[]$fBitReadVector$fBitReadVector0$fBitReadVector1$fBitReadVector2$fBitReadVector3$fBitReadVector4$fBitReadVector5$fBitReadVector6 $fBitRead[]0 $fBitRead[]1 $fBitRead[]2 $fBitRead[]3$fBitReadByteString$fBitReadWord64$fBitReadWord32$fBitReadWord16$fBitReadWord8FastWordfastWord$fPopCount1Vector$fPopCount1Vector0 $fPopCount1[]$fPopCount1Word64$fPopCount1Word32$fPopCount1Word16$fPopCount1Word8$fPopCount1Builtin$fPopCount1Builtin0$fPopCount1Builtin1$fPopCount1Builtin2$fPopCount1Broadword$fPopCount1Broadword0$fPopCount1Broadword1$fPopCount1Broadword2$fPopCount1Bool$fPopCount0Vector$fPopCount0Vector0 $fPopCount0[]$fPopCount0Builtin$fPopCount0Builtin0$fPopCount0Builtin1$fPopCount0Builtin2$fPopCount0Broadword$fPopCount0Broadword0$fPopCount0Broadword1$fPopCount0Broadword2$fPopCount0Word64$fPopCount0Word32$fPopCount0Word16$fPopCount0Word8$fPopCount0Bool$fBitShowVector$fBitShowVector0$fBitShowVector1$fBitShowVector2$fBitShowVector3$fBitShowVector4$fBitShowVector5$fBitShowVector6 $fBitShow[] $fBitShow[]0 $fBitShow[]1 $fBitShow[]2$fBitShowByteString $fBitShow[]3$fBitShowWord64$fBitShowWord32$fBitShowWord16$fBitShowWord8 $fBitShowBool$fFromByteStringBitShown$fShowBitShown$fIsStringBitShown