Feldspar.Core.Frontend.Bits

feldspar-language-0.6.0.2: A functional embedded language for DSP and parallelism

Safe Haskell | None

Feldspar.Core.Frontend.Bits

# Documentation

class (Type a, Bits a, Integral a, Bounded a, Size a ~ Range a) => Bits a where

Methods

(.&.) :: Data a -> Data a -> Data a

(.|.) :: Data a -> Data a -> Data a

xor :: Data a -> Data a -> Data a

complement :: Data a -> Data a

bit :: Data Index -> Data a

setBit :: Data a -> Data Index -> Data a

clearBit :: Data a -> Data Index -> Data a

complementBit :: Data a -> Data Index -> Data a

testBit :: Data a -> Data Index -> Data Bool

shiftLU :: Data a -> Data Index -> Data a

shiftRU :: Data a -> Data Index -> Data a

shiftL :: Data a -> Data IntN -> Data a

shiftR :: Data a -> Data IntN -> Data a

rotateLU :: Data a -> Data Index -> Data a

rotateRU :: Data a -> Data Index -> Data a

rotateL :: Data a -> Data IntN -> Data a

rotateR :: Data a -> Data IntN -> Data a

reverseBits :: Data a -> Data a

bitScan :: Data a -> Data Index

bitCount :: Data a -> Data Index

bitSize :: Data a -> Data Index

bitSize' :: Data a -> Index

isSigned :: Data a -> Data Bool

Instances

Bits Int8 |
Bits Int16 |
Bits Int32 |
Bits Int64 |
Bits Word8 |
Bits Word16 |
Bits Word32 |
Bits Word64 |
Bits IntN |
Bits WordN |

(⊕) :: Bits a => Data a -> Data a -> Data a

(.<<.) :: Bits a => Data a -> Data Index -> Data a

(.>>.) :: Bits a => Data a -> Data Index -> Data a