| Copyright | (c) Claude Heiland-Allen 2012 | 
|---|---|
| License | BSD3 | 
| Maintainer | claude@mathr.co.uk | 
| Stability | unstable | 
| Portability | portable | 
| Safe Haskell | Safe | 
| Language | Haskell2010 | 
Data.Bits.Bitwise
Contents
Description
- repeat :: Bits b => Bool -> b
 - map :: Bits b => (Bool -> Bool) -> b -> b
 - zipWith :: Bits b => (Bool -> Bool -> Bool) -> b -> b -> b
 - or :: Bits b => b -> Bool
 - and :: Bits b => b -> Bool
 - any :: Bits b => (Bool -> Bool) -> b -> Bool
 - all :: Bits b => (Bool -> Bool) -> b -> Bool
 - isUniform :: Bits b => b -> Maybe Bool
 - mask :: (Num b, Bits b) => Int -> b
 - splitAt :: (Num b, Bits b) => Int -> b -> (b, b)
 - joinAt :: Bits b => Int -> b -> b -> b
 - fromBool :: Bits b => Bool -> b
 - fromListLE :: Bits b => [Bool] -> b
 - toListLE :: Bits b => b -> [Bool]
 - fromListBE :: Bits b => [Bool] -> b
 - toListBE :: FiniteBits b => b -> [Bool]
 - packWord8LE :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Word8
 - unpackWord8LE :: Word8 -> (Bool, Bool, Bool, Bool, Bool, Bool, Bool, Bool)
 - packWord8BE :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Word8
 - unpackWord8BE :: Word8 -> (Bool, Bool, Bool, Bool, Bool, Bool, Bool, Bool)
 
Boolean operations lifted to bitwise operations.
Lift a unary boolean operation to a bitwise operation.
The implementation is by exhaustive input/output case analysis: thus the operation provided must be total.
Lift a binary boolean operation to a bitwise operation.
The implementation is by exhaustive input/output case analysis: thus the operation provided must be total.
True when the predicate is true for any bit.
True when the predicate is true for all bits.
Splitting/joining Bits to/from (lsb, msb).
A mask with count least significant bits set.
Split a word into (lsb, msb). Ensures lsb has no set bits above the split point.
Join lsb with msb to make a word. Assumes lsb has no set bits above the join point.
(Un)packing Bits to/from lists of Bool.
Convert a little-endian list of bits to Bits.
Convert a Bits to a list of bits, in
   little-endian order.
Convert a big-endian list of bits to Bits.
Arguments
| :: FiniteBits b | |
| => b | |
| -> [Bool] | \[most significant bit, ..., least significant bit\]  | 
Convert a FiniteBits to a list of bits, in
   big-endian order.
(Un)packing Word8 to/from 8-tuples of Bool.
Arguments
| :: Bool | least significant bit  | 
| -> Bool | |
| -> Bool | |
| -> Bool | |
| -> Bool | |
| -> Bool | |
| -> Bool | |
| -> Bool | most significant bit  | 
| -> Word8 | 
Pack bits into a byte in little-endian order.
Arguments
| :: Word8 | |
| -> (Bool, Bool, Bool, Bool, Bool, Bool, Bool, Bool) | (least significant bit, ..., most significant bit)  | 
Extract the bits from a byte in little-endian order.