bv-0.5: Bit-vector arithmetic library
Copyright(c) 2012-2016 Iago Abal
(c) 2012-2013 HASLab & University of Minho
LicenseBSD3
MaintainerIago Abal <mail@iagoabal.eu>
Safe HaskellNone
LanguageHaskell98

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

Bit-vectors

type BitVector = BV Source #

An alias for BV.

data BV Source #

Big-endian pseudo size-polymorphic bit-vectors.

Instances

Instances details
Data BV Source # 
Instance details

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

toConstr :: BV -> Constr

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 # 
Instance details

Defined in Data.BitVector

Methods

mempty :: BV

mappend :: BV -> BV -> BV

mconcat :: [BV] -> BV

Semigroup BV Source # 
Instance details

Defined in Data.BitVector

Methods

(<>) :: BV -> BV -> BV

sconcat :: NonEmpty BV -> BV

stimes :: Integral b => b -> BV -> BV

Bits BV Source # 
Instance details

Defined in Data.BitVector

Methods

(.&.) :: BV -> BV -> BV #

(.|.) :: BV -> BV -> BV #

xor :: BV -> BV -> BV #

complement :: BV -> BV #

shift :: BV -> Int -> BV #

rotate :: BV -> Int -> BV #

zeroBits :: BV #

bit :: Int -> BV #

setBit :: BV -> Int -> BV #

clearBit :: BV -> Int -> BV #

complementBit :: BV -> Int -> BV #

testBit :: BV -> Int -> Bool #

bitSizeMaybe :: BV -> Maybe Int #

bitSize :: BV -> Int #

isSigned :: BV -> Bool #

shiftL :: BV -> Int -> BV #

unsafeShiftL :: BV -> Int -> BV #

shiftR :: BV -> Int -> BV #

unsafeShiftR :: BV -> Int -> BV #

rotateL :: BV -> Int -> BV #

rotateR :: BV -> Int -> BV #

popCount :: BV -> Int #

Enum BV Source # 
Instance details

Defined in Data.BitVector

Methods

succ :: BV -> BV

pred :: BV -> BV

toEnum :: Int -> BV

fromEnum :: BV -> Int

enumFrom :: BV -> [BV]

enumFromThen :: BV -> BV -> [BV]

enumFromTo :: BV -> BV -> [BV]

enumFromThenTo :: BV -> BV -> BV -> [BV]

Num BV Source # 
Instance details

Defined in Data.BitVector

Methods

(+) :: BV -> BV -> BV

(-) :: BV -> BV -> BV

(*) :: BV -> BV -> BV

negate :: BV -> BV

abs :: BV -> BV

signum :: BV -> BV

fromInteger :: Integer -> BV

Read BV Source # 
Instance details

Defined in Data.BitVector

Methods

readsPrec :: Int -> ReadS BV

readList :: ReadS [BV]

readPrec :: ReadPrec BV

readListPrec :: ReadPrec [BV]

Integral BV Source # 
Instance details

Defined in Data.BitVector

Methods

quot :: BV -> BV -> BV

rem :: BV -> BV -> BV

div :: BV -> BV -> BV

mod :: BV -> BV -> BV

quotRem :: BV -> BV -> (BV, BV)

divMod :: BV -> BV -> (BV, BV)

toInteger :: BV -> Integer

Real BV Source # 
Instance details

Defined in Data.BitVector

Methods

toRational :: BV -> Rational

Show BV Source # 
Instance details

Defined in Data.BitVector

Methods

showsPrec :: Int -> BV -> ShowS

show :: BV -> String

showList :: [BV] -> ShowS

Eq BV Source # 
Instance details

Defined in Data.BitVector

Methods

(==) :: BV -> BV -> Bool

(/=) :: BV -> BV -> Bool

Ord BV Source # 
Instance details

Defined in Data.BitVector

Methods

compare :: BV -> BV -> Ordering

(<) :: BV -> BV -> Bool

(<=) :: BV -> BV -> Bool

(>) :: BV -> BV -> Bool

(>=) :: BV -> BV -> Bool

max :: BV -> BV -> BV

min :: BV -> BV -> BV

size :: BV -> Int Source #

The size of a bit-vector.

width :: BV -> Int Source #

An alias for size.

nat :: BV -> Integer Source #

The value of a bit-vector, as a natural number.

uint :: BV -> Integer Source #

An alias for nat.

int :: BV -> Integer Source #

2's complement value of a bit-vector.

>>> int [2]3
-1
>>> int [4]12
-4

Creation

nil :: BV Source #

The empty bit-vector, ie. [0]0.

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 ]

ones :: Int -> BV Source #

Create a mask of ones.

zeros :: Int -> BV Source #

Create a mask of zeros.

Test

isNat :: BV -> Bool Source #

Test if the signed value of a bit-vector is a natural number.

isPos :: BV -> Bool Source #

Test if the signed value of a bit-vector is a positive number.

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]k
False
>>> [n]k ==. [n]k
True

(/=.) :: BV -> BV -> Bool infix 4 Source #

Fixed-size inequality.

The negated version of ==..

(<.) :: BV -> BV -> Bool infix 4 Source #

Fixed-size less-than.

(<=.) :: BV -> BV -> Bool infix 4 Source #

Fixed-size less-than-or-equals.

(>.) :: BV -> BV -> Bool infix 4 Source #

Fixed-size greater-than.

(>=.) :: BV -> BV -> Bool infix 4 Source #

Fixed-size greater-than-or-equals.

slt :: BV -> BV -> Bool infix 4 Source #

Fixed-size signed less-than.

sle :: BV -> BV -> Bool infix 4 Source #

Fixed-size signed less-than-or-equals.

sgt :: BV -> BV -> Bool infix 4 Source #

Fixed-size signed greater-than.

sge :: BV -> BV -> Bool infix 4 Source #

Fixed-size signed greater-than-or-equals.

Indexing

(@.) :: Integral ix => BV -> ix -> Bool infixl 9 Source #

Bit indexing.

u @. i stands for the i-th bit of u.

>>> [4]2 @. 0
False
>>> [4]2 @. 1
True

index :: Integral ix => ix -> BV -> Bool Source #

index i a == a @. i

(@@) :: 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

extract :: Integral ix => ix -> ix -> BV -> BV Source #

extract j i a == a @@ (j,i)

(@:) :: 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 !. 0
False

least :: Integral ix => ix -> BV -> BV Source #

Take least significant bits.

least m u == u @@ (m-1,0)

most :: Integral ix => ix -> BV -> BV Source #

Take most significant bits.

most m u == u @@ (n-1,n-m)

msb :: BV -> Bool Source #

Most significant bit.

msb u == u !. 0

lsb :: BV -> Bool Source #

Least significant bit.

lsb u == u @. 0

msb1 :: BV -> Int Source #

Most significant 1-bit.

Pre: input must be non-zero.

>>> msb1 [4]2
1
>>> msb1 [4]4
2

lsb1 :: BV -> Int Source #

Least significant 1-bit.

Pre: input must be non-zero.

>>> msb1 [4]3
0
>>> msb1 [4]6
1

Arithmetic

signumI :: Integral a => BV -> a Source #

Bit-vector signum as an Integral.

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 !!!

sdiv :: BV -> BV -> BV Source #

2's complement signed division.

srem :: BV -> BV -> BV Source #

2's complement signed remainder (sign follows dividend).

smod :: BV -> BV -> BV Source #

2's complement signed remainder (sign follows divisor).

lg2 :: BV -> BV Source #

Ceiling logarithm base 2.

Pre: input bit-vector must be non-zero.

List-like operations

