| Copyright | (c) 2012-2016 Iago Abal (c) 2012-2013 HASLab & University of Minho |
|---|---|
| License | BSD3 |
| Maintainer | Iago Abal <mail@iagoabal.eu> |
| Safe Haskell | None |
| Language | Haskell98 |
Data.BitVector
Description
Bit-vector arithmetic inspired by SMT-LIB http://smt-lib.org/ and Cryptol http://cryptol.net/.
Bit-vectors are represented as a pair size and value,
where sizes are of type Int and values are Integer.
- Bit-vectors are interpreted as unsigned integers (i.e. natural numbers) except for some specific signed operations.
- Most operations are in some way size-polymorphic and, if required, will perform padding to adjust the size of input bit-vectors.
For documentation purposes we will write [n]k to denote a bit-vector
of size n representing the natural number k.
Synopsis
- type BitVector = BV
- data BV
- size :: BV -> Int
- width :: BV -> Int
- nat :: BV -> Integer
- uint :: BV -> Integer
- int :: BV -> Integer
- nil :: BV
- bitVec :: Integral a => Int -> a -> BV
- bitVecs :: Integral a => Int -> [a] -> [BV]
- ones :: Int -> BV
- zeros :: Int -> BV
- isNat :: BV -> Bool
- isPos :: BV -> Bool
- (==.) :: BV -> BV -> Bool
- (/=.) :: BV -> BV -> Bool
- (<.) :: BV -> BV -> Bool
- (<=.) :: BV -> BV -> Bool
- (>.) :: BV -> BV -> Bool
- (>=.) :: BV -> BV -> Bool
- slt :: BV -> BV -> Bool
- sle :: BV -> BV -> Bool
- sgt :: BV -> BV -> Bool
- sge :: BV -> BV -> Bool
- (@.) :: Integral ix => BV -> ix -> Bool
- index :: Integral ix => ix -> BV -> Bool
- (@@) :: Integral ix => BV -> (ix, ix) -> BV
- extract :: Integral ix => ix -> ix -> BV -> BV
- (@:) :: Integral ix => BV -> [ix] -> BV
- (!.) :: Integral ix => BV -> ix -> Bool
- least :: Integral ix => ix -> BV -> BV
- most :: Integral ix => ix -> BV -> BV
- msb :: BV -> Bool
- lsb :: BV -> Bool
- msb1 :: BV -> Int
- lsb1 :: BV -> Int
- signumI :: Integral a => BV -> a
- pow :: Integral exp => BV -> exp -> BV
- sdiv :: BV -> BV -> BV
- srem :: BV -> BV -> BV
- smod :: BV -> BV -> BV
- lg2 :: BV -> BV
- (#) :: BV -> BV -> BV
- cat :: BV -> BV -> BV
- append :: BV -> BV -> BV
- concat :: [BV] -> BV
- zeroExtend :: Integral size => size -> BV -> BV
- signExtend :: Integral size => size -> BV -> BV
- foldl :: (a -> Bool -> a) -> a -> BV -> a
- foldl_ :: (a -> Bool -> a) -> a -> BV -> a
- foldr :: (Bool -> a -> a) -> a -> BV -> a
- foldr_ :: (Bool -> a -> a) -> a -> BV -> a
- reverse :: BV -> BV
- reverse_ :: BV -> BV
- replicate :: Integral size => size -> BV -> BV
- replicate_ :: Integral size => size -> BV -> BV
- and :: [BV] -> BV
- and_ :: [BV] -> BV
- or :: [BV] -> BV
- or_ :: [BV] -> BV
- split :: Integral times => times -> BV -> [BV]
- group :: Integral size => size -> BV -> [BV]
- group_ :: Integral size => size -> BV -> [BV]
- join :: [BV] -> BV
- class Eq a => Bits a where
- (.&.) :: a -> a -> a
- (.|.) :: a -> a -> a
- xor :: a -> a -> a
- complement :: a -> a
- shift :: a -> Int -> a
- rotate :: a -> Int -> a
- zeroBits :: a
- bit :: Int -> a
- setBit :: a -> Int -> a
- clearBit :: a -> Int -> a
- complementBit :: a -> Int -> a
- testBit :: a -> Int -> Bool
- bitSizeMaybe :: a -> Maybe Int
- bitSize :: a -> Int
- isSigned :: a -> Bool
- shiftL :: a -> Int -> a
- unsafeShiftL :: a -> Int -> a
- shiftR :: a -> Int -> a
- unsafeShiftR :: a -> Int -> a
- rotateL :: a -> Int -> a
- rotateR :: a -> Int -> a
- popCount :: a -> Int
- class Bits b => FiniteBits b where
- finiteBitSize :: b -> Int
- countLeadingZeros :: b -> Int
- countTrailingZeros :: b -> Int
- bitDefault :: (Bits a, Num a) => Int -> a
- popCountDefault :: (Bits a, Num a) => a -> Int
- testBitDefault :: (Bits a, Num a) => a -> Int -> Bool
- toIntegralSized :: (Integral a, Integral b, Bits a, Bits b) => a -> Maybe b
- (!<<.) :: Bits a => a -> Int -> a
- (!>>.) :: Bits a => a -> Int -> a
- (.<<.) :: Bits a => a -> Int -> a
- (.>>.) :: Bits a => a -> Int -> a
- (.^.) :: Bits a => a -> a -> a
- newtype And a = And {
- getAnd :: a
- newtype Iff a = Iff {
- getIff :: a
- newtype Ior a = Ior {
- getIor :: a
- newtype Xor a = Xor {
- getXor :: a
- oneBits :: FiniteBits a => a
- not :: BV -> BV
- not_ :: BV -> BV
- nand :: BV -> BV -> BV
- nor :: BV -> BV -> BV
- xnor :: BV -> BV -> BV
- (<<.) :: BV -> BV -> BV
- shl :: BV -> BV -> BV
- (>>.) :: BV -> BV -> BV
- shr :: BV -> BV -> BV
- ashr :: BV -> BV -> BV
- (<<<.) :: BV -> BV -> BV
- rol :: BV -> BV -> BV
- (>>>.) :: BV -> BV -> BV
- ror :: BV -> BV -> BV
- fromBool :: Bool -> BV
- fromBits :: [Bool] -> BV
- toBits :: BV -> [Bool]
- showBin :: BV -> String
- showOct :: BV -> String
- showHex :: BV -> String
Bit-vectors
Big-endian pseudo size-polymorphic bit-vectors.
Instances
| Data BV Source # | |
Defined in Data.BitVector Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BV -> c BV gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BV dataTypeOf :: BV -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BV) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BV) gmapT :: (forall b. Data b => b -> b) -> BV -> BV gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BV -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BV -> r gmapQ :: (forall d. Data d => d -> u) -> BV -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> BV -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> BV -> m BV gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BV -> m BV gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BV -> m BV | |
| Monoid BV Source # | |
| Semigroup BV Source # | |
| Bits BV Source # | |
Defined in Data.BitVector Methods complement :: BV -> BV # complementBit :: BV -> Int -> BV # testBit :: BV -> Int -> Bool # bitSizeMaybe :: BV -> Maybe Int # unsafeShiftL :: BV -> Int -> BV # unsafeShiftR :: BV -> Int -> BV # | |
| Enum BV Source # | |
| Num BV Source # | |
| Read BV Source # | |
Defined in Data.BitVector | |
| Integral BV Source # | |
| Real BV Source # | |
Defined in Data.BitVector Methods toRational :: BV -> Rational | |
| Show BV Source # | |
| Eq BV Source # | |
| Ord BV Source # | |
Creation
bitVec :: Integral a => Int -> a -> BV Source #
Create a bit-vector given a size and an integer value.
>>>bitVec 4 3[4]3
This function also handles negative values.
>>>bitVec 4 (-1)[4]15
bitVecs :: Integral a => Int -> [a] -> [BV] Source #
List of bit-vector literals of the same size
When a list of integer literals is interpreted as a list of bit-vectors,
fromInteger is applied to each element invidually:
>>>[1,3,5] :: [BV][ [1]1, [2]3, [3]5 ]
Sometimes we want to specify a list of bit-vectors literals of the same
size, and for that we can use bitVects:
>>>bitVecs 3 [1,3,5][ [3]1, [3]3, [3]5 ]
Test
Comparison
(==.) :: BV -> BV -> Bool infix 4 Source #
Fixed-size equality.
In contrast with ==, which is size-polymorphic, this equality
requires both bit-vectors to be of equal size.
>>>[n]k ==. [m]kFalse
>>>[n]k ==. [n]kTrue
Indexing
(@.) :: Integral ix => BV -> ix -> Bool infixl 9 Source #
Bit indexing.
u @. i stands for the i-th bit of u.
>>>[4]2 @. 0False
>>>[4]2 @. 1True
(@@) :: Integral ix => BV -> (ix, ix) -> BV infixl 9 Source #
Bit-string extraction.
u @@ (j,i) == fromBits (map (u @.) [j,j-1..i])
>>>[4]7 @@ (3,1)[3]3
(@:) :: Integral ix => BV -> [ix] -> BV infixl 9 Source #
Bit list indexing.
u @: is ==. fromBits $ List.map (u @.) is
(!.) :: Integral ix => BV -> ix -> Bool infixl 9 Source #
Reverse bit-indexing.
Index starting from the most significant bit.
u !. i == u @. (size u - i - 1)
>>>[3]3 !. 0False
least :: Integral ix => ix -> BV -> BV Source #
Take least significant bits.
least m u == u @@ (m-1,0)
Most significant 1-bit.
Pre: input must be non-zero.
>>>msb1 [4]21
>>>msb1 [4]42
Least significant 1-bit.
Pre: input must be non-zero.
>>>msb1 [4]30
>>>msb1 [4]61
Arithmetic
pow :: Integral exp => BV -> exp -> BV Source #
Bit-vector exponentiation.
pow [n]k e computes k raised to e modulo n.
This is faster than Haskell's (^) operator because it performs
modulo division just once. Besides, a^0 == [1]0 !!!
List-like operations
cat :: BV -> BV -> BV Source #
Deprecated: Use (#) or append instead
Concatenation of two bit-vectors.
zeroExtend :: Integral size => size -> BV -> BV Source #
Logical extension.
>>>zeroExtend 3 [1]1[4]1
signExtend :: Integral size => size -> BV -> BV Source #
Arithmetic extension.
>>>signExtend 2 [2]1[4]1
>>>signExtend 2 [2]3[4]15
foldl :: (a -> Bool -> a) -> a -> BV -> a Source #
foldl f z (fromBits [un, ..., u1, u0]) == ((((z `f` un) `f` ...) `f` u1) `f` u0)
foldl f e = fromBits . foldl f e . toBits
foldl_ :: (a -> Bool -> a) -> a -> BV -> a Source #
Deprecated: Use corresponding versions without underscore
foldl f z (fromBits [un, ..., u1, u0]) == ((((z `f` un) `f` ...) `f` u1) `f` u0)
foldl f e = fromBits . foldl f e . toBits
foldr :: (Bool -> a -> a) -> a -> BV -> a Source #
foldr f z (fromBits [un, ..., u1, u0]) == un `f` (... `f` (u1 `f` (u0 `f` z)))
foldr f e = fromBits . foldr f e . toBits
foldr_ :: (Bool -> a -> a) -> a -> BV -> a Source #
Deprecated: Use corresponding versions without underscore
foldr f z (fromBits [un, ..., u1, u0]) == un `f` (... `f` (u1 `f` (u0 `f` z)))
foldr f e = fromBits . foldr f e . toBits
Deprecated: Use corresponding versions without underscore
reverse == fromBits . reverse . toBits
replicate :: Integral size => size -> BV -> BV Source #
Pre: if replicate_ n u then n > 0 must hold.
replicate_ n == fromBits . concat . replicate n . toBits
replicate_ :: Integral size => size -> BV -> BV Source #
Deprecated: Use corresponding versions without underscore
Pre: if replicate_ n u then n > 0 must hold.
replicate_ n == fromBits . concat . replicate n . toBits
Conjunction.
Essentially, and == foldr1 (.&.).
Returns [1]1 if the input list is empty.
Deprecated: Use corresponding versions without underscore
Conjunction.
Essentially, and == foldr1 (.&.).
Returns [1]1 if the input list is empty.
Disjunction.
Essentially, or == foldr1 (.|.).
Returns [1]0 if the input list is empty.
Deprecated: Use corresponding versions without underscore
Disjunction.
Essentially, or == foldr1 (.|.).
Returns [1]0 if the input list is empty.
split :: Integral times => times -> BV -> [BV] Source #
Split a bit-vector k times.
>>>split 3 [4]15[[2]0,[2]3,[2]3]
group :: Integral size => size -> BV -> [BV] Source #
Split a bit-vector into n-wide pieces.
>>>group 3 [4]15[[3]1,[3]7]
group_ :: Integral size => size -> BV -> [BV] Source #
Deprecated: Use corresponding versions without underscore
Split a bit-vector into n-wide pieces.
>>>group 3 [4]15[[3]1,[3]7]
Concatenate a (possibly empty) list of bit-vectors.
>>>join [[2]3,[2]2][4]14
Bitwise operations
Minimal complete definition
(.&.), (.|.), xor, complement, (shift | shiftL, shiftR), (rotate | rotateL, rotateR), bitSize, bitSizeMaybe, isSigned, testBit, bit, popCount
Methods
complement :: a -> a #
complementBit :: a -> Int -> a #
bitSizeMaybe :: a -> Maybe Int #
unsafeShiftL :: a -> Int -> a #
unsafeShiftR :: a -> Int -> a #
Instances
| Bits CBool | |
Defined in Foreign.C.Types Methods (.&.) :: CBool -> CBool -> CBool # (.|.) :: CBool -> CBool -> CBool # xor :: CBool -> CBool -> CBool # complement :: CBool -> CBool # shift :: CBool -> Int -> CBool # rotate :: CBool -> Int -> CBool # setBit :: CBool -> Int -> CBool # clearBit :: CBool -> Int -> CBool # complementBit :: CBool -> Int -> CBool # testBit :: CBool -> Int -> Bool # bitSizeMaybe :: CBool -> Maybe Int # shiftL :: CBool -> Int -> CBool # unsafeShiftL :: CBool -> Int -> CBool # shiftR :: CBool -> Int -> CBool # unsafeShiftR :: CBool -> Int -> CBool # rotateL :: CBool -> Int -> CBool # | |
| Bits CChar | |
Defined in Foreign.C.Types Methods (.&.) :: CChar -> CChar -> CChar # (.|.) :: CChar -> CChar -> CChar # xor :: CChar -> CChar -> CChar # complement :: CChar -> CChar # shift :: CChar -> Int -> CChar # rotate :: CChar -> Int -> CChar # setBit :: CChar -> Int -> CChar # clearBit :: CChar -> Int -> CChar # complementBit :: CChar -> Int -> CChar # testBit :: CChar -> Int -> Bool # bitSizeMaybe :: CChar -> Maybe Int # shiftL :: CChar -> Int -> CChar # unsafeShiftL :: CChar -> Int -> CChar # shiftR :: CChar -> Int -> CChar # unsafeShiftR :: CChar -> Int -> CChar # rotateL :: CChar -> Int -> CChar # | |
| Bits CInt | |
Defined in Foreign.C.Types Methods (.&.) :: CInt -> CInt -> CInt # (.|.) :: CInt -> CInt -> CInt # complement :: CInt -> CInt # shift :: CInt -> Int -> CInt # rotate :: CInt -> Int -> CInt # setBit :: CInt -> Int -> CInt # clearBit :: CInt -> Int -> CInt # complementBit :: CInt -> Int -> CInt # testBit :: CInt -> Int -> Bool # bitSizeMaybe :: CInt -> Maybe Int # shiftL :: CInt -> Int -> CInt # unsafeShiftL :: CInt -> Int -> CInt # shiftR :: CInt -> Int -> CInt # unsafeShiftR :: CInt -> Int -> CInt # rotateL :: CInt -> Int -> CInt # | |
| Bits CIntMax | |
Defined in Foreign.C.Types Methods (.&.) :: CIntMax -> CIntMax -> CIntMax # (.|.) :: CIntMax -> CIntMax -> CIntMax # xor :: CIntMax -> CIntMax -> CIntMax # complement :: CIntMax -> CIntMax # shift :: CIntMax -> Int -> CIntMax # rotate :: CIntMax -> Int -> CIntMax # setBit :: CIntMax -> Int -> CIntMax # clearBit :: CIntMax -> Int -> CIntMax # complementBit :: CIntMax -> Int -> CIntMax # testBit :: CIntMax -> Int -> Bool # bitSizeMaybe :: CIntMax -> Maybe Int # shiftL :: CIntMax -> Int -> CIntMax # unsafeShiftL :: CIntMax -> Int -> CIntMax # shiftR :: CIntMax -> Int -> CIntMax # unsafeShiftR :: CIntMax -> Int -> CIntMax # rotateL :: CIntMax -> Int -> CIntMax # | |
| Bits CIntPtr | |
Defined in Foreign.C.Types Methods (.&.) :: CIntPtr -> CIntPtr -> CIntPtr # (.|.) :: CIntPtr -> CIntPtr -> CIntPtr # xor :: CIntPtr -> CIntPtr -> CIntPtr # complement :: CIntPtr -> CIntPtr # shift :: CIntPtr -> Int -> CIntPtr # rotate :: CIntPtr -> Int -> CIntPtr # setBit :: CIntPtr -> Int -> CIntPtr # clearBit :: CIntPtr -> Int -> CIntPtr # complementBit :: CIntPtr -> Int -> CIntPtr # testBit :: CIntPtr -> Int -> Bool # bitSizeMaybe :: CIntPtr -> Maybe Int # shiftL :: CIntPtr -> Int -> CIntPtr # unsafeShiftL :: CIntPtr -> Int -> CIntPtr # shiftR :: CIntPtr -> Int -> CIntPtr # unsafeShiftR :: CIntPtr -> Int -> CIntPtr # rotateL :: CIntPtr -> Int -> CIntPtr # | |
| Bits CLLong | |
Defined in Foreign.C.Types Methods (.&.) :: CLLong -> CLLong -> CLLong # (.|.) :: CLLong -> CLLong -> CLLong # xor :: CLLong -> CLLong -> CLLong # complement :: CLLong -> CLLong # shift :: CLLong -> Int -> CLLong # rotate :: CLLong -> Int -> CLLong # setBit :: CLLong -> Int -> CLLong # clearBit :: CLLong -> Int -> CLLong # complementBit :: CLLong -> Int -> CLLong # testBit :: CLLong -> Int -> Bool # bitSizeMaybe :: CLLong -> Maybe Int # shiftL :: CLLong -> Int -> CLLong # unsafeShiftL :: CLLong -> Int -> CLLong # shiftR :: CLLong -> Int -> CLLong # unsafeShiftR :: CLLong -> Int -> CLLong # rotateL :: CLLong -> Int -> CLLong # | |
| Bits CLong | |
Defined in Foreign.C.Types Methods (.&.) :: CLong -> CLong -> CLong # (.|.) :: CLong -> CLong -> CLong # xor :: CLong -> CLong -> CLong # complement :: CLong -> CLong # shift :: CLong -> Int -> CLong # rotate :: CLong -> Int -> CLong # setBit :: CLong -> Int -> CLong # clearBit :: CLong -> Int -> CLong # complementBit :: CLong -> Int -> CLong # testBit :: CLong -> Int -> Bool # bitSizeMaybe :: CLong -> Maybe Int # shiftL :: CLong -> Int -> CLong # unsafeShiftL :: CLong -> Int -> CLong # shiftR :: CLong -> Int -> CLong # unsafeShiftR :: CLong -> Int -> CLong # rotateL :: CLong -> Int -> CLong # | |
| Bits CPtrdiff | |
Defined in Foreign.C.Types Methods (.&.) :: CPtrdiff -> CPtrdiff -> CPtrdiff # (.|.) :: CPtrdiff -> CPtrdiff -> CPtrdiff # xor :: CPtrdiff -> CPtrdiff -> CPtrdiff # complement :: CPtrdiff -> CPtrdiff # shift :: CPtrdiff -> Int -> CPtrdiff # rotate :: CPtrdiff -> Int -> CPtrdiff # setBit :: CPtrdiff -> Int -> CPtrdiff # clearBit :: CPtrdiff -> Int -> CPtrdiff # complementBit :: CPtrdiff -> Int -> CPtrdiff # testBit :: CPtrdiff -> Int -> Bool # bitSizeMaybe :: CPtrdiff -> Maybe Int # isSigned :: CPtrdiff -> Bool # shiftL :: CPtrdiff -> Int -> CPtrdiff # unsafeShiftL :: CPtrdiff -> Int -> CPtrdiff # shiftR :: CPtrdiff -> Int -> CPtrdiff # unsafeShiftR :: CPtrdiff -> Int -> CPtrdiff # rotateL :: CPtrdiff -> Int -> CPtrdiff # | |
| Bits CSChar | |
Defined in Foreign.C.Types Methods (.&.) :: CSChar -> CSChar -> CSChar # (.|.) :: CSChar -> CSChar -> CSChar # xor :: CSChar -> CSChar -> CSChar # complement :: CSChar -> CSChar # shift :: CSChar -> Int -> CSChar # rotate :: CSChar -> Int -> CSChar # setBit :: CSChar -> Int -> CSChar # clearBit :: CSChar -> Int -> CSChar # complementBit :: CSChar -> Int -> CSChar # testBit :: CSChar -> Int -> Bool # bitSizeMaybe :: CSChar -> Maybe Int # shiftL :: CSChar -> Int -> CSChar # unsafeShiftL :: CSChar -> Int -> CSChar # shiftR :: CSChar -> Int -> CSChar # unsafeShiftR :: CSChar -> Int -> CSChar # rotateL :: CSChar -> Int -> CSChar # | |
| Bits CShort | |
Defined in Foreign.C.Types Methods (.&.) :: CShort -> CShort -> CShort # (.|.) :: CShort -> CShort -> CShort # xor :: CShort -> CShort -> CShort # complement :: CShort -> CShort # shift :: CShort -> Int -> CShort # rotate :: CShort -> Int -> CShort # setBit :: CShort -> Int -> CShort # clearBit :: CShort -> Int -> CShort # complementBit :: CShort -> Int -> CShort # testBit :: CShort -> Int -> Bool # bitSizeMaybe :: CShort -> Maybe Int # shiftL :: CShort -> Int -> CShort # unsafeShiftL :: CShort -> Int -> CShort # shiftR :: CShort -> Int -> CShort # unsafeShiftR :: CShort -> Int -> CShort # rotateL :: CShort -> Int -> CShort # | |
| Bits CSigAtomic | |
Defined in Foreign.C.Types Methods (.&.) :: CSigAtomic -> CSigAtomic -> CSigAtomic # (.|.) :: CSigAtomic -> CSigAtomic -> CSigAtomic # xor :: CSigAtomic -> CSigAtomic -> CSigAtomic # complement :: CSigAtomic -> CSigAtomic # shift :: CSigAtomic -> Int -> CSigAtomic # rotate :: CSigAtomic -> Int -> CSigAtomic # setBit :: CSigAtomic -> Int -> CSigAtomic # clearBit :: CSigAtomic -> Int -> CSigAtomic # complementBit :: CSigAtomic -> Int -> CSigAtomic # testBit :: CSigAtomic -> Int -> Bool # bitSizeMaybe :: CSigAtomic -> Maybe Int # bitSize :: CSigAtomic -> Int # isSigned :: CSigAtomic -> Bool # shiftL :: CSigAtomic -> Int -> CSigAtomic # unsafeShiftL :: CSigAtomic -> Int -> CSigAtomic # shiftR :: CSigAtomic -> Int -> CSigAtomic # unsafeShiftR :: CSigAtomic -> Int -> CSigAtomic # rotateL :: CSigAtomic -> Int -> CSigAtomic # | |
| Bits CSize | |
Defined in Foreign.C.Types Methods (.&.) :: CSize -> CSize -> CSize # (.|.) :: CSize -> CSize -> CSize # xor :: CSize -> CSize -> CSize # complement :: CSize -> CSize # shift :: CSize -> Int -> CSize # rotate :: CSize -> Int -> CSize # setBit :: CSize -> Int -> CSize # clearBit :: CSize -> Int -> CSize # complementBit :: CSize -> Int -> CSize # testBit :: CSize -> Int -> Bool # bitSizeMaybe :: CSize -> Maybe Int # shiftL :: CSize -> Int -> CSize # unsafeShiftL :: CSize -> Int -> CSize # shiftR :: CSize -> Int -> CSize # unsafeShiftR :: CSize -> Int -> CSize # rotateL :: CSize -> Int -> CSize # | |
| Bits CUChar | |
Defined in Foreign.C.Types Methods (.&.) :: CUChar -> CUChar -> CUChar # (.|.) :: CUChar -> CUChar -> CUChar # xor :: CUChar -> CUChar -> CUChar # complement :: CUChar -> CUChar # shift :: CUChar -> Int -> CUChar # rotate :: CUChar -> Int -> CUChar # setBit :: CUChar -> Int -> CUChar # clearBit :: CUChar -> Int -> CUChar # complementBit :: CUChar -> Int -> CUChar # testBit :: CUChar -> Int -> Bool # bitSizeMaybe :: CUChar -> Maybe Int # shiftL :: CUChar -> Int -> CUChar # unsafeShiftL :: CUChar -> Int -> CUChar # shiftR :: CUChar -> Int -> CUChar # unsafeShiftR :: CUChar -> Int -> CUChar # rotateL :: CUChar -> Int -> CUChar # | |
| Bits CUInt | |
Defined in Foreign.C.Types Methods (.&.) :: CUInt -> CUInt -> CUInt # (.|.) :: CUInt -> CUInt -> CUInt # xor :: CUInt -> CUInt -> CUInt # complement :: CUInt -> CUInt # shift :: CUInt -> Int -> CUInt # rotate :: CUInt -> Int -> CUInt # setBit :: CUInt -> Int -> CUInt # clearBit :: CUInt -> Int -> CUInt # complementBit :: CUInt -> Int -> CUInt # testBit :: CUInt -> Int -> Bool # bitSizeMaybe :: CUInt -> Maybe Int # shiftL :: CUInt -> Int -> CUInt # unsafeShiftL :: CUInt -> Int -> CUInt # shiftR :: CUInt -> Int -> CUInt # unsafeShiftR :: CUInt -> Int -> CUInt # rotateL :: CUInt -> Int -> CUInt # | |
| Bits CUIntMax | |
Defined in Foreign.C.Types Methods (.&.) :: CUIntMax -> CUIntMax -> CUIntMax # (.|.) :: CUIntMax -> CUIntMax -> CUIntMax # xor :: CUIntMax -> CUIntMax -> CUIntMax # complement :: CUIntMax -> CUIntMax # shift :: CUIntMax -> Int -> CUIntMax # rotate :: CUIntMax -> Int -> CUIntMax # setBit :: CUIntMax -> Int -> CUIntMax # clearBit :: CUIntMax -> Int -> CUIntMax # complementBit :: CUIntMax -> Int -> CUIntMax # testBit :: CUIntMax -> Int -> Bool # bitSizeMaybe :: CUIntMax -> Maybe Int # isSigned :: CUIntMax -> Bool # shiftL :: CUIntMax -> Int -> CUIntMax # unsafeShiftL :: CUIntMax -> Int -> CUIntMax # shiftR :: CUIntMax -> Int -> CUIntMax # unsafeShiftR :: CUIntMax -> Int -> CUIntMax # rotateL :: CUIntMax -> Int -> CUIntMax # | |
| Bits CUIntPtr | |
Defined in Foreign.C.Types Methods (.&.) :: CUIntPtr -> CUIntPtr -> CUIntPtr # (.|.) :: CUIntPtr -> CUIntPtr -> CUIntPtr # xor :: CUIntPtr -> CUIntPtr -> CUIntPtr # complement :: CUIntPtr -> CUIntPtr # shift :: CUIntPtr -> Int -> CUIntPtr # rotate :: CUIntPtr -> Int -> CUIntPtr # setBit :: CUIntPtr -> Int -> CUIntPtr # clearBit :: CUIntPtr -> Int -> CUIntPtr # complementBit :: CUIntPtr -> Int -> CUIntPtr # testBit :: CUIntPtr -> Int -> Bool # bitSizeMaybe :: CUIntPtr -> Maybe Int # isSigned :: CUIntPtr -> Bool # shiftL :: CUIntPtr -> Int -> CUIntPtr # unsafeShiftL :: CUIntPtr -> Int -> CUIntPtr # shiftR :: CUIntPtr -> Int -> CUIntPtr # unsafeShiftR :: CUIntPtr -> Int -> CUIntPtr # rotateL :: CUIntPtr -> Int -> CUIntPtr # | |
| Bits CULLong | |
Defined in Foreign.C.Types Methods (.&.) :: CULLong -> CULLong -> CULLong # (.|.) :: CULLong -> CULLong -> CULLong # xor :: CULLong -> CULLong -> CULLong # complement :: CULLong -> CULLong # shift :: CULLong -> Int -> CULLong # rotate :: CULLong -> Int -> CULLong # setBit :: CULLong -> Int -> CULLong # clearBit :: CULLong -> Int -> CULLong # complementBit :: CULLong -> Int -> CULLong # testBit :: CULLong -> Int -> Bool # bitSizeMaybe :: CULLong -> Maybe Int # shiftL :: CULLong -> Int -> CULLong # unsafeShiftL :: CULLong -> Int -> CULLong # shiftR :: CULLong -> Int -> CULLong # unsafeShiftR :: CULLong -> Int -> CULLong # rotateL :: CULLong -> Int -> CULLong # | |
| Bits CULong | |
Defined in Foreign.C.Types Methods (.&.) :: CULong -> CULong -> CULong # (.|.) :: CULong -> CULong -> CULong # xor :: CULong -> CULong -> CULong # complement :: CULong -> CULong # shift :: CULong -> Int -> CULong # rotate :: CULong -> Int -> CULong # setBit :: CULong -> Int -> CULong # clearBit :: CULong -> Int -> CULong # complementBit :: CULong -> Int -> CULong # testBit :: CULong -> Int -> Bool # bitSizeMaybe :: CULong -> Maybe Int # shiftL :: CULong -> Int -> CULong # unsafeShiftL :: CULong -> Int -> CULong # shiftR :: CULong -> Int -> CULong # unsafeShiftR :: CULong -> Int -> CULong # rotateL :: CULong -> Int -> CULong # | |
| Bits CUShort | |
Defined in Foreign.C.Types Methods (.&.) :: CUShort -> CUShort -> CUShort # (.|.) :: CUShort -> CUShort -> CUShort # xor :: CUShort -> CUShort -> CUShort # complement :: CUShort -> CUShort # shift :: CUShort -> Int -> CUShort # rotate :: CUShort -> Int -> CUShort # setBit :: CUShort -> Int -> CUShort # clearBit :: CUShort -> Int -> CUShort # complementBit :: CUShort -> Int -> CUShort # testBit :: CUShort -> Int -> Bool # bitSizeMaybe :: CUShort -> Maybe Int # shiftL :: CUShort -> Int -> CUShort # unsafeShiftL :: CUShort -> Int -> CUShort # shiftR :: CUShort -> Int -> CUShort # unsafeShiftR :: CUShort -> Int -> CUShort # rotateL :: CUShort -> Int -> CUShort # | |
| Bits CWchar | |
Defined in Foreign.C.Types Methods (.&.) :: CWchar -> CWchar -> CWchar # (.|.) :: CWchar -> CWchar -> CWchar # xor :: CWchar -> CWchar -> CWchar # complement :: CWchar -> CWchar # shift :: CWchar -> Int -> CWchar # rotate :: CWchar -> Int -> CWchar # setBit :: CWchar -> Int -> CWchar # clearBit :: CWchar -> Int -> CWchar # complementBit :: CWchar -> Int -> CWchar # testBit :: CWchar -> Int -> Bool # bitSizeMaybe :: CWchar -> Maybe Int # shiftL :: CWchar -> Int -> CWchar # unsafeShiftL :: CWchar -> Int -> CWchar # shiftR :: CWchar -> Int -> CWchar # unsafeShiftR :: CWchar -> Int -> CWchar # rotateL :: CWchar -> Int -> CWchar # | |
| Bits IntPtr | |
Defined in Foreign.Ptr Methods (.&.) :: IntPtr -> IntPtr -> IntPtr # (.|.) :: IntPtr -> IntPtr -> IntPtr # xor :: IntPtr -> IntPtr -> IntPtr # complement :: IntPtr -> IntPtr # shift :: IntPtr -> Int -> IntPtr # rotate :: IntPtr -> Int -> IntPtr # setBit :: IntPtr -> Int -> IntPtr # clearBit :: IntPtr -> Int -> IntPtr # complementBit :: IntPtr -> Int -> IntPtr # testBit :: IntPtr -> Int -> Bool # bitSizeMaybe :: IntPtr -> Maybe Int # shiftL :: IntPtr -> Int -> IntPtr # unsafeShiftL :: IntPtr -> Int -> IntPtr # shiftR :: IntPtr -> Int -> IntPtr # unsafeShiftR :: IntPtr -> Int -> IntPtr # rotateL :: IntPtr -> Int -> IntPtr # | |
| Bits WordPtr | |
Defined in Foreign.Ptr Methods (.&.) :: WordPtr -> WordPtr -> WordPtr # (.|.) :: WordPtr -> WordPtr -> WordPtr # xor :: WordPtr -> WordPtr -> WordPtr # complement :: WordPtr -> WordPtr # shift :: WordPtr -> Int -> WordPtr # rotate :: WordPtr -> Int -> WordPtr # setBit :: WordPtr -> Int -> WordPtr # clearBit :: WordPtr -> Int -> WordPtr # complementBit :: WordPtr -> Int -> WordPtr # testBit :: WordPtr -> Int -> Bool # bitSizeMaybe :: WordPtr -> Maybe Int # shiftL :: WordPtr -> Int -> WordPtr # unsafeShiftL :: WordPtr -> Int -> WordPtr # shiftR :: WordPtr -> Int -> WordPtr # unsafeShiftR :: WordPtr -> Int -> WordPtr # rotateL :: WordPtr -> Int -> WordPtr # | |
| Bits Int16 | |
Defined in GHC.Int Methods (.&.) :: Int16 -> Int16 -> Int16 # (.|.) :: Int16 -> Int16 -> Int16 # xor :: Int16 -> Int16 -> Int16 # complement :: Int16 -> Int16 # shift :: Int16 -> Int -> Int16 # rotate :: Int16 -> Int -> Int16 # setBit :: Int16 -> Int -> Int16 # clearBit :: Int16 -> Int -> Int16 # complementBit :: Int16 -> Int -> Int16 # testBit :: Int16 -> Int -> Bool # bitSizeMaybe :: Int16 -> Maybe Int # shiftL :: Int16 -> Int -> Int16 # unsafeShiftL :: Int16 -> Int -> Int16 # shiftR :: Int16 -> Int -> Int16 # unsafeShiftR :: Int16 -> Int -> Int16 # rotateL :: Int16 -> Int -> Int16 # | |
| Bits Int32 | |
Defined in GHC.Int Methods (.&.) :: Int32 -> Int32 -> Int32 # (.|.) :: Int32 -> Int32 -> Int32 # xor :: Int32 -> Int32 -> Int32 # complement :: Int32 -> Int32 # shift :: Int32 -> Int -> Int32 # rotate :: Int32 -> Int -> Int32 # setBit :: Int32 -> Int -> Int32 # clearBit :: Int32 -> Int -> Int32 # complementBit :: Int32 -> Int -> Int32 # testBit :: Int32 -> Int -> Bool # bitSizeMaybe :: Int32 -> Maybe Int # shiftL :: Int32 -> Int -> Int32 # unsafeShiftL :: Int32 -> Int -> Int32 # shiftR :: Int32 -> Int -> Int32 # unsafeShiftR :: Int32 -> Int -> Int32 # rotateL :: Int32 -> Int -> Int32 # | |
| Bits Int64 | |
Defined in GHC.Int Methods (.&.) :: Int64 -> Int64 -> Int64 # (.|.) :: Int64 -> Int64 -> Int64 # xor :: Int64 -> Int64 -> Int64 # complement :: Int64 -> Int64 # shift :: Int64 -> Int -> Int64 # rotate :: Int64 -> Int -> Int64 # setBit :: Int64 -> Int -> Int64 # clearBit :: Int64 -> Int -> Int64 # complementBit :: Int64 -> Int -> Int64 # testBit :: Int64 -> Int -> Bool # bitSizeMaybe :: Int64 -> Maybe Int # shiftL :: Int64 -> Int -> Int64 # unsafeShiftL :: Int64 -> Int -> Int64 # shiftR :: Int64 -> Int -> Int64 # unsafeShiftR :: Int64 -> Int -> Int64 # rotateL :: Int64 -> Int -> Int64 # | |
| Bits Int8 | |
Defined in GHC.Int Methods (.&.) :: Int8 -> Int8 -> Int8 # (.|.) :: Int8 -> Int8 -> Int8 # complement :: Int8 -> Int8 # shift :: Int8 -> Int -> Int8 # rotate :: Int8 -> Int -> Int8 # setBit :: Int8 -> Int -> Int8 # clearBit :: Int8 -> Int -> Int8 # complementBit :: Int8 -> Int -> Int8 # testBit :: Int8 -> Int -> Bool # bitSizeMaybe :: Int8 -> Maybe Int # shiftL :: Int8 -> Int -> Int8 # unsafeShiftL :: Int8 -> Int -> Int8 # shiftR :: Int8 -> Int -> Int8 # unsafeShiftR :: Int8 -> Int -> Int8 # rotateL :: Int8 -> Int -> Int8 # | |
| Bits Word16 | |
Defined in GHC.Word Methods (.&.) :: Word16 -> Word16 -> Word16 # (.|.) :: Word16 -> Word16 -> Word16 # xor :: Word16 -> Word16 -> Word16 # complement :: Word16 -> Word16 # shift :: Word16 -> Int -> Word16 # rotate :: Word16 -> Int -> Word16 # setBit :: Word16 -> Int -> Word16 # clearBit :: Word16 -> Int -> Word16 # complementBit :: Word16 -> Int -> Word16 # testBit :: Word16 -> Int -> Bool # bitSizeMaybe :: Word16 -> Maybe Int # shiftL :: Word16 -> Int -> Word16 # unsafeShiftL :: Word16 -> Int -> Word16 # shiftR :: Word16 -> Int -> Word16 # unsafeShiftR :: Word16 -> Int -> Word16 # rotateL :: Word16 -> Int -> Word16 # | |
| Bits Word32 | |
Defined in GHC.Word Methods (.&.) :: Word32 -> Word32 -> Word32 # (.|.) :: Word32 -> Word32 -> Word32 # xor :: Word32 -> Word32 -> Word32 # complement :: Word32 -> Word32 # shift :: Word32 -> Int -> Word32 # rotate :: Word32 -> Int -> Word32 # setBit :: Word32 -> Int -> Word32 # clearBit :: Word32 -> Int -> Word32 # complementBit :: Word32 -> Int -> Word32 # testBit :: Word32 -> Int -> Bool # bitSizeMaybe :: Word32 -> Maybe Int # shiftL :: Word32 -> Int -> Word32 # unsafeShiftL :: Word32 -> Int -> Word32 # shiftR :: Word32 -> Int -> Word32 # unsafeShiftR :: Word32 -> Int -> Word32 # rotateL :: Word32 -> Int -> Word32 # | |
| Bits Word64 | |
Defined in GHC.Word Methods (.&.) :: Word64 -> Word64 -> Word64 # (.|.) :: Word64 -> Word64 -> Word64 # xor :: Word64 -> Word64 -> Word64 # complement :: Word64 -> Word64 # shift :: Word64 -> Int -> Word64 # rotate :: Word64 -> Int -> Word64 # setBit :: Word64 -> Int -> Word64 # clearBit :: Word64 -> Int -> Word64 # complementBit :: Word64 -> Int -> Word64 # testBit :: Word64 -> Int -> Bool # bitSizeMaybe :: Word64 -> Maybe Int # shiftL :: Word64 -> Int -> Word64 # unsafeShiftL :: Word64 -> Int -> Word64 # shiftR :: Word64 -> Int -> Word64 # unsafeShiftR :: Word64 -> Int -> Word64 # rotateL :: Word64 -> Int -> Word64 # | |
| Bits Word8 | |
Defined in GHC.Word Methods (.&.) :: Word8 -> Word8 -> Word8 # (.|.) :: Word8 -> Word8 -> Word8 # xor :: Word8 -> Word8 -> Word8 # complement :: Word8 -> Word8 # shift :: Word8 -> Int -> Word8 # rotate :: Word8 -> Int -> Word8 # setBit :: Word8 -> Int -> Word8 # clearBit :: Word8 -> Int -> Word8 # complementBit :: Word8 -> Int -> Word8 # testBit :: Word8 -> Int -> Bool # bitSizeMaybe :: Word8 -> Maybe Int # shiftL :: Word8 -> Int -> Word8 # unsafeShiftL :: Word8 -> Int -> Word8 # shiftR :: Word8 -> Int -> Word8 # unsafeShiftR :: Word8 -> Int -> Word8 # rotateL :: Word8 -> Int -> Word8 # | |
| Bits CBlkCnt | |
Defined in System.Posix.Types Methods (.&.) :: CBlkCnt -> CBlkCnt -> CBlkCnt # (.|.) :: CBlkCnt -> CBlkCnt -> CBlkCnt # xor :: CBlkCnt -> CBlkCnt -> CBlkCnt # complement :: CBlkCnt -> CBlkCnt # shift :: CBlkCnt -> Int -> CBlkCnt # rotate :: CBlkCnt -> Int -> CBlkCnt # setBit :: CBlkCnt -> Int -> CBlkCnt # clearBit :: CBlkCnt -> Int -> CBlkCnt # complementBit :: CBlkCnt -> Int -> CBlkCnt # testBit :: CBlkCnt -> Int -> Bool # bitSizeMaybe :: CBlkCnt -> Maybe Int # shiftL :: CBlkCnt -> Int -> CBlkCnt # unsafeShiftL :: CBlkCnt -> Int -> CBlkCnt # shiftR :: CBlkCnt -> Int -> CBlkCnt # unsafeShiftR :: CBlkCnt -> Int -> CBlkCnt # rotateL :: CBlkCnt -> Int -> CBlkCnt # | |
| Bits CBlkSize | |
Defined in System.Posix.Types Methods (.&.) :: CBlkSize -> CBlkSize -> CBlkSize # (.|.) :: CBlkSize -> CBlkSize -> CBlkSize # xor :: CBlkSize -> CBlkSize -> CBlkSize # complement :: CBlkSize -> CBlkSize # shift :: CBlkSize -> Int -> CBlkSize # rotate :: CBlkSize -> Int -> CBlkSize # setBit :: CBlkSize -> Int -> CBlkSize # clearBit :: CBlkSize -> Int -> CBlkSize # complementBit :: CBlkSize -> Int -> CBlkSize # testBit :: CBlkSize -> Int -> Bool # bitSizeMaybe :: CBlkSize -> Maybe Int # isSigned :: CBlkSize -> Bool # shiftL :: CBlkSize -> Int -> CBlkSize # unsafeShiftL :: CBlkSize -> Int -> CBlkSize # shiftR :: CBlkSize -> Int -> CBlkSize # unsafeShiftR :: CBlkSize -> Int -> CBlkSize # rotateL :: CBlkSize -> Int -> CBlkSize # | |
| Bits CClockId | |
Defined in System.Posix.Types Methods (.&.) :: CClockId -> CClockId -> CClockId # (.|.) :: CClockId -> CClockId -> CClockId # xor :: CClockId -> CClockId -> CClockId # complement :: CClockId -> CClockId # shift :: CClockId -> Int -> CClockId # rotate :: CClockId -> Int -> CClockId # setBit :: CClockId -> Int -> CClockId # clearBit :: CClockId -> Int -> CClockId # complementBit :: CClockId -> Int -> CClockId # testBit :: CClockId -> Int -> Bool # bitSizeMaybe :: CClockId -> Maybe Int # isSigned :: CClockId -> Bool # shiftL :: CClockId -> Int -> CClockId # unsafeShiftL :: CClockId -> Int -> CClockId # shiftR :: CClockId -> Int -> CClockId # unsafeShiftR :: CClockId -> Int -> CClockId # rotateL :: CClockId -> Int -> CClockId # | |
| Bits CDev | |
Defined in System.Posix.Types Methods (.&.) :: CDev -> CDev -> CDev # (.|.) :: CDev -> CDev -> CDev # complement :: CDev -> CDev # shift :: CDev -> Int -> CDev # rotate :: CDev -> Int -> CDev # setBit :: CDev -> Int -> CDev # clearBit :: CDev -> Int -> CDev # complementBit :: CDev -> Int -> CDev # testBit :: CDev -> Int -> Bool # bitSizeMaybe :: CDev -> Maybe Int # shiftL :: CDev -> Int -> CDev # unsafeShiftL :: CDev -> Int -> CDev # shiftR :: CDev -> Int -> CDev # unsafeShiftR :: CDev -> Int -> CDev # rotateL :: CDev -> Int -> CDev # | |
| Bits CFsBlkCnt | |
Defined in System.Posix.Types Methods (.&.) :: CFsBlkCnt -> CFsBlkCnt -> CFsBlkCnt # (.|.) :: CFsBlkCnt -> CFsBlkCnt -> CFsBlkCnt # xor :: CFsBlkCnt -> CFsBlkCnt -> CFsBlkCnt # complement :: CFsBlkCnt -> CFsBlkCnt # shift :: CFsBlkCnt -> Int -> CFsBlkCnt # rotate :: CFsBlkCnt -> Int -> CFsBlkCnt # setBit :: CFsBlkCnt -> Int -> CFsBlkCnt # clearBit :: CFsBlkCnt -> Int -> CFsBlkCnt # complementBit :: CFsBlkCnt -> Int -> CFsBlkCnt # testBit :: CFsBlkCnt -> Int -> Bool # bitSizeMaybe :: CFsBlkCnt -> Maybe Int # isSigned :: CFsBlkCnt -> Bool # shiftL :: CFsBlkCnt -> Int -> CFsBlkCnt # unsafeShiftL :: CFsBlkCnt -> Int -> CFsBlkCnt # shiftR :: CFsBlkCnt -> Int -> CFsBlkCnt # unsafeShiftR :: CFsBlkCnt -> Int -> CFsBlkCnt # rotateL :: CFsBlkCnt -> Int -> CFsBlkCnt # | |
| Bits CFsFilCnt | |
Defined in System.Posix.Types Methods (.&.) :: CFsFilCnt -> CFsFilCnt -> CFsFilCnt # (.|.) :: CFsFilCnt -> CFsFilCnt -> CFsFilCnt # xor :: CFsFilCnt -> CFsFilCnt -> CFsFilCnt # complement :: CFsFilCnt -> CFsFilCnt # shift :: CFsFilCnt -> Int -> CFsFilCnt # rotate :: CFsFilCnt -> Int -> CFsFilCnt # setBit :: CFsFilCnt -> Int -> CFsFilCnt # clearBit :: CFsFilCnt -> Int -> CFsFilCnt # complementBit :: CFsFilCnt -> Int -> CFsFilCnt # testBit :: CFsFilCnt -> Int -> Bool # bitSizeMaybe :: CFsFilCnt -> Maybe Int # isSigned :: CFsFilCnt -> Bool # shiftL :: CFsFilCnt -> Int -> CFsFilCnt # unsafeShiftL :: CFsFilCnt -> Int -> CFsFilCnt # shiftR :: CFsFilCnt -> Int -> CFsFilCnt # unsafeShiftR :: CFsFilCnt -> Int -> CFsFilCnt # rotateL :: CFsFilCnt -> Int -> CFsFilCnt # | |
| Bits CGid | |
Defined in System.Posix.Types Methods (.&.) :: CGid -> CGid -> CGid # (.|.) :: CGid -> CGid -> CGid # complement :: CGid -> CGid # shift :: CGid -> Int -> CGid # rotate :: CGid -> Int -> CGid # setBit :: CGid -> Int -> CGid # clearBit :: CGid -> Int -> CGid # complementBit :: CGid -> Int -> CGid # testBit :: CGid -> Int -> Bool # bitSizeMaybe :: CGid -> Maybe Int # shiftL :: CGid -> Int -> CGid # unsafeShiftL :: CGid -> Int -> CGid # shiftR :: CGid -> Int -> CGid # unsafeShiftR :: CGid -> Int -> CGid # rotateL :: CGid -> Int -> CGid # | |
| Bits CId | |
Defined in System.Posix.Types Methods complement :: CId -> CId # clearBit :: CId -> Int -> CId # complementBit :: CId -> Int -> CId # testBit :: CId -> Int -> Bool # bitSizeMaybe :: CId -> Maybe Int # unsafeShiftL :: CId -> Int -> CId # unsafeShiftR :: CId -> Int -> CId # rotateL :: CId -> Int -> CId # | |
| Bits CIno | |
Defined in System.Posix.Types Methods (.&.) :: CIno -> CIno -> CIno # (.|.) :: CIno -> CIno -> CIno # complement :: CIno -> CIno # shift :: CIno -> Int -> CIno # rotate :: CIno -> Int -> CIno # setBit :: CIno -> Int -> CIno # clearBit :: CIno -> Int -> CIno # complementBit :: CIno -> Int -> CIno # testBit :: CIno -> Int -> Bool # bitSizeMaybe :: CIno -> Maybe Int # shiftL :: CIno -> Int -> CIno # unsafeShiftL :: CIno -> Int -> CIno # shiftR :: CIno -> Int -> CIno # unsafeShiftR :: CIno -> Int -> CIno # rotateL :: CIno -> Int -> CIno # | |
| Bits CKey | |
Defined in System.Posix.Types Methods (.&.) :: CKey -> CKey -> CKey # (.|.) :: CKey -> CKey -> CKey # complement :: CKey -> CKey # shift :: CKey -> Int -> CKey # rotate :: CKey -> Int -> CKey # setBit :: CKey -> Int -> CKey # clearBit :: CKey -> Int -> CKey # complementBit :: CKey -> Int -> CKey # testBit :: CKey -> Int -> Bool # bitSizeMaybe :: CKey -> Maybe Int # shiftL :: CKey -> Int -> CKey # unsafeShiftL :: CKey -> Int -> CKey # shiftR :: CKey -> Int -> CKey # unsafeShiftR :: CKey -> Int -> CKey # rotateL :: CKey -> Int -> CKey # | |
| Bits CMode | |
Defined in System.Posix.Types Methods (.&.) :: CMode -> CMode -> CMode # (.|.) :: CMode -> CMode -> CMode # xor :: CMode -> CMode -> CMode # complement :: CMode -> CMode # shift :: CMode -> Int -> CMode # rotate :: CMode -> Int -> CMode # setBit :: CMode -> Int -> CMode # clearBit :: CMode -> Int -> CMode # complementBit :: CMode -> Int -> CMode # testBit :: CMode -> Int -> Bool # bitSizeMaybe :: CMode -> Maybe Int # shiftL :: CMode -> Int -> CMode # unsafeShiftL :: CMode -> Int -> CMode # shiftR :: CMode -> Int -> CMode # unsafeShiftR :: CMode -> Int -> CMode # rotateL :: CMode -> Int -> CMode # | |
| Bits CNfds | |
Defined in System.Posix.Types Methods (.&.) :: CNfds -> CNfds -> CNfds # (.|.) :: CNfds -> CNfds -> CNfds # xor :: CNfds -> CNfds -> CNfds # complement :: CNfds -> CNfds # shift :: CNfds -> Int -> CNfds # rotate :: CNfds -> Int -> CNfds # setBit :: CNfds -> Int -> CNfds # clearBit :: CNfds -> Int -> CNfds # complementBit :: CNfds -> Int -> CNfds # testBit :: CNfds -> Int -> Bool # bitSizeMaybe :: CNfds -> Maybe Int # shiftL :: CNfds -> Int -> CNfds # unsafeShiftL :: CNfds -> Int -> CNfds # shiftR :: CNfds -> Int -> CNfds # unsafeShiftR :: CNfds -> Int -> CNfds # rotateL :: CNfds -> Int -> CNfds # | |
| Bits CNlink | |
Defined in System.Posix.Types Methods (.&.) :: CNlink -> CNlink -> CNlink # (.|.) :: CNlink -> CNlink -> CNlink # xor :: CNlink -> CNlink -> CNlink # complement :: CNlink -> CNlink # shift :: CNlink -> Int -> CNlink # rotate :: CNlink -> Int -> CNlink # setBit :: CNlink -> Int -> CNlink # clearBit :: CNlink -> Int -> CNlink # complementBit :: CNlink -> Int -> CNlink # testBit :: CNlink -> Int -> Bool # bitSizeMaybe :: CNlink -> Maybe Int # shiftL :: CNlink -> Int -> CNlink # unsafeShiftL :: CNlink -> Int -> CNlink # shiftR :: CNlink -> Int -> CNlink # unsafeShiftR :: CNlink -> Int -> CNlink # rotateL :: CNlink -> Int -> CNlink # | |
| Bits COff | |
Defined in System.Posix.Types Methods (.&.) :: COff -> COff -> COff # (.|.) :: COff -> COff -> COff # complement :: COff -> COff # shift :: COff -> Int -> COff # rotate :: COff -> Int -> COff # setBit :: COff -> Int -> COff # clearBit :: COff -> Int -> COff # complementBit :: COff -> Int -> COff # testBit :: COff -> Int -> Bool # bitSizeMaybe :: COff -> Maybe Int # shiftL :: COff -> Int -> COff # unsafeShiftL :: COff -> Int -> COff # shiftR :: COff -> Int -> COff # unsafeShiftR :: COff -> Int -> COff # rotateL :: COff -> Int -> COff # | |
| Bits CPid | |
Defined in System.Posix.Types Methods (.&.) :: CPid -> CPid -> CPid # (.|.) :: CPid -> CPid -> CPid # complement :: CPid -> CPid # shift :: CPid -> Int -> CPid # rotate :: CPid -> Int -> CPid # setBit :: CPid -> Int -> CPid # clearBit :: CPid -> Int -> CPid # complementBit :: CPid -> Int -> CPid # testBit :: CPid -> Int -> Bool # bitSizeMaybe :: CPid -> Maybe Int # shiftL :: CPid -> Int -> CPid # unsafeShiftL :: CPid -> Int -> CPid # shiftR :: CPid -> Int -> CPid # unsafeShiftR :: CPid -> Int -> CPid # rotateL :: CPid -> Int -> CPid # | |
| Bits CRLim | |
Defined in System.Posix.Types Methods (.&.) :: CRLim -> CRLim -> CRLim # (.|.) :: CRLim -> CRLim -> CRLim # xor :: CRLim -> CRLim -> CRLim # complement :: CRLim -> CRLim # shift :: CRLim -> Int -> CRLim # rotate :: CRLim -> Int -> CRLim # setBit :: CRLim -> Int -> CRLim # clearBit :: CRLim -> Int -> CRLim # complementBit :: CRLim -> Int -> CRLim # testBit :: CRLim -> Int -> Bool # bitSizeMaybe :: CRLim -> Maybe Int # shiftL :: CRLim -> Int -> CRLim # unsafeShiftL :: CRLim -> Int -> CRLim # shiftR :: CRLim -> Int -> CRLim # unsafeShiftR :: CRLim -> Int -> CRLim # rotateL :: CRLim -> Int -> CRLim # | |
| Bits CSocklen | |
Defined in System.Posix.Types Methods (.&.) :: CSocklen -> CSocklen -> CSocklen # (.|.) :: CSocklen -> CSocklen -> CSocklen # xor :: CSocklen -> CSocklen -> CSocklen # complement :: CSocklen -> CSocklen # shift :: CSocklen -> Int -> CSocklen # rotate :: CSocklen -> Int -> CSocklen # setBit :: CSocklen -> Int -> CSocklen # clearBit :: CSocklen -> Int -> CSocklen # complementBit :: CSocklen -> Int -> CSocklen # testBit :: CSocklen -> Int -> Bool # bitSizeMaybe :: CSocklen -> Maybe Int # isSigned :: CSocklen -> Bool # shiftL :: CSocklen -> Int -> CSocklen # unsafeShiftL :: CSocklen -> Int -> CSocklen # shiftR :: CSocklen -> Int -> CSocklen # unsafeShiftR :: CSocklen -> Int -> CSocklen # rotateL :: CSocklen -> Int -> CSocklen # | |
| Bits CSsize | |
Defined in System.Posix.Types Methods (.&.) :: CSsize -> CSsize -> CSsize # (.|.) :: CSsize -> CSsize -> CSsize # xor :: CSsize -> CSsize -> CSsize # complement :: CSsize -> CSsize # shift :: CSsize -> Int -> CSsize # rotate :: CSsize -> Int -> CSsize # setBit :: CSsize -> Int -> CSsize # clearBit :: CSsize -> Int -> CSsize # complementBit :: CSsize -> Int -> CSsize # testBit :: CSsize -> Int -> Bool # bitSizeMaybe :: CSsize -> Maybe Int # shiftL :: CSsize -> Int -> CSsize # unsafeShiftL :: CSsize -> Int -> CSsize # shiftR :: CSsize -> Int -> CSsize # unsafeShiftR :: CSsize -> Int -> CSsize # rotateL :: CSsize -> Int -> CSsize # | |
| Bits CTcflag | |
Defined in System.Posix.Types Methods (.&.) :: CTcflag -> CTcflag -> CTcflag # (.|.) :: CTcflag -> CTcflag -> CTcflag # xor :: CTcflag -> CTcflag -> CTcflag # complement :: CTcflag -> CTcflag # shift :: CTcflag -> Int -> CTcflag # rotate :: CTcflag -> Int -> CTcflag # setBit :: CTcflag -> Int -> CTcflag # clearBit :: CTcflag -> Int -> CTcflag # complementBit :: CTcflag -> Int -> CTcflag # testBit :: CTcflag -> Int -> Bool # bitSizeMaybe :: CTcflag -> Maybe Int # shiftL :: CTcflag -> Int -> CTcflag # unsafeShiftL :: CTcflag -> Int -> CTcflag # shiftR :: CTcflag -> Int -> CTcflag # unsafeShiftR :: CTcflag -> Int -> CTcflag # rotateL :: CTcflag -> Int -> CTcflag # | |
| Bits CUid | |
Defined in System.Posix.Types Methods (.&.) :: CUid -> CUid -> CUid # (.|.) :: CUid -> CUid -> CUid # complement :: CUid -> CUid # shift :: CUid -> Int -> CUid # rotate :: CUid -> Int -> CUid # setBit :: CUid -> Int -> CUid # clearBit :: CUid -> Int -> CUid # complementBit :: CUid -> Int -> CUid # testBit :: CUid -> Int -> Bool # bitSizeMaybe :: CUid -> Maybe Int # shiftL :: CUid -> Int -> CUid # unsafeShiftL :: CUid -> Int -> CUid # shiftR :: CUid -> Int -> CUid # unsafeShiftR :: CUid -> Int -> CUid # rotateL :: CUid -> Int -> CUid # | |
| Bits Fd | |
Defined in System.Posix.Types Methods complement :: Fd -> Fd # complementBit :: Fd -> Int -> Fd # testBit :: Fd -> Int -> Bool # bitSizeMaybe :: Fd -> Maybe Int # unsafeShiftL :: Fd -> Int -> Fd # unsafeShiftR :: Fd -> Int -> Fd # | |
| Bits BV Source # | |
Defined in Data.BitVector Methods complement :: BV -> BV # complementBit :: BV -> Int -> BV # testBit :: BV -> Int -> Bool # bitSizeMaybe :: BV -> Maybe Int # unsafeShiftL :: BV -> Int -> BV # unsafeShiftR :: BV -> Int -> BV # | |
| Bits Integer | |
Defined in GHC.Bits Methods (.&.) :: Integer -> Integer -> Integer # (.|.) :: Integer -> Integer -> Integer # xor :: Integer -> Integer -> Integer # complement :: Integer -> Integer # shift :: Integer -> Int -> Integer # rotate :: Integer -> Int -> Integer # setBit :: Integer -> Int -> Integer # clearBit :: Integer -> Int -> Integer # complementBit :: Integer -> Int -> Integer # testBit :: Integer -> Int -> Bool # bitSizeMaybe :: Integer -> Maybe Int # shiftL :: Integer -> Int -> Integer # unsafeShiftL :: Integer -> Int -> Integer # shiftR :: Integer -> Int -> Integer # unsafeShiftR :: Integer -> Int -> Integer # rotateL :: Integer -> Int -> Integer # | |
| Bits Natural | |
Defined in GHC.Bits Methods (.&.) :: Natural -> Natural -> Natural # (.|.) :: Natural -> Natural -> Natural # xor :: Natural -> Natural -> Natural # complement :: Natural -> Natural # shift :: Natural -> Int -> Natural # rotate :: Natural -> Int -> Natural # setBit :: Natural -> Int -> Natural # clearBit :: Natural -> Int -> Natural # complementBit :: Natural -> Int -> Natural # testBit :: Natural -> Int -> Bool # bitSizeMaybe :: Natural -> Maybe Int # shiftL :: Natural -> Int -> Natural # unsafeShiftL :: Natural -> Int -> Natural # shiftR :: Natural -> Int -> Natural # unsafeShiftR :: Natural -> Int -> Natural # rotateL :: Natural -> Int -> Natural # | |
| Bits Bool | |
Defined in GHC.Bits Methods (.&.) :: Bool -> Bool -> Bool # (.|.) :: Bool -> Bool -> Bool # complement :: Bool -> Bool # shift :: Bool -> Int -> Bool # rotate :: Bool -> Int -> Bool # setBit :: Bool -> Int -> Bool # clearBit :: Bool -> Int -> Bool # complementBit :: Bool -> Int -> Bool # testBit :: Bool -> Int -> Bool # bitSizeMaybe :: Bool -> Maybe Int # shiftL :: Bool -> Int -> Bool # unsafeShiftL :: Bool -> Int -> Bool # shiftR :: Bool -> Int -> Bool # unsafeShiftR :: Bool -> Int -> Bool # rotateL :: Bool -> Int -> Bool # | |
| Bits Int | |
Defined in GHC.Bits Methods complement :: Int -> Int # clearBit :: Int -> Int -> Int # complementBit :: Int -> Int -> Int # testBit :: Int -> Int -> Bool # bitSizeMaybe :: Int -> Maybe Int # unsafeShiftL :: Int -> Int -> Int # unsafeShiftR :: Int -> Int -> Int # rotateL :: Int -> Int -> Int # | |
| Bits Word | |
Defined in GHC.Bits Methods (.&.) :: Word -> Word -> Word # (.|.) :: Word -> Word -> Word # complement :: Word -> Word # shift :: Word -> Int -> Word # rotate :: Word -> Int -> Word # setBit :: Word -> Int -> Word # clearBit :: Word -> Int -> Word # complementBit :: Word -> Int -> Word # testBit :: Word -> Int -> Bool # bitSizeMaybe :: Word -> Maybe Int # shiftL :: Word -> Int -> Word # unsafeShiftL :: Word -> Int -> Word # shiftR :: Word -> Int -> Word # unsafeShiftR :: Word -> Int -> Word # rotateL :: Word -> Int -> Word # | |
| Bits a => Bits (And a) | |
Defined in Data.Bits Methods (.&.) :: And a -> And a -> And a # (.|.) :: And a -> And a -> And a # xor :: And a -> And a -> And a # complement :: And a -> And a # shift :: And a -> Int -> And a # rotate :: And a -> Int -> And a # setBit :: And a -> Int -> And a # clearBit :: And a -> Int -> And a # complementBit :: And a -> Int -> And a # testBit :: And a -> Int -> Bool # bitSizeMaybe :: And a -> Maybe Int # shiftL :: And a -> Int -> And a # unsafeShiftL :: And a -> Int -> And a # shiftR :: And a -> Int -> And a # unsafeShiftR :: And a -> Int -> And a # rotateL :: And a -> Int -> And a # | |
| Bits a => Bits (Iff a) | |
Defined in Data.Bits Methods (.&.) :: Iff a -> Iff a -> Iff a # (.|.) :: Iff a -> Iff a -> Iff a # xor :: Iff a -> Iff a -> Iff a # complement :: Iff a -> Iff a # shift :: Iff a -> Int -> Iff a # rotate :: Iff a -> Int -> Iff a # setBit :: Iff a -> Int -> Iff a # clearBit :: Iff a -> Int -> Iff a # complementBit :: Iff a -> Int -> Iff a # testBit :: Iff a -> Int -> Bool # bitSizeMaybe :: Iff a -> Maybe Int # shiftL :: Iff a -> Int -> Iff a # unsafeShiftL :: Iff a -> Int -> Iff a # shiftR :: Iff a -> Int -> Iff a # unsafeShiftR :: Iff a -> Int -> Iff a # rotateL :: Iff a -> Int -> Iff a # | |
| Bits a => Bits (Ior a) | |
Defined in Data.Bits Methods (.&.) :: Ior a -> Ior a -> Ior a # (.|.) :: Ior a -> Ior a -> Ior a # xor :: Ior a -> Ior a -> Ior a # complement :: Ior a -> Ior a # shift :: Ior a -> Int -> Ior a # rotate :: Ior a -> Int -> Ior a # setBit :: Ior a -> Int -> Ior a # clearBit :: Ior a -> Int -> Ior a # complementBit :: Ior a -> Int -> Ior a # testBit :: Ior a -> Int -> Bool # bitSizeMaybe :: Ior a -> Maybe Int # shiftL :: Ior a -> Int -> Ior a # unsafeShiftL :: Ior a -> Int -> Ior a # shiftR :: Ior a -> Int -> Ior a # unsafeShiftR :: Ior a -> Int -> Ior a # rotateL :: Ior a -> Int -> Ior a # | |
| Bits a => Bits (Xor a) | |
Defined in Data.Bits Methods (.&.) :: Xor a -> Xor a -> Xor a # (.|.) :: Xor a -> Xor a -> Xor a # xor :: Xor a -> Xor a -> Xor a # complement :: Xor a -> Xor a # shift :: Xor a -> Int -> Xor a # rotate :: Xor a -> Int -> Xor a # setBit :: Xor a -> Int -> Xor a # clearBit :: Xor a -> Int -> Xor a # complementBit :: Xor a -> Int -> Xor a # testBit :: Xor a -> Int -> Bool # bitSizeMaybe :: Xor a -> Maybe Int # shiftL :: Xor a -> Int -> Xor a # unsafeShiftL :: Xor a -> Int -> Xor a # shiftR :: Xor a -> Int -> Xor a # unsafeShiftR :: Xor a -> Int -> Xor a # rotateL :: Xor a -> Int -> Xor a # | |
| Bits a => Bits (Identity a) | |
Defined in Data.Functor.Identity Methods (.&.) :: Identity a -> Identity a -> Identity a # (.|.) :: Identity a -> Identity a -> Identity a # xor :: Identity a -> Identity a -> Identity a # complement :: Identity a -> Identity a # shift :: Identity a -> Int -> Identity a # rotate :: Identity a -> Int -> Identity a # setBit :: Identity a -> Int -> Identity a # clearBit :: Identity a -> Int -> Identity a # complementBit :: Identity a -> Int -> Identity a # testBit :: Identity a -> Int -> Bool # bitSizeMaybe :: Identity a -> Maybe Int # bitSize :: Identity a -> Int # isSigned :: Identity a -> Bool # shiftL :: Identity a -> Int -> Identity a # unsafeShiftL :: Identity a -> Int -> Identity a # shiftR :: Identity a -> Int -> Identity a # unsafeShiftR :: Identity a -> Int -> Identity a # rotateL :: Identity a -> Int -> Identity a # | |
| Bits a => Bits (Down a) | |
Defined in Data.Ord Methods (.&.) :: Down a -> Down a -> Down a # (.|.) :: Down a -> Down a -> Down a # xor :: Down a -> Down a -> Down a # complement :: Down a -> Down a # shift :: Down a -> Int -> Down a # rotate :: Down a -> Int -> Down a # setBit :: Down a -> Int -> Down a # clearBit :: Down a -> Int -> Down a # complementBit :: Down a -> Int -> Down a # testBit :: Down a -> Int -> Bool # bitSizeMaybe :: Down a -> Maybe Int # shiftL :: Down a -> Int -> Down a # unsafeShiftL :: Down a -> Int -> Down a # shiftR :: Down a -> Int -> Down a # unsafeShiftR :: Down a -> Int -> Down a # rotateL :: Down a -> Int -> Down a # | |
| Bits a => Bits (Const a b) | |
Defined in Data.Functor.Const Methods (.&.) :: Const a b -> Const a b -> Const a b # (.|.) :: Const a b -> Const a b -> Const a b # xor :: Const a b -> Const a b -> Const a b # complement :: Const a b -> Const a b # shift :: Const a b -> Int -> Const a b # rotate :: Const a b -> Int -> Const a b # setBit :: Const a b -> Int -> Const a b # clearBit :: Const a b -> Int -> Const a b # complementBit :: Const a b -> Int -> Const a b # testBit :: Const a b -> Int -> Bool # bitSizeMaybe :: Const a b -> Maybe Int # isSigned :: Const a b -> Bool # shiftL :: Const a b -> Int -> Const a b # unsafeShiftL :: Const a b -> Int -> Const a b # shiftR :: Const a b -> Int -> Const a b # unsafeShiftR :: Const a b -> Int -> Const a b # rotateL :: Const a b -> Int -> Const a b # | |
class Bits b => FiniteBits b where #
Minimal complete definition
Instances
| FiniteBits CBool | |
Defined in Foreign.C.Types Methods finiteBitSize :: CBool -> Int # countLeadingZeros :: CBool -> Int # countTrailingZeros :: CBool -> Int # | |
| FiniteBits CChar | |
Defined in Foreign.C.Types Methods finiteBitSize :: CChar -> Int # countLeadingZeros :: CChar -> Int # countTrailingZeros :: CChar -> Int # | |
| FiniteBits CInt | |
Defined in Foreign.C.Types Methods finiteBitSize :: CInt -> Int # countLeadingZeros :: CInt -> Int # countTrailingZeros :: CInt -> Int # | |
| FiniteBits CIntMax | |
Defined in Foreign.C.Types Methods finiteBitSize :: CIntMax -> Int # countLeadingZeros :: CIntMax -> Int # countTrailingZeros :: CIntMax -> Int # | |
| FiniteBits CIntPtr | |
Defined in Foreign.C.Types Methods finiteBitSize :: CIntPtr -> Int # countLeadingZeros :: CIntPtr -> Int # countTrailingZeros :: CIntPtr -> Int # | |
| FiniteBits CLLong | |
Defined in Foreign.C.Types Methods finiteBitSize :: CLLong -> Int # countLeadingZeros :: CLLong -> Int # countTrailingZeros :: CLLong -> Int # | |
| FiniteBits CLong | |
Defined in Foreign.C.Types Methods finiteBitSize :: CLong -> Int # countLeadingZeros :: CLong -> Int # countTrailingZeros :: CLong -> Int # | |
| FiniteBits CPtrdiff | |
Defined in Foreign.C.Types Methods finiteBitSize :: CPtrdiff -> Int # countLeadingZeros :: CPtrdiff -> Int # countTrailingZeros :: CPtrdiff -> Int # | |
| FiniteBits CSChar | |
Defined in Foreign.C.Types Methods finiteBitSize :: CSChar -> Int # countLeadingZeros :: CSChar -> Int # countTrailingZeros :: CSChar -> Int # | |
| FiniteBits CShort | |
Defined in Foreign.C.Types Methods finiteBitSize :: CShort -> Int # countLeadingZeros :: CShort -> Int # countTrailingZeros :: CShort -> Int # | |
| FiniteBits CSigAtomic | |
Defined in Foreign.C.Types Methods finiteBitSize :: CSigAtomic -> Int # countLeadingZeros :: CSigAtomic -> Int # countTrailingZeros :: CSigAtomic -> Int # | |
| FiniteBits CSize | |
Defined in Foreign.C.Types Methods finiteBitSize :: CSize -> Int # countLeadingZeros :: CSize -> Int # countTrailingZeros :: CSize -> Int # | |
| FiniteBits CUChar | |
Defined in Foreign.C.Types Methods finiteBitSize :: CUChar -> Int # countLeadingZeros :: CUChar -> Int # countTrailingZeros :: CUChar -> Int # | |
| FiniteBits CUInt | |
Defined in Foreign.C.Types Methods finiteBitSize :: CUInt -> Int # countLeadingZeros :: CUInt -> Int # countTrailingZeros :: CUInt -> Int # | |
| FiniteBits CUIntMax | |
Defined in Foreign.C.Types Methods finiteBitSize :: CUIntMax -> Int # countLeadingZeros :: CUIntMax -> Int # countTrailingZeros :: CUIntMax -> Int # | |
| FiniteBits CUIntPtr | |
Defined in Foreign.C.Types Methods finiteBitSize :: CUIntPtr -> Int # countLeadingZeros :: CUIntPtr -> Int # countTrailingZeros :: CUIntPtr -> Int # | |
| FiniteBits CULLong | |
Defined in Foreign.C.Types Methods finiteBitSize :: CULLong -> Int # countLeadingZeros :: CULLong -> Int # countTrailingZeros :: CULLong -> Int # | |
| FiniteBits CULong | |
Defined in Foreign.C.Types Methods finiteBitSize :: CULong -> Int # countLeadingZeros :: CULong -> Int # countTrailingZeros :: CULong -> Int # | |
| FiniteBits CUShort | |
Defined in Foreign.C.Types Methods finiteBitSize :: CUShort -> Int # countLeadingZeros :: CUShort -> Int # countTrailingZeros :: CUShort -> Int # | |
| FiniteBits CWchar | |
Defined in Foreign.C.Types Methods finiteBitSize :: CWchar -> Int # countLeadingZeros :: CWchar -> Int # countTrailingZeros :: CWchar -> Int # | |
| FiniteBits IntPtr | |
Defined in Foreign.Ptr Methods finiteBitSize :: IntPtr -> Int # countLeadingZeros :: IntPtr -> Int # countTrailingZeros :: IntPtr -> Int # | |
| FiniteBits WordPtr | |
Defined in Foreign.Ptr Methods finiteBitSize :: WordPtr -> Int # countLeadingZeros :: WordPtr -> Int # countTrailingZeros :: WordPtr -> Int # | |
| FiniteBits Int16 | |
Defined in GHC.Int Methods finiteBitSize :: Int16 -> Int # countLeadingZeros :: Int16 -> Int # countTrailingZeros :: Int16 -> Int # | |
| FiniteBits Int32 | |
Defined in GHC.Int Methods finiteBitSize :: Int32 -> Int # countLeadingZeros :: Int32 -> Int # countTrailingZeros :: Int32 -> Int # | |
| FiniteBits Int64 | |
Defined in GHC.Int Methods finiteBitSize :: Int64 -> Int # countLeadingZeros :: Int64 -> Int # countTrailingZeros :: Int64 -> Int # | |
| FiniteBits Int8 | |
Defined in GHC.Int Methods finiteBitSize :: Int8 -> Int # countLeadingZeros :: Int8 -> Int # countTrailingZeros :: Int8 -> Int # | |
| FiniteBits Word16 | |
Defined in GHC.Word Methods finiteBitSize :: Word16 -> Int # countLeadingZeros :: Word16 -> Int # countTrailingZeros :: Word16 -> Int # | |
| FiniteBits Word32 | |
Defined in GHC.Word Methods finiteBitSize :: Word32 -> Int # countLeadingZeros :: Word32 -> Int # countTrailingZeros :: Word32 -> Int # | |
| FiniteBits Word64 | |
Defined in GHC.Word Methods finiteBitSize :: Word64 -> Int # countLeadingZeros :: Word64 -> Int # countTrailingZeros :: Word64 -> Int # | |
| FiniteBits Word8 | |
Defined in GHC.Word Methods finiteBitSize :: Word8 -> Int # countLeadingZeros :: Word8 -> Int # countTrailingZeros :: Word8 -> Int # | |
| FiniteBits CBlkCnt | |
Defined in System.Posix.Types Methods finiteBitSize :: CBlkCnt -> Int # countLeadingZeros :: CBlkCnt -> Int # countTrailingZeros :: CBlkCnt -> Int # | |
| FiniteBits CBlkSize | |
Defined in System.Posix.Types Methods finiteBitSize :: CBlkSize -> Int # countLeadingZeros :: CBlkSize -> Int # countTrailingZeros :: CBlkSize -> Int # | |
| FiniteBits CClockId | |
Defined in System.Posix.Types Methods finiteBitSize :: CClockId -> Int # countLeadingZeros :: CClockId -> Int # countTrailingZeros :: CClockId -> Int # | |
| FiniteBits CDev | |
Defined in System.Posix.Types Methods finiteBitSize :: CDev -> Int # countLeadingZeros :: CDev -> Int # countTrailingZeros :: CDev -> Int # | |
| FiniteBits CFsBlkCnt | |
Defined in System.Posix.Types Methods finiteBitSize :: CFsBlkCnt -> Int # countLeadingZeros :: CFsBlkCnt -> Int # countTrailingZeros :: CFsBlkCnt -> Int # | |
| FiniteBits CFsFilCnt | |
Defined in System.Posix.Types Methods finiteBitSize :: CFsFilCnt -> Int # countLeadingZeros :: CFsFilCnt -> Int # countTrailingZeros :: CFsFilCnt -> Int # | |
| FiniteBits CGid | |
Defined in System.Posix.Types Methods finiteBitSize :: CGid -> Int # countLeadingZeros :: CGid -> Int # countTrailingZeros :: CGid -> Int # | |
| FiniteBits CId | |
Defined in System.Posix.Types Methods finiteBitSize :: CId -> Int # countLeadingZeros :: CId -> Int # countTrailingZeros :: CId -> Int # | |
| FiniteBits CIno | |
Defined in System.Posix.Types Methods finiteBitSize :: CIno -> Int # countLeadingZeros :: CIno -> Int # countTrailingZeros :: CIno -> Int # | |
| FiniteBits CKey | |
Defined in System.Posix.Types Methods finiteBitSize :: CKey -> Int # countLeadingZeros :: CKey -> Int # countTrailingZeros :: CKey -> Int # | |
| FiniteBits CMode | |
Defined in System.Posix.Types Methods finiteBitSize :: CMode -> Int # countLeadingZeros :: CMode -> Int # countTrailingZeros :: CMode -> Int # | |
| FiniteBits CNfds | |
Defined in System.Posix.Types Methods finiteBitSize :: CNfds -> Int # countLeadingZeros :: CNfds -> Int # countTrailingZeros :: CNfds -> Int # | |
| FiniteBits CNlink | |
Defined in System.Posix.Types Methods finiteBitSize :: CNlink -> Int # countLeadingZeros :: CNlink -> Int # countTrailingZeros :: CNlink -> Int # | |
| FiniteBits COff | |
Defined in System.Posix.Types Methods finiteBitSize :: COff -> Int # countLeadingZeros :: COff -> Int # countTrailingZeros :: COff -> Int # | |
| FiniteBits CPid | |
Defined in System.Posix.Types Methods finiteBitSize :: CPid -> Int # countLeadingZeros :: CPid -> Int # countTrailingZeros :: CPid -> Int # | |
| FiniteBits CRLim | |
Defined in System.Posix.Types Methods finiteBitSize :: CRLim -> Int # countLeadingZeros :: CRLim -> Int # countTrailingZeros :: CRLim -> Int # | |
| FiniteBits CSocklen | |
Defined in System.Posix.Types Methods finiteBitSize :: CSocklen -> Int # countLeadingZeros :: CSocklen -> Int # countTrailingZeros :: CSocklen -> Int # | |
| FiniteBits CSsize | |
Defined in System.Posix.Types Methods finiteBitSize :: CSsize -> Int # countLeadingZeros :: CSsize -> Int # countTrailingZeros :: CSsize -> Int # | |
| FiniteBits CTcflag | |
Defined in System.Posix.Types Methods finiteBitSize :: CTcflag -> Int # countLeadingZeros :: CTcflag -> Int # countTrailingZeros :: CTcflag -> Int # | |
| FiniteBits CUid | |
Defined in System.Posix.Types Methods finiteBitSize :: CUid -> Int # countLeadingZeros :: CUid -> Int # countTrailingZeros :: CUid -> Int # | |
| FiniteBits Fd | |
Defined in System.Posix.Types Methods finiteBitSize :: Fd -> Int # countLeadingZeros :: Fd -> Int # countTrailingZeros :: Fd -> Int # | |
| FiniteBits Bool | |
Defined in GHC.Bits Methods finiteBitSize :: Bool -> Int # countLeadingZeros :: Bool -> Int # countTrailingZeros :: Bool -> Int # | |
| FiniteBits Int | |
Defined in GHC.Bits Methods finiteBitSize :: Int -> Int # countLeadingZeros :: Int -> Int # countTrailingZeros :: Int -> Int # | |
| FiniteBits Word | |
Defined in GHC.Bits Methods finiteBitSize :: Word -> Int # countLeadingZeros :: Word -> Int # countTrailingZeros :: Word -> Int # | |
| FiniteBits a => FiniteBits (And a) | |
Defined in Data.Bits Methods finiteBitSize :: And a -> Int # countLeadingZeros :: And a -> Int # countTrailingZeros :: And a -> Int # | |
| FiniteBits a => FiniteBits (Iff a) | |
Defined in Data.Bits Methods finiteBitSize :: Iff a -> Int # countLeadingZeros :: Iff a -> Int # countTrailingZeros :: Iff a -> Int # | |
| FiniteBits a => FiniteBits (Ior a) | |
Defined in Data.Bits Methods finiteBitSize :: Ior a -> Int # countLeadingZeros :: Ior a -> Int # countTrailingZeros :: Ior a -> Int # | |
| FiniteBits a => FiniteBits (Xor a) | |
Defined in Data.Bits Methods finiteBitSize :: Xor a -> Int # countLeadingZeros :: Xor a -> Int # countTrailingZeros :: Xor a -> Int # | |
| FiniteBits a => FiniteBits (Identity a) | |
Defined in Data.Functor.Identity Methods finiteBitSize :: Identity a -> Int # countLeadingZeros :: Identity a -> Int # countTrailingZeros :: Identity a -> Int # | |
| FiniteBits a => FiniteBits (Down a) | |
Defined in Data.Ord Methods finiteBitSize :: Down a -> Int # countLeadingZeros :: Down a -> Int # countTrailingZeros :: Down a -> Int # | |
| FiniteBits a => FiniteBits (Const a b) | |
Defined in Data.Functor.Const Methods finiteBitSize :: Const a b -> Int # countLeadingZeros :: Const a b -> Int # countTrailingZeros :: Const a b -> Int # | |
bitDefault :: (Bits a, Num a) => Int -> a #
popCountDefault :: (Bits a, Num a) => a -> Int #
testBitDefault :: (Bits a, Num a) => a -> Int -> Bool #
toIntegralSized :: (Integral a, Integral b, Bits a, Bits b) => a -> Maybe b #
Instances
| FiniteBits a => Monoid (And a) | |
| Bits a => Semigroup (And a) | |
| Bits a => Bits (And a) | |
Defined in Data.Bits Methods (.&.) :: And a -> And a -> And a # (.|.) :: And a -> And a -> And a # xor :: And a -> And a -> And a # complement :: And a -> And a # shift :: And a -> Int -> And a # rotate :: And a -> Int -> And a # setBit :: And a -> Int -> And a # clearBit :: And a -> Int -> And a # complementBit :: And a -> Int -> And a # testBit :: And a -> Int -> Bool # bitSizeMaybe :: And a -> Maybe Int # shiftL :: And a -> Int -> And a # unsafeShiftL :: And a -> Int -> And a # shiftR :: And a -> Int -> And a # unsafeShiftR :: And a -> Int -> And a # rotateL :: And a -> Int -> And a # | |
| FiniteBits a => FiniteBits (And a) | |
Defined in Data.Bits Methods finiteBitSize :: And a -> Int # countLeadingZeros :: And a -> Int # countTrailingZeros :: And a -> Int # | |
| Bounded a => Bounded (And a) | |
| Enum a => Enum (And a) | |
| Read a => Read (And a) | |
| Show a => Show (And a) | |
| Eq a => Eq (And a) | |
Instances
| FiniteBits a => Monoid (Iff a) | |
| FiniteBits a => Semigroup (Iff a) | |
| Bits a => Bits (Iff a) | |
Defined in Data.Bits Methods (.&.) :: Iff a -> Iff a -> Iff a # (.|.) :: Iff a -> Iff a -> Iff a # xor :: Iff a -> Iff a -> Iff a # complement :: Iff a -> Iff a # shift :: Iff a -> Int -> Iff a # rotate :: Iff a -> Int -> Iff a # setBit :: Iff a -> Int -> Iff a # clearBit :: Iff a -> Int -> Iff a # complementBit :: Iff a -> Int -> Iff a # testBit :: Iff a -> Int -> Bool # bitSizeMaybe :: Iff a -> Maybe Int # shiftL :: Iff a -> Int -> Iff a # unsafeShiftL :: Iff a -> Int -> Iff a # shiftR :: Iff a -> Int -> Iff a # unsafeShiftR :: Iff a -> Int -> Iff a # rotateL :: Iff a -> Int -> Iff a # | |
| FiniteBits a => FiniteBits (Iff a) | |
Defined in Data.Bits Methods finiteBitSize :: Iff a -> Int # countLeadingZeros :: Iff a -> Int # countTrailingZeros :: Iff a -> Int # | |
| Bounded a => Bounded (Iff a) | |
| Enum a => Enum (Iff a) | |
| Read a => Read (Iff a) | |
| Show a => Show (Iff a) | |
| Eq a => Eq (Iff a) | |
Instances
| Bits a => Monoid (Ior a) | |
| Bits a => Semigroup (Ior a) | |
| Bits a => Bits (Ior a) | |
Defined in Data.Bits Methods (.&.) :: Ior a -> Ior a -> Ior a # (.|.) :: Ior a -> Ior a -> Ior a # xor :: Ior a -> Ior a -> Ior a # complement :: Ior a -> Ior a # shift :: Ior a -> Int -> Ior a # rotate :: Ior a -> Int -> Ior a # setBit :: Ior a -> Int -> Ior a # clearBit :: Ior a -> Int -> Ior a # complementBit :: Ior a -> Int -> Ior a # testBit :: Ior a -> Int -> Bool # bitSizeMaybe :: Ior a -> Maybe Int # shiftL :: Ior a -> Int -> Ior a # unsafeShiftL :: Ior a -> Int -> Ior a # shiftR :: Ior a -> Int -> Ior a # unsafeShiftR :: Ior a -> Int -> Ior a # rotateL :: Ior a -> Int -> Ior a # | |
| FiniteBits a => FiniteBits (Ior a) | |
Defined in Data.Bits Methods finiteBitSize :: Ior a -> Int # countLeadingZeros :: Ior a -> Int # countTrailingZeros :: Ior a -> Int # | |
| Bounded a => Bounded (Ior a) | |
| Enum a => Enum (Ior a) | |
| Read a => Read (Ior a) | |
| Show a => Show (Ior a) | |
| Eq a => Eq (Ior a) | |
Instances
| Bits a => Monoid (Xor a) | |
| Bits a => Semigroup (Xor a) | |
| Bits a => Bits (Xor a) | |
Defined in Data.Bits Methods (.&.) :: Xor a -> Xor a -> Xor a # (.|.) :: Xor a -> Xor a -> Xor a # xor :: Xor a -> Xor a -> Xor a # complement :: Xor a -> Xor a # shift :: Xor a -> Int -> Xor a # rotate :: Xor a -> Int -> Xor a # setBit :: Xor a -> Int -> Xor a # clearBit :: Xor a -> Int -> Xor a # complementBit :: Xor a -> Int -> Xor a # testBit :: Xor a -> Int -> Bool # bitSizeMaybe :: Xor a -> Maybe Int # shiftL :: Xor a -> Int -> Xor a # unsafeShiftL :: Xor a -> Int -> Xor a # shiftR :: Xor a -> Int -> Xor a # unsafeShiftR :: Xor a -> Int -> Xor a # rotateL :: Xor a -> Int -> Xor a # | |
| FiniteBits a => FiniteBits (Xor a) | |
Defined in Data.Bits Methods finiteBitSize :: Xor a -> Int # countLeadingZeros :: Xor a -> Int # countTrailingZeros :: Xor a -> Int # | |
| Bounded a => Bounded (Xor a) | |
| Enum a => Enum (Xor a) | |
| Read a => Read (Xor a) | |
| Show a => Show (Xor a) | |
| Eq a => Eq (Xor a) | |
oneBits :: FiniteBits a => a #
Deprecated: Use corresponding versions without underscore
An alias for complement.
Conversion
fromBits :: [Bool] -> BV Source #
Create a bit-vector from a big-endian list of bits.
>>>fromBits [False, False, True][3]1
toBits :: BV -> [Bool] Source #
Create a big-endian list of bits from a bit-vector.
>>>toBits [4]11[True, False, True, True]