(#) :: BV -> BV -> BV infixr 5 Source #

Concatenation of two bit-vectors.

cat :: BV -> BV -> BV Source #

Deprecated: Use (#) or append instead

Concatenation of two bit-vectors.

append :: BV -> BV -> BV Source #

Concatenation of two bit-vectors.

concat :: [BV] -> BV Source #

An alias for join.

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

reverse :: BV -> BV Source #

reverse == fromBits . reverse . toBits

reverse_ :: BV -> BV Source #

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

and :: [BV] -> BV Source #

Conjunction.

Essentially, and == foldr1 (.&.).

Returns [1]1 if the input list is empty.

and_ :: [BV] -> BV Source #

Deprecated: Use corresponding versions without underscore

Conjunction.

Essentially, and == foldr1 (.&.).

Returns [1]1 if the input list is empty.

or :: [BV] -> BV Source #

Disjunction.

Essentially, or == foldr1 (.|.).

Returns [1]0 if the input list is empty.

or_ :: [BV] -> BV Source #

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]

join :: [BV] -> BV Source #

Concatenate a (possibly empty) list of bit-vectors.

>>> join [[2]3,[2]2]
[4]14

Bitwise operations

class Eq a => Bits a where #

Methods

(.&.) :: 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 #

Instances

Instances details
Bits CBool 
Instance details

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 #

zeroBits :: CBool #

bit :: Int -> CBool #

setBit :: CBool -> Int -> CBool #

clearBit :: CBool -> Int -> CBool #

complementBit :: CBool -> Int -> CBool #

testBit :: CBool -> Int -> Bool #

bitSizeMaybe :: CBool -> Maybe Int #

bitSize :: CBool -> Int #

isSigned :: CBool -> Bool #

shiftL :: CBool -> Int -> CBool #

unsafeShiftL :: CBool -> Int -> CBool #

shiftR :: CBool -> Int -> CBool #

unsafeShiftR :: CBool -> Int -> CBool #

rotateL :: CBool -> Int -> CBool #

rotateR :: CBool -> Int -> CBool #

popCount :: CBool -> Int #

Bits CChar 
Instance details

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 #

zeroBits :: CChar #

bit :: Int -> CChar #

setBit :: CChar -> Int -> CChar #

clearBit :: CChar -> Int -> CChar #

complementBit :: CChar -> Int -> CChar #

testBit :: CChar -> Int -> Bool #

bitSizeMaybe :: CChar -> Maybe Int #

bitSize :: CChar -> Int #

isSigned :: CChar -> Bool #

shiftL :: CChar -> Int -> CChar #

unsafeShiftL :: CChar -> Int -> CChar #

shiftR :: CChar -> Int -> CChar #

unsafeShiftR :: CChar -> Int -> CChar #

rotateL :: CChar -> Int -> CChar #

rotateR :: CChar -> Int -> CChar #

popCount :: CChar -> Int #

Bits CInt 
Instance details

Defined in Foreign.C.Types

Methods

(.&.) :: CInt -> CInt -> CInt #

(.|.) :: CInt -> CInt -> CInt #

xor :: CInt -> CInt -> CInt #

complement :: CInt -> CInt #

shift :: CInt -> Int -> CInt #

rotate :: CInt -> Int -> CInt #

zeroBits :: CInt #

bit :: Int -> CInt #

setBit :: CInt -> Int -> CInt #

clearBit :: CInt -> Int -> CInt #

complementBit :: CInt -> Int -> CInt #

testBit :: CInt -> Int -> Bool #

bitSizeMaybe :: CInt -> Maybe Int #

bitSize :: CInt -> Int #

isSigned :: CInt -> Bool #

shiftL :: CInt -> Int -> CInt #

unsafeShiftL :: CInt -> Int -> CInt #

shiftR :: CInt -> Int -> CInt #

unsafeShiftR :: CInt -> Int -> CInt #

rotateL :: CInt -> Int -> CInt #

rotateR :: CInt -> Int -> CInt #

popCount :: CInt -> Int #

Bits CIntMax 
Instance details

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 #

zeroBits :: CIntMax #

bit :: Int -> CIntMax #

setBit :: CIntMax -> Int -> CIntMax #

clearBit :: CIntMax -> Int -> CIntMax #

complementBit :: CIntMax -> Int -> CIntMax #

testBit :: CIntMax -> Int -> Bool #

bitSizeMaybe :: CIntMax -> Maybe Int #

bitSize :: CIntMax -> Int #

isSigned :: CIntMax -> Bool #

shiftL :: CIntMax -> Int -> CIntMax #

unsafeShiftL :: CIntMax -> Int -> CIntMax #

shiftR :: CIntMax -> Int -> CIntMax #

unsafeShiftR :: CIntMax -> Int -> CIntMax #

rotateL :: CIntMax -> Int -> CIntMax #

rotateR :: CIntMax -> Int -> CIntMax #

popCount :: CIntMax -> Int #

Bits CIntPtr 
Instance details

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 #

zeroBits :: CIntPtr #

bit :: Int -> CIntPtr #

setBit :: CIntPtr -> Int -> CIntPtr #

clearBit :: CIntPtr -> Int -> CIntPtr #

complementBit :: CIntPtr -> Int -> CIntPtr #

testBit :: CIntPtr -> Int -> Bool #

bitSizeMaybe :: CIntPtr -> Maybe Int #

bitSize :: CIntPtr -> Int #

isSigned :: CIntPtr -> Bool #

shiftL :: CIntPtr -> Int -> CIntPtr #

unsafeShiftL :: CIntPtr -> Int -> CIntPtr #

shiftR :: CIntPtr -> Int -> CIntPtr #

unsafeShiftR :: CIntPtr -> Int -> CIntPtr #

rotateL :: CIntPtr -> Int -> CIntPtr #

rotateR :: CIntPtr -> Int -> CIntPtr #

popCount :: CIntPtr -> Int #

Bits CLLong 
Instance details

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 #

zeroBits :: CLLong #

bit :: Int -> CLLong #

setBit :: CLLong -> Int -> CLLong #

clearBit :: CLLong -> Int -> CLLong #

complementBit :: CLLong -> Int -> CLLong #

testBit :: CLLong -> Int -> Bool #

bitSizeMaybe :: CLLong -> Maybe Int #

bitSize :: CLLong -> Int #

isSigned :: CLLong -> Bool #

shiftL :: CLLong -> Int -> CLLong #

unsafeShiftL :: CLLong -> Int -> CLLong #

shiftR :: CLLong -> Int -> CLLong #

unsafeShiftR :: CLLong -> Int -> CLLong #

rotateL :: CLLong -> Int -> CLLong #

rotateR :: CLLong -> Int -> CLLong #

popCount :: CLLong -> Int #

Bits CLong 
Instance details

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 #

zeroBits :: CLong #

bit :: Int -> CLong #

setBit :: CLong -> Int -> CLong #

clearBit :: CLong -> Int -> CLong #

complementBit :: CLong -> Int -> CLong #

testBit :: CLong -> Int -> Bool #

bitSizeMaybe :: CLong -> Maybe Int #

bitSize :: CLong -> Int #

isSigned :: CLong -> Bool #

shiftL :: CLong -> Int -> CLong #

unsafeShiftL :: CLong -> Int -> CLong #

shiftR :: CLong -> Int -> CLong #

unsafeShiftR :: CLong -> Int -> CLong #

rotateL :: CLong -> Int -> CLong #

rotateR :: CLong -> Int -> CLong #

popCount :: CLong -> Int #

Bits CPtrdiff 
Instance details

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 #

zeroBits :: CPtrdiff #

bit :: Int -> CPtrdiff #

setBit :: CPtrdiff -> Int -> CPtrdiff #

clearBit :: CPtrdiff -> Int -> CPtrdiff #

complementBit :: CPtrdiff -> Int -> CPtrdiff #

testBit :: CPtrdiff -> Int -> Bool #

bitSizeMaybe :: CPtrdiff -> Maybe Int #

bitSize :: CPtrdiff -> Int #

isSigned :: CPtrdiff -> Bool #

shiftL :: CPtrdiff -> Int -> CPtrdiff #

unsafeShiftL :: CPtrdiff -> Int -> CPtrdiff #

shiftR :: CPtrdiff -> Int -> CPtrdiff #

unsafeShiftR :: CPtrdiff -> Int -> CPtrdiff #

rotateL :: CPtrdiff -> Int -> CPtrdiff #

rotateR :: CPtrdiff -> Int -> CPtrdiff #

popCount :: CPtrdiff -> Int #

Bits CSChar 
Instance details

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 #

zeroBits :: CSChar #

bit :: Int -> CSChar #

setBit :: CSChar -> Int -> CSChar #

clearBit :: CSChar -> Int -> CSChar #

complementBit :: CSChar -> Int -> CSChar #

testBit :: CSChar -> Int -> Bool #

bitSizeMaybe :: CSChar -> Maybe Int #

bitSize :: CSChar -> Int #

isSigned :: CSChar -> Bool #

shiftL :: CSChar -> Int -> CSChar #

unsafeShiftL :: CSChar -> Int -> CSChar #

shiftR :: CSChar -> Int -> CSChar #

unsafeShiftR :: CSChar -> Int -> CSChar #

rotateL :: CSChar -> Int -> CSChar #

rotateR :: CSChar -> Int -> CSChar #

popCount :: CSChar -> Int #

Bits CShort 
Instance details

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 #

zeroBits :: CShort #

bit :: Int -> CShort #

setBit :: CShort -> Int -> CShort #

clearBit :: CShort -> Int -> CShort #

complementBit :: CShort -> Int -> CShort #

testBit :: CShort -> Int -> Bool #

bitSizeMaybe :: CShort -> Maybe Int #

bitSize :: CShort -> Int #

isSigned :: CShort -> Bool #

shiftL :: CShort -> Int -> CShort #

unsafeShiftL :: CShort -> Int -> CShort #

shiftR :: CShort -> Int -> CShort #

unsafeShiftR :: CShort -> Int -> CShort #

rotateL :: CShort -> Int -> CShort #

rotateR :: CShort -> Int -> CShort #

popCount :: CShort -> Int #

Bits CSigAtomic 
Instance details

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 #

zeroBits :: CSigAtomic #

bit :: 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 #

rotateR :: CSigAtomic -> Int -> CSigAtomic #

popCount :: CSigAtomic -> Int #

Bits CSize 
Instance details

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 #

zeroBits :: CSize #

bit :: Int -> CSize #

setBit :: CSize -> Int -> CSize #

clearBit :: CSize -> Int -> CSize #

complementBit :: CSize -> Int -> CSize #

testBit :: CSize -> Int -> Bool #

bitSizeMaybe :: CSize -> Maybe Int #

bitSize :: CSize -> Int #

isSigned :: CSize -> Bool #

shiftL :: CSize -> Int -> CSize #

unsafeShiftL :: CSize -> Int -> CSize #

shiftR :: CSize -> Int -> CSize #

unsafeShiftR :: CSize -> Int -> CSize #

rotateL :: CSize -> Int -> CSize #

rotateR :: CSize -> Int -> CSize #

popCount :: CSize -> Int #

Bits CUChar 
Instance details

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 #

zeroBits :: CUChar #

bit :: Int -> CUChar #

setBit :: CUChar -> Int -> CUChar #

clearBit :: CUChar -> Int -> CUChar #

complementBit :: CUChar -> Int -> CUChar #

testBit :: CUChar -> Int -> Bool #

bitSizeMaybe :: CUChar -> Maybe Int #

bitSize :: CUChar -> Int #

isSigned :: CUChar -> Bool #

shiftL :: CUChar -> Int -> CUChar #

unsafeShiftL :: CUChar -> Int -> CUChar #

shiftR :: CUChar -> Int -> CUChar #

unsafeShiftR :: CUChar -> Int -> CUChar #

rotateL :: CUChar -> Int -> CUChar #

rotateR :: CUChar -> Int -> CUChar #

popCount :: CUChar -> Int #

Bits CUInt 
Instance details

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 #

zeroBits :: CUInt #

bit :: Int -> CUInt #

setBit :: CUInt -> Int -> CUInt #

clearBit :: CUInt -> Int -> CUInt #

complementBit :: CUInt -> Int -> CUInt #

testBit :: CUInt -> Int -> Bool #

bitSizeMaybe :: CUInt -> Maybe Int #

bitSize :: CUInt -> Int #

isSigned :: CUInt -> Bool #

shiftL :: CUInt -> Int -> CUInt #

unsafeShiftL :: CUInt -> Int -> CUInt #

shiftR :: CUInt -> Int -> CUInt #

unsafeShiftR :: CUInt -> Int -> CUInt #

rotateL :: CUInt -> Int -> CUInt #

rotateR :: CUInt -> Int -> CUInt #

popCount :: CUInt -> Int #

Bits CUIntMax 
Instance details

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 #

zeroBits :: CUIntMax #

bit :: Int -> CUIntMax #

setBit :: CUIntMax -> Int -> CUIntMax #

clearBit :: CUIntMax -> Int -> CUIntMax #

complementBit :: CUIntMax -> Int -> CUIntMax #

testBit :: CUIntMax -> Int -> Bool #

bitSizeMaybe :: CUIntMax -> Maybe Int #

bitSize :: CUIntMax -> Int #

isSigned :: CUIntMax -> Bool #

shiftL :: CUIntMax -> Int -> CUIntMax #

unsafeShiftL :: CUIntMax -> Int -> CUIntMax #

shiftR :: CUIntMax -> Int -> CUIntMax #

unsafeShiftR :: CUIntMax -> Int -> CUIntMax #

rotateL :: CUIntMax -> Int -> CUIntMax #

rotateR :: CUIntMax -> Int -> CUIntMax #

popCount :: CUIntMax -> Int #

Bits CUIntPtr 
Instance details

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 #

zeroBits :: CUIntPtr #

bit :: Int -> CUIntPtr #

setBit :: CUIntPtr -> Int -> CUIntPtr #

clearBit :: CUIntPtr -> Int -> CUIntPtr #

complementBit :: CUIntPtr -> Int -> CUIntPtr #

testBit :: CUIntPtr -> Int -> Bool #

bitSizeMaybe :: CUIntPtr -> Maybe Int #

bitSize :: CUIntPtr -> Int #

isSigned :: CUIntPtr -> Bool #

shiftL :: CUIntPtr -> Int -> CUIntPtr #

unsafeShiftL :: CUIntPtr -> Int -> CUIntPtr #

shiftR :: CUIntPtr -> Int -> CUIntPtr #

unsafeShiftR :: CUIntPtr -> Int -> CUIntPtr #

rotateL :: CUIntPtr -> Int -> CUIntPtr #

rotateR :: CUIntPtr -> Int -> CUIntPtr #

popCount :: CUIntPtr -> Int #

Bits CULLong 
Instance details

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 #

zeroBits :: CULLong #

bit :: Int -> CULLong #

setBit :: CULLong -> Int -> CULLong #

clearBit :: CULLong -> Int -> CULLong #

complementBit :: CULLong -> Int -> CULLong #

testBit :: CULLong -> Int -> Bool #

bitSizeMaybe :: CULLong -> Maybe Int #

bitSize :: CULLong -> Int #

isSigned :: CULLong -> Bool #

shiftL :: CULLong -> Int -> CULLong #

unsafeShiftL :: CULLong -> Int -> CULLong #

shiftR :: CULLong -> Int -> CULLong #

unsafeShiftR :: CULLong -> Int -> CULLong #

rotateL :: CULLong -> Int -> CULLong #

rotateR :: CULLong -> Int -> CULLong #

popCount :: CULLong -> Int #

Bits CULong 
Instance details

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 #

zeroBits :: CULong #

bit :: Int -> CULong #

setBit :: CULong -> Int -> CULong #

clearBit :: CULong -> Int -> CULong #

complementBit :: CULong -> Int -> CULong #

testBit :: CULong -> Int -> Bool #

bitSizeMaybe :: CULong -> Maybe Int #

bitSize :: CULong -> Int #

isSigned :: CULong -> Bool #

shiftL :: CULong -> Int -> CULong #

unsafeShiftL :: CULong -> Int -> CULong #

shiftR :: CULong -> Int -> CULong #

unsafeShiftR :: CULong -> Int -> CULong #

rotateL :: CULong -> Int -> CULong #

rotateR :: CULong -> Int -> CULong #

popCount :: CULong -> Int #

Bits CUShort 
Instance details

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 #

zeroBits :: CUShort #

bit :: Int -> CUShort #

setBit :: CUShort -> Int -> CUShort #

clearBit :: CUShort -> Int -> CUShort #

complementBit :: CUShort -> Int -> CUShort #

testBit :: CUShort -> Int -> Bool #

bitSizeMaybe :: CUShort -> Maybe Int #

bitSize :: CUShort -> Int #

isSigned :: CUShort -> Bool #

shiftL :: CUShort -> Int -> CUShort #

unsafeShiftL :: CUShort -> Int -> CUShort #

shiftR :: CUShort -> Int -> CUShort #

unsafeShiftR :: CUShort -> Int -> CUShort #

rotateL :: CUShort -> Int -> CUShort #

rotateR :: CUShort -> Int -> CUShort #

popCount :: CUShort -> Int #

Bits CWchar 
Instance details

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 #

zeroBits :: CWchar #

bit :: Int -> CWchar #

setBit :: CWchar -> Int -> CWchar #

clearBit :: CWchar -> Int -> CWchar #

complementBit :: CWchar -> Int -> CWchar #

testBit :: CWchar -> Int -> Bool #

bitSizeMaybe :: CWchar -> Maybe Int #

bitSize :: CWchar -> Int #

isSigned :: CWchar -> Bool #

shiftL :: CWchar -> Int -> CWchar #

unsafeShiftL :: CWchar -> Int -> CWchar #

shiftR :: CWchar -> Int -> CWchar #

unsafeShiftR :: CWchar -> Int -> CWchar #

rotateL :: CWchar -> Int -> CWchar #

rotateR :: CWchar -> Int -> CWchar #

popCount :: CWchar -> Int #

Bits IntPtr 
Instance details

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 #

zeroBits :: IntPtr #

bit :: Int -> IntPtr #

setBit :: IntPtr -> Int -> IntPtr #

clearBit :: IntPtr -> Int -> IntPtr #

complementBit :: IntPtr -> Int -> IntPtr #

testBit :: IntPtr -> Int -> Bool #

bitSizeMaybe :: IntPtr -> Maybe Int #

bitSize :: IntPtr -> Int #

isSigned :: IntPtr -> Bool #

shiftL :: IntPtr -> Int -> IntPtr #

unsafeShiftL :: IntPtr -> Int -> IntPtr #

shiftR :: IntPtr -> Int -> IntPtr #

unsafeShiftR :: IntPtr -> Int -> IntPtr #

rotateL :: IntPtr -> Int -> IntPtr #

rotateR :: IntPtr -> Int -> IntPtr #

popCount :: IntPtr -> Int #

Bits WordPtr 
Instance details

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 #

zeroBits :: WordPtr #

bit :: Int -> WordPtr #

setBit :: WordPtr -> Int -> WordPtr #

clearBit :: WordPtr -> Int -> WordPtr #

complementBit :: WordPtr -> Int -> WordPtr #

testBit :: WordPtr -> Int -> Bool #

bitSizeMaybe :: WordPtr -> Maybe Int #

bitSize :: WordPtr -> Int #

isSigned :: WordPtr -> Bool #

shiftL :: WordPtr -> Int -> WordPtr #

unsafeShiftL :: WordPtr -> Int -> WordPtr #

shiftR :: WordPtr -> Int -> WordPtr #

unsafeShiftR :: WordPtr -> Int -> WordPtr #

rotateL :: WordPtr -> Int -> WordPtr #

rotateR :: WordPtr -> Int -> WordPtr #

popCount :: WordPtr -> Int #

Bits Int16 
Instance details

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 #

zeroBits :: Int16 #

bit :: Int -> Int16 #

setBit :: Int16 -> Int -> Int16 #

clearBit :: Int16 -> Int -> Int16 #

complementBit :: Int16 -> Int -> Int16 #

testBit :: Int16 -> Int -> Bool #

bitSizeMaybe :: Int16 -> Maybe Int #

bitSize :: Int16 -> Int #

isSigned :: Int16 -> Bool #

shiftL :: Int16 -> Int -> Int16 #

unsafeShiftL :: Int16 -> Int -> Int16 #

shiftR :: Int16 -> Int -> Int16 #

unsafeShiftR :: Int16 -> Int -> Int16 #

rotateL :: Int16 -> Int -> Int16 #

rotateR :: Int16 -> Int -> Int16 #

popCount :: Int16 -> Int #

Bits Int32 
Instance details

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 #

zeroBits :: Int32 #

bit :: Int -> Int32 #

setBit :: Int32 -> Int -> Int32 #

clearBit :: Int32 -> Int -> Int32 #

complementBit :: Int32 -> Int -> Int32 #

testBit :: Int32 -> Int -> Bool #

bitSizeMaybe :: Int32 -> Maybe Int #

bitSize :: Int32 -> Int #

isSigned :: Int32 -> Bool #

shiftL :: Int32 -> Int -> Int32 #

unsafeShiftL :: Int32 -> Int -> Int32 #

shiftR :: Int32 -> Int -> Int32 #

unsafeShiftR :: Int32 -> Int -> Int32 #

rotateL :: Int32 -> Int -> Int32 #

rotateR :: Int32 -> Int -> Int32 #

popCount :: Int32 -> Int #

Bits Int64 
Instance details

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 #

zeroBits :: Int64 #

bit :: Int -> Int64 #

setBit :: Int64 -> Int -> Int64 #

clearBit :: Int64 -> Int -> Int64 #

complementBit :: Int64 -> Int -> Int64 #

testBit :: Int64 -> Int -> Bool #

bitSizeMaybe :: Int64 -> Maybe Int #

bitSize :: Int64 -> Int #

isSigned :: Int64 -> Bool #

shiftL :: Int64 -> Int -> Int64 #

unsafeShiftL :: Int64 -> Int -> Int64 #

shiftR :: Int64 -> Int -> Int64 #

unsafeShiftR :: Int64 -> Int -> Int64 #

rotateL :: Int64 -> Int -> Int64 #

rotateR :: Int64 -> Int -> Int64 #

popCount :: Int64 -> Int #

Bits Int8 
Instance details

Defined in GHC.Int

Methods

(.&.) :: Int8 -> Int8 -> Int8 #

(.|.) :: Int8 -> Int8 -> Int8 #

xor :: Int8 -> Int8 -> Int8 #

complement :: Int8 -> Int8 #

shift :: Int8 -> Int -> Int8 #

rotate :: Int8 -> Int -> Int8 #

zeroBits :: Int8 #

bit :: Int -> Int8 #

setBit :: Int8 -> Int -> Int8 #

clearBit :: Int8 -> Int -> Int8 #

complementBit :: Int8 -> Int -> Int8 #

testBit :: Int8 -> Int -> Bool #

bitSizeMaybe :: Int8 -> Maybe Int #

bitSize :: Int8 -> Int #

isSigned :: Int8 -> Bool #

shiftL :: Int8 -> Int -> Int8 #

unsafeShiftL :: Int8 -> Int -> Int8 #

shiftR :: Int8 -> Int -> Int8 #

unsafeShiftR :: Int8 -> Int -> Int8 #

rotateL :: Int8 -> Int -> Int8 #

rotateR :: Int8 -> Int -> Int8 #

popCount :: Int8 -> Int #

Bits Word16 
Instance details

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 #

zeroBits :: Word16 #

bit :: Int -> Word16 #

setBit :: Word16 -> Int -> Word16 #

clearBit :: Word16 -> Int -> Word16 #

complementBit :: Word16 -> Int -> Word16 #

testBit :: Word16 -> Int -> Bool #

bitSizeMaybe :: Word16 -> Maybe Int #

bitSize :: Word16 -> Int #

isSigned :: Word16 -> Bool #

shiftL :: Word16 -> Int -> Word16 #

unsafeShiftL :: Word16 -> Int -> Word16 #

shiftR :: Word16 -> Int -> Word16 #

unsafeShiftR :: Word16 -> Int -> Word16 #

rotateL :: Word16 -> Int -> Word16 #

rotateR :: Word16 -> Int -> Word16 #

popCount :: Word16 -> Int #

Bits Word32 
Instance details

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 #

zeroBits :: Word32 #

bit :: Int -> Word32 #

setBit :: Word32 -> Int -> Word32 #

clearBit :: Word32 -> Int -> Word32 #

complementBit :: Word32 -> Int -> Word32 #

testBit :: Word32 -> Int -> Bool #

bitSizeMaybe :: Word32 -> Maybe Int #

bitSize :: Word32 -> Int #

isSigned :: Word32 -> Bool #

shiftL :: Word32 -> Int -> Word32 #

unsafeShiftL :: Word32 -> Int -> Word32 #

shiftR :: Word32 -> Int -> Word32 #

unsafeShiftR :: Word32 -> Int -> Word32 #

rotateL :: Word32 -> Int -> Word32 #

rotateR :: Word32 -> Int -> Word32 #

popCount :: Word32 -> Int #

Bits Word64 
Instance details

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 #

zeroBits :: Word64 #

bit :: Int -> Word64 #

setBit :: Word64 -> Int -> Word64 #

clearBit :: Word64 -> Int -> Word64 #

complementBit :: Word64 -> Int -> Word64 #

testBit :: Word64 -> Int -> Bool #

bitSizeMaybe :: Word64 -> Maybe Int #

bitSize :: Word64 -> Int #

isSigned :: Word64 -> Bool #

shiftL :: Word64 -> Int -> Word64 #

unsafeShiftL :: Word64 -> Int -> Word64 #

shiftR :: Word64 -> Int -> Word64 #

unsafeShiftR :: Word64 -> Int -> Word64 #

rotateL :: Word64 -> Int -> Word64 #

rotateR :: Word64 -> Int -> Word64 #

popCount :: Word64 -> Int #

Bits Word8 
Instance details

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 #

zeroBits :: Word8 #

bit :: Int -> Word8 #

setBit :: Word8 -> Int -> Word8 #

clearBit :: Word8 -> Int -> Word8 #

complementBit :: Word8 -> Int -> Word8 #

testBit :: Word8 -> Int -> Bool #

bitSizeMaybe :: Word8 -> Maybe Int #

bitSize :: Word8 -> Int #

isSigned :: Word8 -> Bool #

shiftL :: Word8 -> Int -> Word8 #

unsafeShiftL :: Word8 -> Int -> Word8 #

shiftR :: Word8 -> Int -> Word8 #

unsafeShiftR :: Word8 -> Int -> Word8 #

rotateL :: Word8 -> Int -> Word8 #

rotateR :: Word8 -> Int -> Word8 #

popCount :: Word8 -> Int #

Bits CBlkCnt 
Instance details

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 #

zeroBits :: CBlkCnt #

bit :: Int -> CBlkCnt #

setBit :: CBlkCnt -> Int -> CBlkCnt #

clearBit :: CBlkCnt -> Int -> CBlkCnt #

complementBit :: CBlkCnt -> Int -> CBlkCnt #

testBit :: CBlkCnt -> Int -> Bool #

bitSizeMaybe :: CBlkCnt -> Maybe Int #

bitSize :: CBlkCnt -> Int #

isSigned :: CBlkCnt -> Bool #

shiftL :: CBlkCnt -> Int -> CBlkCnt #

unsafeShiftL :: CBlkCnt -> Int -> CBlkCnt #

shiftR :: CBlkCnt -> Int -> CBlkCnt #

unsafeShiftR :: CBlkCnt -> Int -> CBlkCnt #

rotateL :: CBlkCnt -> Int -> CBlkCnt #

rotateR :: CBlkCnt -> Int -> CBlkCnt #

popCount :: CBlkCnt -> Int #

Bits CBlkSize 
Instance details

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 #

zeroBits :: CBlkSize #

bit :: Int -> CBlkSize #

setBit :: CBlkSize -> Int -> CBlkSize #

clearBit :: CBlkSize -> Int -> CBlkSize #

complementBit :: CBlkSize -> Int -> CBlkSize #

testBit :: CBlkSize -> Int -> Bool #

bitSizeMaybe :: CBlkSize -> Maybe Int #

bitSize :: CBlkSize -> Int #

isSigned :: CBlkSize -> Bool #

shiftL :: CBlkSize -> Int -> CBlkSize #

unsafeShiftL :: CBlkSize -> Int -> CBlkSize #

shiftR :: CBlkSize -> Int -> CBlkSize #

unsafeShiftR :: CBlkSize -> Int -> CBlkSize #

rotateL :: CBlkSize -> Int -> CBlkSize #

rotateR :: CBlkSize -> Int -> CBlkSize #

popCount :: CBlkSize -> Int #

Bits CClockId 
Instance details

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 #

zeroBits :: CClockId #

bit :: Int -> CClockId #

setBit :: CClockId -> Int -> CClockId #

clearBit :: CClockId -> Int -> CClockId #

complementBit :: CClockId -> Int -> CClockId #

testBit :: CClockId -> Int -> Bool #

bitSizeMaybe :: CClockId -> Maybe Int #

bitSize :: CClockId -> Int #

isSigned :: CClockId -> Bool #

shiftL :: CClockId -> Int -> CClockId #

unsafeShiftL :: CClockId -> Int -> CClockId #

shiftR :: CClockId -> Int -> CClockId #

unsafeShiftR :: CClockId -> Int -> CClockId #

rotateL :: CClockId -> Int -> CClockId #

rotateR :: CClockId -> Int -> CClockId #

popCount :: CClockId -> Int #

Bits CDev 
Instance details

Defined in System.Posix.Types

Methods

(.&.) :: CDev -> CDev -> CDev #

(.|.) :: CDev -> CDev -> CDev #

xor :: CDev -> CDev -> CDev #

complement :: CDev -> CDev #

shift :: CDev -> Int -> CDev #

rotate :: CDev -> Int -> CDev #

zeroBits :: CDev #

bit :: Int -> CDev #

setBit :: CDev -> Int -> CDev #

clearBit :: CDev -> Int -> CDev #

complementBit :: CDev -> Int -> CDev #

testBit :: CDev -> Int -> Bool #

bitSizeMaybe :: CDev -> Maybe Int #

bitSize :: CDev -> Int #

isSigned :: CDev -> Bool #

shiftL :: CDev -> Int -> CDev #

unsafeShiftL :: CDev -> Int -> CDev #

shiftR :: CDev -> Int -> CDev #

unsafeShiftR :: CDev -> Int -> CDev #

rotateL :: CDev -> Int -> CDev #

rotateR :: CDev -> Int -> CDev #

popCount :: CDev -> Int #

Bits CFsBlkCnt 
Instance details

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 #

zeroBits :: CFsBlkCnt #

bit :: Int -> CFsBlkCnt #

setBit :: CFsBlkCnt -> Int -> CFsBlkCnt #

clearBit :: CFsBlkCnt -> Int -> CFsBlkCnt #

complementBit :: CFsBlkCnt -> Int -> CFsBlkCnt #

testBit :: CFsBlkCnt -> Int -> Bool #

bitSizeMaybe :: CFsBlkCnt -> Maybe Int #

bitSize :: CFsBlkCnt -> Int #

isSigned :: CFsBlkCnt -> Bool #

shiftL :: CFsBlkCnt -> Int -> CFsBlkCnt #

unsafeShiftL :: CFsBlkCnt -> Int -> CFsBlkCnt #

shiftR :: CFsBlkCnt -> Int -> CFsBlkCnt #

unsafeShiftR :: CFsBlkCnt -> Int -> CFsBlkCnt #

rotateL :: CFsBlkCnt -> Int -> CFsBlkCnt #

rotateR :: CFsBlkCnt -> Int -> CFsBlkCnt #

popCount :: CFsBlkCnt -> Int #

Bits CFsFilCnt 
Instance details

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 #

zeroBits :: CFsFilCnt #

bit :: Int -> CFsFilCnt #

setBit :: CFsFilCnt -> Int -> CFsFilCnt #

clearBit :: CFsFilCnt -> Int -> CFsFilCnt #

complementBit :: CFsFilCnt -> Int -> CFsFilCnt #

testBit :: CFsFilCnt -> Int -> Bool #

bitSizeMaybe :: CFsFilCnt -> Maybe Int #

bitSize :: CFsFilCnt -> Int #

isSigned :: CFsFilCnt -> Bool #

shiftL :: CFsFilCnt -> Int -> CFsFilCnt #

unsafeShiftL :: CFsFilCnt -> Int -> CFsFilCnt #

shiftR :: CFsFilCnt -> Int -> CFsFilCnt #

unsafeShiftR :: CFsFilCnt -> Int -> CFsFilCnt #

rotateL :: CFsFilCnt -> Int -> CFsFilCnt #

rotateR :: CFsFilCnt -> Int -> CFsFilCnt #

popCount :: CFsFilCnt -> Int #

Bits CGid 
Instance details

Defined in System.Posix.Types

Methods

(.&.) :: CGid -> CGid -> CGid #

(.|.) :: CGid -> CGid -> CGid #

xor :: CGid -> CGid -> CGid #

complement :: CGid -> CGid #

shift :: CGid -> Int -> CGid #

rotate :: CGid -> Int -> CGid #

zeroBits :: CGid #

bit :: Int -> CGid #

setBit :: CGid -> Int -> CGid #

clearBit :: CGid -> Int -> CGid #

complementBit :: CGid -> Int -> CGid #

testBit :: CGid -> Int -> Bool #

bitSizeMaybe :: CGid -> Maybe Int #

bitSize :: CGid -> Int #

isSigned :: CGid -> Bool #

shiftL :: CGid -> Int -> CGid #

unsafeShiftL :: CGid -> Int -> CGid #

shiftR :: CGid -> Int -> CGid #

unsafeShiftR :: CGid -> Int -> CGid #

rotateL :: CGid -> Int -> CGid #

rotateR :: CGid -> Int -> CGid #

popCount :: CGid -> Int #

Bits CId 
Instance details

Defined in System.Posix.Types

Methods

(.&.) :: CId -> CId -> CId #

(.|.) :: CId -> CId -> CId #

xor :: CId -> CId -> CId #

complement :: CId -> CId #

shift :: CId -> Int -> CId #

rotate :: CId -> Int -> CId #

zeroBits :: CId #

bit :: Int -> CId #

setBit :: CId -> Int -> CId #

clearBit :: CId -> Int -> CId #

complementBit :: CId -> Int -> CId #

testBit :: CId -> Int -> Bool #

bitSizeMaybe :: CId -> Maybe Int #

bitSize :: CId -> Int #

isSigned :: CId -> Bool #

shiftL :: CId -> Int -> CId #

unsafeShiftL :: CId -> Int -> CId #

shiftR :: CId -> Int -> CId #

unsafeShiftR :: CId -> Int -> CId #

rotateL :: CId -> Int -> CId #

rotateR :: CId -> Int -> CId #

popCount :: CId -> Int #

Bits CIno 
Instance details

Defined in System.Posix.Types

Methods

(.&.) :: CIno -> CIno -> CIno #

(.|.) :: CIno -> CIno -> CIno #

xor :: CIno -> CIno -> CIno #

complement :: CIno -> CIno #

shift :: CIno -> Int -> CIno #

rotate :: CIno -> Int -> CIno #

zeroBits :: CIno #

bit :: Int -> CIno #

setBit :: CIno -> Int -> CIno #

clearBit :: CIno -> Int -> CIno #

complementBit :: CIno -> Int -> CIno #

testBit :: CIno -> Int -> Bool #

bitSizeMaybe :: CIno -> Maybe Int #

bitSize :: CIno -> Int #

isSigned :: CIno -> Bool #

shiftL :: CIno -> Int -> CIno #

unsafeShiftL :: CIno -> Int -> CIno #

shiftR :: CIno -> Int -> CIno #

unsafeShiftR :: CIno -> Int -> CIno #

rotateL :: CIno -> Int -> CIno #

rotateR :: CIno -> Int -> CIno #

popCount :: CIno -> Int #

Bits CKey 
Instance details

Defined in System.Posix.Types

Methods

(.&.) :: CKey -> CKey -> CKey #

(.|.) :: CKey -> CKey -> CKey #

xor :: CKey -> CKey -> CKey #

complement :: CKey -> CKey #

shift :: CKey -> Int -> CKey #

rotate :: CKey -> Int -> CKey #

zeroBits :: CKey #

bit :: Int -> CKey #

setBit :: CKey -> Int -> CKey #

clearBit :: CKey -> Int -> CKey #

complementBit :: CKey -> Int -> CKey #

testBit :: CKey -> Int -> Bool #

bitSizeMaybe :: CKey -> Maybe Int #

bitSize :: CKey -> Int #

isSigned :: CKey -> Bool #

shiftL :: CKey -> Int -> CKey #

unsafeShiftL :: CKey -> Int -> CKey #

shiftR :: CKey -> Int -> CKey #

unsafeShiftR :: CKey -> Int -> CKey #

rotateL :: CKey -> Int -> CKey #

rotateR :: CKey -> Int -> CKey #

popCount :: CKey -> Int #

Bits CMode 
Instance details

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 #

zeroBits :: CMode #

bit :: Int -> CMode #

setBit :: CMode -> Int -> CMode #

clearBit :: CMode -> Int -> CMode #

complementBit :: CMode -> Int -> CMode #

testBit :: CMode -> Int -> Bool #

bitSizeMaybe :: CMode -> Maybe Int #

bitSize :: CMode -> Int #

isSigned :: CMode -> Bool #

shiftL :: CMode -> Int -> CMode #

unsafeShiftL :: CMode -> Int -> CMode #

shiftR :: CMode -> Int -> CMode #

unsafeShiftR :: CMode -> Int -> CMode #

rotateL :: CMode -> Int -> CMode #

rotateR :: CMode -> Int -> CMode #

popCount :: CMode -> Int #

Bits CNfds 
Instance details

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 #

zeroBits :: CNfds #

bit :: Int -> CNfds #

setBit :: CNfds -> Int -> CNfds #

clearBit :: CNfds -> Int -> CNfds #

complementBit :: CNfds -> Int -> CNfds #

testBit :: CNfds -> Int -> Bool #

bitSizeMaybe :: CNfds -> Maybe Int #

bitSize :: CNfds -> Int #

isSigned :: CNfds -> Bool #

shiftL :: CNfds -> Int -> CNfds #

unsafeShiftL :: CNfds -> Int -> CNfds #

shiftR :: CNfds -> Int -> CNfds #

unsafeShiftR :: CNfds -> Int -> CNfds #

rotateL :: CNfds -> Int -> CNfds #

rotateR :: CNfds -> Int -> CNfds #

popCount :: CNfds -> Int #

Bits CNlink 
Instance details

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 #

zeroBits :: CNlink #

bit :: Int -> CNlink #

setBit :: CNlink -> Int -> CNlink #

clearBit :: CNlink -> Int -> CNlink #

complementBit :: CNlink -> Int -> CNlink #

testBit :: CNlink -> Int -> Bool #

bitSizeMaybe :: CNlink -> Maybe Int #

bitSize :: CNlink -> Int #

isSigned :: CNlink -> Bool #

shiftL :: CNlink -> Int -> CNlink #

unsafeShiftL :: CNlink -> Int -> CNlink #

shiftR :: CNlink -> Int -> CNlink #

unsafeShiftR :: CNlink -> Int -> CNlink #

rotateL :: CNlink -> Int -> CNlink #

rotateR :: CNlink -> Int -> CNlink #

popCount :: CNlink -> Int #

Bits COff 
Instance details

Defined in System.Posix.Types

Methods

(.&.) :: COff -> COff -> COff #

(.|.) :: COff -> COff -> COff #

xor :: COff -> COff -> COff #

complement :: COff -> COff #

shift :: COff -> Int -> COff #

rotate :: COff -> Int -> COff #

zeroBits :: COff #

bit :: Int -> COff #

setBit :: COff -> Int -> COff #

clearBit :: COff -> Int -> COff #

complementBit :: COff -> Int -> COff #

testBit :: COff -> Int -> Bool #

bitSizeMaybe :: COff -> Maybe Int #

bitSize :: COff -> Int #

isSigned :: COff -> Bool #

shiftL :: COff -> Int -> COff #

unsafeShiftL :: COff -> Int -> COff #

shiftR :: COff -> Int -> COff #

unsafeShiftR :: COff -> Int -> COff #

rotateL :: COff -> Int -> COff #

rotateR :: COff -> Int -> COff #

popCount :: COff -> Int #

Bits CPid 
Instance details

Defined in System.Posix.Types

Methods

(.&.) :: CPid -> CPid -> CPid #

(.|.) :: CPid -> CPid -> CPid #

xor :: CPid -> CPid -> CPid #

complement :: CPid -> CPid #

shift :: CPid -> Int -> CPid #

rotate :: CPid -> Int -> CPid #

zeroBits :: CPid #

bit :: Int -> CPid #

setBit :: CPid -> Int -> CPid #

clearBit :: CPid -> Int -> CPid #

complementBit :: CPid -> Int -> CPid #

testBit :: CPid -> Int -> Bool #

bitSizeMaybe :: CPid -> Maybe Int #

bitSize :: CPid -> Int #

isSigned :: CPid -> Bool #

shiftL :: CPid -> Int -> CPid #

unsafeShiftL :: CPid -> Int -> CPid #

shiftR :: CPid -> Int -> CPid #

unsafeShiftR :: CPid -> Int -> CPid #

rotateL :: CPid -> Int -> CPid #

rotateR :: CPid -> Int -> CPid #

popCount :: CPid -> Int #

Bits CRLim 
Instance details

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 #

zeroBits :: CRLim #

bit :: Int -> CRLim #

setBit :: CRLim -> Int -> CRLim #

clearBit :: CRLim -> Int -> CRLim #

complementBit :: CRLim -> Int -> CRLim #

testBit :: CRLim -> Int -> Bool #

bitSizeMaybe :: CRLim -> Maybe Int #

bitSize :: CRLim -> Int #

isSigned :: CRLim -> Bool #

shiftL :: CRLim -> Int -> CRLim #

unsafeShiftL :: CRLim -> Int -> CRLim #

shiftR :: CRLim -> Int -> CRLim #

unsafeShiftR :: CRLim -> Int -> CRLim #

rotateL :: CRLim -> Int -> CRLim #

rotateR :: CRLim -> Int -> CRLim #

popCount :: CRLim -> Int #

Bits CSocklen 
Instance details

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 #

zeroBits :: CSocklen #

bit :: Int -> CSocklen #

setBit :: CSocklen -> Int -> CSocklen #

clearBit :: CSocklen -> Int -> CSocklen #

complementBit :: CSocklen -> Int -> CSocklen #

testBit :: CSocklen -> Int -> Bool #

bitSizeMaybe :: CSocklen -> Maybe Int #

bitSize :: CSocklen -> Int #

isSigned :: CSocklen -> Bool #

shiftL :: CSocklen -> Int -> CSocklen #

unsafeShiftL :: CSocklen -> Int -> CSocklen #

shiftR :: CSocklen -> Int -> CSocklen #

unsafeShiftR :: CSocklen -> Int -> CSocklen #

rotateL :: CSocklen -> Int -> CSocklen #

rotateR :: CSocklen -> Int -> CSocklen #

popCount :: CSocklen -> Int #

Bits CSsize 
Instance details

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 #

zeroBits :: CSsize #

bit :: Int -> CSsize #

setBit :: CSsize -> Int -> CSsize #

clearBit :: CSsize -> Int -> CSsize #

complementBit :: CSsize -> Int -> CSsize #

testBit :: CSsize -> Int -> Bool #

bitSizeMaybe :: CSsize -> Maybe Int #

bitSize :: CSsize -> Int #

isSigned :: CSsize -> Bool #

shiftL :: CSsize -> Int -> CSsize #

unsafeShiftL :: CSsize -> Int -> CSsize #

shiftR :: CSsize -> Int -> CSsize #

unsafeShiftR :: CSsize -> Int -> CSsize #

rotateL :: CSsize -> Int -> CSsize #

rotateR :: CSsize -> Int -> CSsize #

popCount :: CSsize -> Int #

Bits CTcflag 
Instance details

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 #

zeroBits :: CTcflag #

bit :: Int -> CTcflag #

setBit :: CTcflag -> Int -> CTcflag #

clearBit :: CTcflag -> Int -> CTcflag #

complementBit :: CTcflag -> Int -> CTcflag #

testBit :: CTcflag -> Int -> Bool #

bitSizeMaybe :: CTcflag -> Maybe Int #

bitSize :: CTcflag -> Int #

isSigned :: CTcflag -> Bool #

shiftL :: CTcflag -> Int -> CTcflag #

unsafeShiftL :: CTcflag -> Int -> CTcflag #

shiftR :: CTcflag -> Int -> CTcflag #

unsafeShiftR :: CTcflag -> Int -> CTcflag #

rotateL :: CTcflag -> Int -> CTcflag #

rotateR :: CTcflag -> Int -> CTcflag #

popCount :: CTcflag -> Int #

Bits CUid 
Instance details

Defined in System.Posix.Types

Methods

(.&.) :: CUid -> CUid -> CUid #

(.|.) :: CUid -> CUid -> CUid #

xor :: CUid -> CUid -> CUid #

complement :: CUid -> CUid #

shift :: CUid -> Int -> CUid #

rotate :: CUid -> Int -> CUid #

zeroBits :: CUid #

bit :: Int -> CUid #

setBit :: CUid -> Int -> CUid #

clearBit :: CUid -> Int -> CUid #

complementBit :: CUid -> Int -> CUid #

testBit :: CUid -> Int -> Bool #

bitSizeMaybe :: CUid -> Maybe Int #

bitSize :: CUid -> Int #

isSigned :: CUid -> Bool #

shiftL :: CUid -> Int -> CUid #

unsafeShiftL :: CUid -> Int -> CUid #

shiftR :: CUid -> Int -> CUid #

unsafeShiftR :: CUid -> Int -> CUid #

rotateL :: CUid -> Int -> CUid #

rotateR :: CUid -> Int -> CUid #

popCount :: CUid -> Int #

Bits Fd 
Instance details

Defined in System.Posix.Types

Methods

(.&.) :: Fd -> Fd -> Fd #

(.|.) :: Fd -> Fd -> Fd #

xor :: Fd -> Fd -> Fd #

complement :: Fd -> Fd #

shift :: Fd -> Int -> Fd #

rotate :: Fd -> Int -> Fd #

zeroBits :: Fd #

bit :: Int -> Fd #

setBit :: Fd -> Int -> Fd #

clearBit :: Fd -> Int -> Fd #

complementBit :: Fd -> Int -> Fd #

testBit :: Fd -> Int -> Bool #

bitSizeMaybe :: Fd -> Maybe Int #

bitSize :: Fd -> Int #

isSigned :: Fd -> Bool #

shiftL :: Fd -> Int -> Fd #

unsafeShiftL :: Fd -> Int -> Fd #

shiftR :: Fd -> Int -> Fd #

unsafeShiftR :: Fd -> Int -> Fd #

rotateL :: Fd -> Int -> Fd #

rotateR :: Fd -> Int -> Fd #

popCount :: Fd -> Int #

Bits BV Source # 
Instance details

Defined in Data.BitVector

Methods

(.&.) :: BV -> BV -> BV #

(.|.) :: BV -> BV -> BV #

xor :: BV -> BV -> BV #

complement :: BV -> BV #

shift :: BV -> Int -> BV #

rotate :: BV -> Int -> BV #

zeroBits :: BV #

bit :: Int -> BV #

setBit :: BV -> Int -> BV #

clearBit :: BV -> Int -> BV #

complementBit :: BV -> Int -> BV #

testBit :: BV -> Int -> Bool #

bitSizeMaybe :: BV -> Maybe Int #

bitSize :: BV -> Int #

isSigned :: BV -> Bool #

shiftL :: BV -> Int -> BV #

unsafeShiftL :: BV -> Int -> BV #

shiftR :: BV -> Int -> BV #

unsafeShiftR :: BV -> Int -> BV #

rotateL :: BV -> Int -> BV #

rotateR :: BV -> Int -> BV #

popCount :: BV -> Int #

Bits Integer 
Instance details

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 #

zeroBits :: Integer #

bit :: Int -> Integer #

setBit :: Integer -> Int -> Integer #

clearBit :: Integer -> Int -> Integer #

complementBit :: Integer -> Int -> Integer #

testBit :: Integer -> Int -> Bool #

bitSizeMaybe :: Integer -> Maybe Int #

bitSize :: Integer -> Int #

isSigned :: Integer -> Bool #

shiftL :: Integer -> Int -> Integer #

unsafeShiftL :: Integer -> Int -> Integer #

shiftR :: Integer -> Int -> Integer #

unsafeShiftR :: Integer -> Int -> Integer #

rotateL :: Integer -> Int -> Integer #

rotateR :: Integer -> Int -> Integer #

popCount :: Integer -> Int #

Bits Natural 
Instance details

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 #

zeroBits :: Natural #

bit :: Int -> Natural #

setBit :: Natural -> Int -> Natural #

clearBit :: Natural -> Int -> Natural #

complementBit :: Natural -> Int -> Natural #

testBit :: Natural -> Int -> Bool #

bitSizeMaybe :: Natural -> Maybe Int #

bitSize :: Natural -> Int #

isSigned :: Natural -> Bool #

shiftL :: Natural -> Int -> Natural #

unsafeShiftL :: Natural -> Int -> Natural #

shiftR :: Natural -> Int -> Natural #

unsafeShiftR :: Natural -> Int -> Natural #

rotateL :: Natural -> Int -> Natural #

rotateR :: Natural -> Int -> Natural #

popCount :: Natural -> Int #

Bits Bool 
Instance details

Defined in GHC.Bits

Methods

(.&.) :: Bool -> Bool -> Bool #

(.|.) :: Bool -> Bool -> Bool #

xor :: Bool -> Bool -> Bool #

complement :: Bool -> Bool #

shift :: Bool -> Int -> Bool #

rotate :: Bool -> Int -> Bool #

zeroBits :: Bool #

bit :: Int -> Bool #

setBit :: Bool -> Int -> Bool #

clearBit :: Bool -> Int -> Bool #

complementBit :: Bool -> Int -> Bool #

testBit :: Bool -> Int -> Bool #

bitSizeMaybe :: Bool -> Maybe Int #

bitSize :: Bool -> Int #

isSigned :: Bool -> Bool #

shiftL :: Bool -> Int -> Bool #

unsafeShiftL :: Bool -> Int -> Bool #

shiftR :: Bool -> Int -> Bool #

unsafeShiftR :: Bool -> Int -> Bool #

rotateL :: Bool -> Int -> Bool #

rotateR :: Bool -> Int -> Bool #

popCount :: Bool -> Int #

Bits Int 
Instance details

Defined in GHC.Bits

Methods

(.&.) :: Int -> Int -> Int #

(.|.) :: Int -> Int -> Int #

xor :: Int -> Int -> Int #

complement :: Int -> Int #

shift :: Int -> Int -> Int #

rotate :: Int -> Int -> Int #

zeroBits :: Int #

bit :: Int -> Int #

setBit :: Int -> Int -> Int #

clearBit :: Int -> Int -> Int #

complementBit :: Int -> Int -> Int #

testBit :: Int -> Int -> Bool #

bitSizeMaybe :: Int -> Maybe Int #

bitSize :: Int -> Int #

isSigned :: Int -> Bool #

shiftL :: Int -> Int -> Int #

unsafeShiftL :: Int -> Int -> Int #

shiftR :: Int -> Int -> Int #

unsafeShiftR :: Int -> Int -> Int #

rotateL :: Int -> Int -> Int #

rotateR :: Int -> Int -> Int #

popCount :: Int -> Int #

Bits Word 
Instance details

Defined in GHC.Bits

Methods

(.&.) :: Word -> Word -> Word #

(.|.) :: Word -> Word -> Word #

xor :: Word -> Word -> Word #

complement :: Word -> Word #

shift :: Word -> Int -> Word #

rotate :: Word -> Int -> Word #

zeroBits :: Word #

bit :: Int -> Word #

setBit :: Word -> Int -> Word #

clearBit :: Word -> Int -> Word #

complementBit :: Word -> Int -> Word #

testBit :: Word -> Int -> Bool #

bitSizeMaybe :: Word -> Maybe Int #

bitSize :: Word -> Int #

isSigned :: Word -> Bool #

shiftL :: Word -> Int -> Word #

unsafeShiftL :: Word -> Int -> Word #

shiftR :: Word -> Int -> Word #

unsafeShiftR :: Word -> Int -> Word #

rotateL :: Word -> Int -> Word #

rotateR :: Word -> Int -> Word #

popCount :: Word -> Int #

Bits a => Bits (And a) 
Instance details

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 #

zeroBits :: And a #

bit :: 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 #

bitSize :: And a -> Int #

isSigned :: And a -> Bool #

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 #

rotateR :: And a -> Int -> And a #

popCount :: And a -> Int #

Bits a => Bits (Iff a) 
Instance details

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 #

zeroBits :: Iff a #

bit :: 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 #

bitSize :: Iff a -> Int #

isSigned :: Iff a -> Bool #

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 #

rotateR :: Iff a -> Int -> Iff a #

popCount :: Iff a -> Int #

Bits a => Bits (Ior a) 
Instance details

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 #

zeroBits :: Ior a #

bit :: 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 #

bitSize :: Ior a -> Int #

isSigned :: Ior a -> Bool #

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 #

rotateR :: Ior a -> Int -> Ior a #

popCount :: Ior a -> Int #

Bits a => Bits (Xor a) 
Instance details

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 #

zeroBits :: Xor a #

bit :: 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 #

bitSize :: Xor a -> Int #

isSigned :: Xor a -> Bool #

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 #

rotateR :: Xor a -> Int -> Xor a #

popCount :: Xor a -> Int #

Bits a => Bits (Identity a) 
Instance details

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 #

zeroBits :: Identity a #

bit :: 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 #

rotateR :: Identity a -> Int -> Identity a #

popCount :: Identity a -> Int #

Bits a => Bits (Down a) 
Instance details

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 #

zeroBits :: Down a #

bit :: 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 #

bitSize :: Down a -> Int #

isSigned :: Down a -> Bool #

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 #

rotateR :: Down a -> Int -> Down a #

popCount :: Down a -> Int #

Bits a => Bits (Const a b) 
Instance details

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 #

zeroBits :: Const a b #

bit :: 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 #

bitSize :: Const a b -> 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 #

rotateR :: Const a b -> Int -> Const a b #

popCount :: Const a b -> Int #

class Bits b => FiniteBits b where #

Minimal complete definition

finiteBitSize

Methods

finiteBitSize :: b -> Int #

countLeadingZeros :: b -> Int #

countTrailingZeros :: b -> Int #

Instances

Instances details
FiniteBits CBool 
Instance details

Defined in Foreign.C.Types

Methods

finiteBitSize :: CBool -> Int #

countLeadingZeros :: CBool -> Int #

countTrailingZeros :: CBool -> Int #

FiniteBits CChar 
Instance details

Defined in Foreign.C.Types

Methods

finiteBitSize :: CChar -> Int #

countLeadingZeros :: CChar -> Int #

countTrailingZeros :: CChar -> Int #

FiniteBits CInt 
Instance details

Defined in Foreign.C.Types

Methods

finiteBitSize :: CInt -> Int #

countLeadingZeros :: CInt -> Int #

countTrailingZeros :: CInt -> Int #

FiniteBits CIntMax 
Instance details

Defined in Foreign.C.Types

Methods

finiteBitSize :: CIntMax -> Int #

countLeadingZeros :: CIntMax -> Int #

countTrailingZeros :: CIntMax -> Int #

FiniteBits CIntPtr 
Instance details

Defined in Foreign.C.Types

Methods

finiteBitSize :: CIntPtr -> Int #

countLeadingZeros :: CIntPtr -> Int #

countTrailingZeros :: CIntPtr -> Int #

FiniteBits CLLong 
Instance details

Defined in Foreign.C.Types

Methods

finiteBitSize :: CLLong -> Int #

countLeadingZeros :: CLLong -> Int #

countTrailingZeros :: CLLong -> Int #

FiniteBits CLong 
Instance details

Defined in Foreign.C.Types

Methods

finiteBitSize :: CLong -> Int #

countLeadingZeros :: CLong -> Int #

countTrailingZeros :: CLong -> Int #

FiniteBits CPtrdiff 
Instance details

Defined in Foreign.C.Types

Methods

finiteBitSize :: CPtrdiff -> Int #

countLeadingZeros :: CPtrdiff -> Int #

countTrailingZeros :: CPtrdiff -> Int #

FiniteBits CSChar 
Instance details

Defined in Foreign.C.Types

Methods

finiteBitSize :: CSChar -> Int #

countLeadingZeros :: CSChar -> Int #

countTrailingZeros :: CSChar -> Int #

FiniteBits CShort 
Instance details

Defined in Foreign.C.Types

Methods

finiteBitSize :: CShort -> Int #

countLeadingZeros :: CShort -> Int #

countTrailingZeros :: CShort -> Int #

FiniteBits CSigAtomic 
Instance details

Defined in Foreign.C.Types

Methods

finiteBitSize :: CSigAtomic -> Int #

countLeadingZeros :: CSigAtomic -> Int #

countTrailingZeros :: CSigAtomic -> Int #

FiniteBits CSize 
Instance details

Defined in Foreign.C.Types

Methods

finiteBitSize :: CSize -> Int #

countLeadingZeros :: CSize -> Int #

countTrailingZeros :: CSize -> Int #

FiniteBits CUChar 
Instance details

Defined in Foreign.C.Types

Methods

finiteBitSize :: CUChar -> Int #

countLeadingZeros :: CUChar -> Int #

countTrailingZeros :: CUChar -> Int #

FiniteBits CUInt 
Instance details

Defined in Foreign.C.Types

Methods

finiteBitSize :: CUInt -> Int #

countLeadingZeros :: CUInt -> Int #

countTrailingZeros :: CUInt -> Int #

FiniteBits CUIntMax 
Instance details

Defined in Foreign.C.Types

Methods

finiteBitSize :: CUIntMax -> Int #

countLeadingZeros :: CUIntMax -> Int #

countTrailingZeros :: CUIntMax -> Int #

FiniteBits CUIntPtr 
Instance details

Defined in Foreign.C.Types

Methods

finiteBitSize :: CUIntPtr -> Int #

countLeadingZeros :: CUIntPtr -> Int #

countTrailingZeros :: CUIntPtr -> Int #

FiniteBits CULLong 
Instance details

Defined in Foreign.C.Types

Methods

finiteBitSize :: CULLong -> Int #

countLeadingZeros :: CULLong -> Int #

countTrailingZeros :: CULLong -> Int #

FiniteBits CULong 
Instance details

Defined in Foreign.C.Types

Methods

finiteBitSize :: CULong -> Int #

countLeadingZeros :: CULong -> Int #

countTrailingZeros :: CULong -> Int #

FiniteBits CUShort 
Instance details

Defined in Foreign.C.Types

Methods

finiteBitSize :: CUShort -> Int #

countLeadingZeros :: CUShort -> Int #

countTrailingZeros :: CUShort -> Int #

FiniteBits CWchar 
Instance details

Defined in Foreign.C.Types

Methods

finiteBitSize :: CWchar -> Int #

countLeadingZeros :: CWchar -> Int #

countTrailingZeros :: CWchar -> Int #

FiniteBits IntPtr 
Instance details

Defined in Foreign.Ptr

Methods

finiteBitSize :: IntPtr -> Int #

countLeadingZeros :: IntPtr -> Int #

countTrailingZeros :: IntPtr -> Int #

FiniteBits WordPtr 
Instance details

Defined in Foreign.Ptr

Methods

finiteBitSize :: WordPtr -> Int #

countLeadingZeros :: WordPtr -> Int #

countTrailingZeros :: WordPtr -> Int #

FiniteBits Int16 
Instance details

Defined in GHC.Int

Methods

finiteBitSize :: Int16 -> Int #

countLeadingZeros :: Int16 -> Int #

countTrailingZeros :: Int16 -> Int #

FiniteBits Int32 
Instance details

Defined in GHC.Int

Methods

finiteBitSize :: Int32 -> Int #

countLeadingZeros :: Int32 -> Int #

countTrailingZeros :: Int32 -> Int #

FiniteBits Int64 
Instance details

Defined in GHC.Int

Methods

finiteBitSize :: Int64 -> Int #

countLeadingZeros :: Int64 -> Int #

countTrailingZeros :: Int64 -> Int #

FiniteBits Int8 
Instance details

Defined in GHC.Int

Methods

finiteBitSize :: Int8 -> Int #

countLeadingZeros :: Int8 -> Int #

countTrailingZeros :: Int8 -> Int #

FiniteBits Word16 
Instance details

Defined in GHC.Word

Methods

finiteBitSize :: Word16 -> Int #

countLeadingZeros :: Word16 -> Int #

countTrailingZeros :: Word16 -> Int #

FiniteBits Word32 
Instance details

Defined in GHC.Word

Methods

finiteBitSize :: Word32 -> Int #

countLeadingZeros :: Word32 -> Int #

countTrailingZeros :: Word32 -> Int #

FiniteBits Word64 
Instance details

Defined in GHC.Word

Methods

finiteBitSize :: Word64 -> Int #

countLeadingZeros :: Word64 -> Int #

countTrailingZeros :: Word64 -> Int #

FiniteBits Word8 
Instance details

Defined in GHC.Word

Methods

finiteBitSize :: Word8 -> Int #

countLeadingZeros :: Word8 -> Int #

countTrailingZeros :: Word8 -> Int #

FiniteBits CBlkCnt 
Instance details

Defined in System.Posix.Types

Methods

finiteBitSize :: CBlkCnt -> Int #

countLeadingZeros :: CBlkCnt -> Int #

countTrailingZeros :: CBlkCnt -> Int #

FiniteBits CBlkSize 
Instance details

Defined in System.Posix.Types

Methods

finiteBitSize :: CBlkSize -> Int #

countLeadingZeros :: CBlkSize -> Int #

countTrailingZeros :: CBlkSize -> Int #

FiniteBits CClockId 
Instance details

Defined in System.Posix.Types

Methods

finiteBitSize :: CClockId -> Int #

countLeadingZeros :: CClockId -> Int #

countTrailingZeros :: CClockId -> Int #

FiniteBits CDev 
Instance details

Defined in System.Posix.Types

Methods

finiteBitSize :: CDev -> Int #

countLeadingZeros :: CDev -> Int #

countTrailingZeros :: CDev -> Int #

FiniteBits CFsBlkCnt 
Instance details

Defined in System.Posix.Types

Methods

finiteBitSize :: CFsBlkCnt -> Int #

countLeadingZeros :: CFsBlkCnt -> Int #

countTrailingZeros :: CFsBlkCnt -> Int #

FiniteBits CFsFilCnt 
Instance details

Defined in System.Posix.Types

Methods

finiteBitSize :: CFsFilCnt -> Int #

countLeadingZeros :: CFsFilCnt -> Int #

countTrailingZeros :: CFsFilCnt -> Int #

FiniteBits CGid 
Instance details

Defined in System.Posix.Types

Methods

finiteBitSize :: CGid -> Int #

countLeadingZeros :: CGid -> Int #

countTrailingZeros :: CGid -> Int #

FiniteBits CId 
Instance details

Defined in System.Posix.Types

Methods

finiteBitSize :: CId -> Int #

countLeadingZeros :: CId -> Int #

countTrailingZeros :: CId -> Int #

FiniteBits CIno 
Instance details

Defined in System.Posix.Types

Methods

finiteBitSize :: CIno -> Int #

countLeadingZeros :: CIno -> Int #

countTrailingZeros :: CIno -> Int #

FiniteBits CKey 
Instance details

Defined in System.Posix.Types

Methods

finiteBitSize :: CKey -> Int #

countLeadingZeros :: CKey -> Int #

countTrailingZeros :: CKey -> Int #

FiniteBits CMode 
Instance details

Defined in System.Posix.Types

Methods

finiteBitSize :: CMode -> Int #

countLeadingZeros :: CMode -> Int #

countTrailingZeros :: CMode -> Int #

FiniteBits CNfds 
Instance details

Defined in System.Posix.Types

Methods

finiteBitSize :: CNfds -> Int #

countLeadingZeros :: CNfds -> Int #

countTrailingZeros :: CNfds -> Int #

FiniteBits CNlink 
Instance details

Defined in System.Posix.Types

Methods

finiteBitSize :: CNlink -> Int #

countLeadingZeros :: CNlink -> Int #

countTrailingZeros :: CNlink -> Int #

FiniteBits COff 
Instance details

Defined in System.Posix.Types

Methods

finiteBitSize :: COff -> Int #

countLeadingZeros :: COff -> Int #

countTrailingZeros :: COff -> Int #

FiniteBits CPid 
Instance details

Defined in System.Posix.Types

Methods

finiteBitSize :: CPid -> Int #

countLeadingZeros :: CPid -> Int #

countTrailingZeros :: CPid -> Int #

FiniteBits CRLim 
Instance details

Defined in System.Posix.Types

Methods

finiteBitSize :: CRLim -> Int #

countLeadingZeros :: CRLim -> Int #

countTrailingZeros :: CRLim -> Int #

FiniteBits CSocklen 
Instance details

Defined in System.Posix.Types

Methods

finiteBitSize :: CSocklen -> Int #

countLeadingZeros :: CSocklen -> Int #

countTrailingZeros :: CSocklen -> Int #

FiniteBits CSsize 
Instance details

Defined in System.Posix.Types

Methods

finiteBitSize :: CSsize -> Int #

countLeadingZeros :: CSsize -> Int #

countTrailingZeros :: CSsize -> Int #

FiniteBits CTcflag 
Instance details

Defined in System.Posix.Types

Methods

finiteBitSize :: CTcflag -> Int #

countLeadingZeros :: CTcflag -> Int #

countTrailingZeros :: CTcflag -> Int #

FiniteBits CUid 
Instance details

Defined in System.Posix.Types

Methods

finiteBitSize :: CUid -> Int #

countLeadingZeros :: CUid -> Int #

countTrailingZeros :: CUid -> Int #

FiniteBits Fd 
Instance details

Defined in System.Posix.Types

Methods

finiteBitSize :: Fd -> Int #

countLeadingZeros :: Fd -> Int #

countTrailingZeros :: Fd -> Int #

FiniteBits Bool 
Instance details

Defined in GHC.Bits

Methods

finiteBitSize :: Bool -> Int #

countLeadingZeros :: Bool -> Int #

countTrailingZeros :: Bool -> Int #

FiniteBits Int 
Instance details

Defined in GHC.Bits

Methods

finiteBitSize :: Int -> Int #

countLeadingZeros :: Int -> Int #

countTrailingZeros :: Int -> Int #

FiniteBits Word 
Instance details

Defined in GHC.Bits

Methods

finiteBitSize :: Word -> Int #

countLeadingZeros :: Word -> Int #

countTrailingZeros :: Word -> Int #

FiniteBits a => FiniteBits (And a) 
Instance details

Defined in Data.Bits

Methods

finiteBitSize :: And a -> Int #

countLeadingZeros :: And a -> Int #

countTrailingZeros :: And a -> Int #

FiniteBits a => FiniteBits (Iff a) 
Instance details

Defined in Data.Bits

Methods

finiteBitSize :: Iff a -> Int #

countLeadingZeros :: Iff a -> Int #

countTrailingZeros :: Iff a -> Int #

FiniteBits a => FiniteBits (Ior a) 
Instance details

Defined in Data.Bits

Methods

finiteBitSize :: Ior a -> Int #

countLeadingZeros :: Ior a -> Int #

countTrailingZeros :: Ior a -> Int #

FiniteBits a => FiniteBits (Xor a) 
Instance details

Defined in Data.Bits

Methods

finiteBitSize :: Xor a -> Int #

countLeadingZeros :: Xor a -> Int #

countTrailingZeros :: Xor a -> Int #

FiniteBits a => FiniteBits (Identity a) 
Instance details

Defined in Data.Functor.Identity

Methods

finiteBitSize :: Identity a -> Int #

countLeadingZeros :: Identity a -> Int #

countTrailingZeros :: Identity a -> Int #

FiniteBits a => FiniteBits (Down a) 
Instance details

Defined in Data.Ord

Methods

finiteBitSize :: Down a -> Int #

countLeadingZeros :: Down a -> Int #

countTrailingZeros :: Down a -> Int #

FiniteBits a => FiniteBits (Const a b) 
Instance details

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 #

(!<<.) :: 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 #

Constructors

And 

Fields

Instances

Instances details
FiniteBits a => Monoid (And a) 
Instance details

Defined in Data.Bits

Methods

mempty :: And a

mappend :: And a -> And a -> And a

mconcat :: [And a] -> And a

Bits a => Semigroup (And a) 
Instance details

Defined in Data.Bits

Methods

(<>) :: And a -> And a -> And a

sconcat :: NonEmpty (And a) -> And a

stimes :: Integral b => b -> And a -> And a

Bits a => Bits (And a) 
Instance details

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 #

zeroBits :: And a #

bit :: 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 #

bitSize :: And a -> Int #

isSigned :: And a -> Bool #

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 #

rotateR :: And a -> Int -> And a #

popCount :: And a -> Int #

FiniteBits a => FiniteBits (And a) 
Instance details

Defined in Data.Bits

Methods

finiteBitSize :: And a -> Int #

countLeadingZeros :: And a -> Int #

countTrailingZeros :: And a -> Int #

Bounded a => Bounded (And a) 
Instance details

Defined in Data.Bits

Methods

minBound :: And a

maxBound :: And a

Enum a => Enum (And a) 
Instance details

Defined in Data.Bits

Methods

succ :: And a -> And a

pred :: And a -> And a

toEnum :: Int -> And a

fromEnum :: And a -> Int

enumFrom :: And a -> [And a]

enumFromThen :: And a -> And a -> [And a]

enumFromTo :: And a -> And a -> [And a]

enumFromThenTo :: And a -> And a -> And a -> [And a]

Read a => Read (And a) 
Instance details

Defined in Data.Bits

Methods

readsPrec :: Int -> ReadS (And a)

readList :: ReadS [And a]

readPrec :: ReadPrec (And a)

readListPrec :: ReadPrec [And a]

Show a => Show (And a) 
Instance details

Defined in Data.Bits

Methods

showsPrec :: Int -> And a -> ShowS

show :: And a -> String

showList :: [And a] -> ShowS

Eq a => Eq (And a) 
Instance details

Defined in Data.Bits

Methods

(==) :: And a -> And a -> Bool

(/=) :: And a -> And a -> Bool

newtype Iff a #

Constructors

Iff 

Fields

Instances

Instances details
FiniteBits a => Monoid (Iff a) 
Instance details

Defined in Data.Bits

Methods

mempty :: Iff a

mappend :: Iff a -> Iff a -> Iff a

mconcat :: [Iff a] -> Iff a

FiniteBits a => Semigroup (Iff a) 
Instance details

Defined in Data.Bits

Methods

(<>) :: Iff a -> Iff a -> Iff a

sconcat :: NonEmpty (Iff a) -> Iff a

stimes :: Integral b => b -> Iff a -> Iff a

Bits a => Bits (Iff a) 
Instance details

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 #

zeroBits :: Iff a #

bit :: 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 #

bitSize :: Iff a -> Int #

isSigned :: Iff a -> Bool #

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 #

rotateR :: Iff a -> Int -> Iff a #

popCount :: Iff a -> Int #

FiniteBits a => FiniteBits (Iff a) 
Instance details

Defined in Data.Bits

Methods

finiteBitSize :: Iff a -> Int #

countLeadingZeros :: Iff a -> Int #

countTrailingZeros :: Iff a -> Int #

Bounded a => Bounded (Iff a) 
Instance details

Defined in Data.Bits

Methods

minBound :: Iff a

maxBound :: Iff a

Enum a => Enum (Iff a) 
Instance details

Defined in Data.Bits

Methods

succ :: Iff a -> Iff a

pred :: Iff a -> Iff a

toEnum :: Int -> Iff a

fromEnum :: Iff a -> Int

enumFrom :: Iff a -> [Iff a]

enumFromThen :: Iff a -> Iff a -> [Iff a]

enumFromTo :: Iff a -> Iff a -> [Iff a]

enumFromThenTo :: Iff a -> Iff a -> Iff a -> [Iff a]

Read a => Read (Iff a) 
Instance details

Defined in Data.Bits

Methods

readsPrec :: Int -> ReadS (Iff a)

readList :: ReadS [Iff a]

readPrec :: ReadPrec (Iff a)

readListPrec :: ReadPrec [Iff a]

Show a => Show (Iff a) 
Instance details

Defined in Data.Bits

Methods

showsPrec :: Int -> Iff a -> ShowS

show :: Iff a -> String

showList :: [Iff a] -> ShowS

Eq a => Eq (Iff a) 
Instance details

Defined in Data.Bits

Methods

(==) :: Iff a -> Iff a -> Bool

(/=) :: Iff a -> Iff a -> Bool

newtype Ior a #

Constructors

Ior 

Fields

Instances

Instances details
Bits a => Monoid (Ior a) 
Instance details

Defined in Data.Bits

Methods

mempty :: Ior a

mappend :: Ior a -> Ior a -> Ior a

mconcat :: [Ior a] -> Ior a

Bits a => Semigroup (Ior a) 
Instance details

Defined in Data.Bits

Methods

(<>) :: Ior a -> Ior a -> Ior a

sconcat :: NonEmpty (Ior a) -> Ior a

stimes :: Integral b => b -> Ior a -> Ior a

Bits a => Bits (Ior a) 
Instance details

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 #

zeroBits :: Ior a #

bit :: 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 #

bitSize :: Ior a -> Int #

isSigned :: Ior a -> Bool #

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 #

rotateR :: Ior a -> Int -> Ior a #

popCount :: Ior a -> Int #

FiniteBits a => FiniteBits (Ior a) 
Instance details

Defined in Data.Bits

Methods

finiteBitSize :: Ior a -> Int #

countLeadingZeros :: Ior a -> Int #

countTrailingZeros :: Ior a -> Int #

Bounded a => Bounded (Ior a) 
Instance details

Defined in Data.Bits

Methods

minBound :: Ior a

maxBound :: Ior a

Enum a => Enum (Ior a) 
Instance details

Defined in Data.Bits

Methods

succ :: Ior a -> Ior a

pred :: Ior a -> Ior a

toEnum :: Int -> Ior a

fromEnum :: Ior a -> Int

enumFrom :: Ior a -> [Ior a]

enumFromThen :: Ior a -> Ior a -> [Ior a]

enumFromTo :: Ior a -> Ior a -> [Ior a]

enumFromThenTo :: Ior a -> Ior a -> Ior a -> [Ior a]

Read a => Read (Ior a) 
Instance details

Defined in Data.Bits

Methods

readsPrec :: Int -> ReadS (Ior a)

readList :: ReadS [Ior a]

readPrec :: ReadPrec (Ior a)

readListPrec :: ReadPrec [Ior a]

Show a => Show (Ior a) 
Instance details

Defined in Data.Bits

Methods

showsPrec :: Int -> Ior a -> ShowS

show :: Ior a -> String

showList :: [Ior a] -> ShowS

Eq a => Eq (Ior a) 
Instance details

Defined in Data.Bits

Methods

(==) :: Ior a -> Ior a -> Bool

(/=) :: Ior a -> Ior a -> Bool

newtype Xor a #

Constructors

Xor 

Fields

Instances

Instances details
Bits a => Monoid (Xor a) 
Instance details

Defined in Data.Bits

Methods

mempty :: Xor a

mappend :: Xor a -> Xor a -> Xor a

mconcat :: [Xor a] -> Xor a

Bits a => Semigroup (Xor a) 
Instance details

Defined in Data.Bits

Methods

(<>) :: Xor a -> Xor a -> Xor a

sconcat :: NonEmpty (Xor a) -> Xor a

stimes :: Integral b => b -> Xor a -> Xor a

Bits a => Bits (Xor a) 
Instance details

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 #

zeroBits :: Xor a #

bit :: 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 #

bitSize :: Xor a -> Int #

isSigned :: Xor a -> Bool #

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 #

rotateR :: Xor a -> Int -> Xor a #

popCount :: Xor a -> Int #

FiniteBits a => FiniteBits (Xor a) 
Instance details

Defined in Data.Bits

Methods

finiteBitSize :: Xor a -> Int #

countLeadingZeros :: Xor a -> Int #

countTrailingZeros :: Xor a -> Int #

Bounded a => Bounded (Xor a) 
Instance details

Defined in Data.Bits

Methods

minBound :: Xor a

maxBound :: Xor a

Enum a => Enum (Xor a) 
Instance details

Defined in Data.Bits

Methods

succ :: Xor a -> Xor a

pred :: Xor a -> Xor a

toEnum :: Int -> Xor a

fromEnum :: Xor a -> Int

enumFrom :: Xor a -> [Xor a]

enumFromThen :: Xor a -> Xor a -> [Xor a]

enumFromTo :: Xor a -> Xor a -> [Xor a]

enumFromThenTo :: Xor a -> Xor a -> Xor a -> [Xor a]

Read a => Read (Xor a) 
Instance details

Defined in Data.Bits

Methods

readsPrec :: Int -> ReadS (Xor a)

readList :: ReadS [Xor a]

readPrec :: ReadPrec (Xor a)

readListPrec :: ReadPrec [Xor a]

Show a => Show (Xor a) 
Instance details

Defined in Data.Bits

Methods

showsPrec :: Int -> Xor a -> ShowS

show :: Xor a -> String

showList :: [Xor a] -> ShowS

Eq a => Eq (Xor a) 
Instance details

Defined in Data.Bits

Methods

(==) :: Xor a -> Xor a -> Bool

(/=) :: Xor a -> Xor a -> Bool

oneBits :: FiniteBits a => a #

not :: BV -> BV Source #

An alias for complement.

not_ :: BV -> BV Source #

Deprecated: Use corresponding versions without underscore

An alias for complement.

nand :: BV -> BV -> BV Source #

Negated .&..

nor :: BV -> BV -> BV Source #

Negated .|..

xnor :: BV -> BV -> BV Source #

Negated xor.

(<<.) :: BV -> BV -> BV infixl 8 Source #

Left shift.

shl :: BV -> BV -> BV infixl 8 Source #

Left shift.

(>>.) :: BV -> BV -> BV infixl 8 Source #

Logical right shift.

shr :: BV -> BV -> BV infixl 8 Source #

Logical right shift.

ashr :: BV -> BV -> BV infixl 8 Source #

Arithmetic right shift

(<<<.) :: BV -> BV -> BV infixl 8 Source #

Rotate left.

rol :: BV -> BV -> BV infixl 8 Source #

Rotate left.

(>>>.) :: BV -> BV -> BV infixl 8 Source #

Rotate right.

ror :: BV -> BV -> BV infixl 8 Source #

Rotate right.

Conversion

fromBool :: Bool -> BV Source #

Create a bit-vector from a single bit.

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]

Pretty-printing

showBin :: BV -> String Source #

Show a bit-vector in binary form.

showOct :: BV -> String Source #

Show a bit-vector in octal form.

showHex :: BV -> String Source #

Show a bit-vector in hexadecimal form.