bv-sized-1.0.5: a bitvector datatype that is parameterized by the vector width
Copyright(c) Galois Inc. 2018
LicenseBSD-3
Maintainerbenselfridge@galois.com
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.BitVector.Sized.Unsigned

Description

This module defines a wrapper around the BV type, UnsignedBV, with instances not provided by BV.

Synopsis

Documentation

newtype UnsignedBV w Source #

Signed bit vector.

Constructors

UnsignedBV 

Fields

Instances

Instances details
Lift (UnsignedBV w :: Type) Source # 
Instance details

Defined in Data.BitVector.Sized.Unsigned

Methods

lift :: Quote m => UnsignedBV w -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => UnsignedBV w -> Code m (UnsignedBV w)

KnownNat w => Bits (UnsignedBV w) Source # 
Instance details

Defined in Data.BitVector.Sized.Unsigned

Methods

(.&.) :: UnsignedBV w -> UnsignedBV w -> UnsignedBV w

(.|.) :: UnsignedBV w -> UnsignedBV w -> UnsignedBV w

xor :: UnsignedBV w -> UnsignedBV w -> UnsignedBV w

complement :: UnsignedBV w -> UnsignedBV w

shift :: UnsignedBV w -> Int -> UnsignedBV w

rotate :: UnsignedBV w -> Int -> UnsignedBV w

zeroBits :: UnsignedBV w

bit :: Int -> UnsignedBV w

setBit :: UnsignedBV w -> Int -> UnsignedBV w

clearBit :: UnsignedBV w -> Int -> UnsignedBV w

complementBit :: UnsignedBV w -> Int -> UnsignedBV w

testBit :: UnsignedBV w -> Int -> Bool

bitSizeMaybe :: UnsignedBV w -> Maybe Int

bitSize :: UnsignedBV w -> Int

isSigned :: UnsignedBV w -> Bool

shiftL :: UnsignedBV w -> Int -> UnsignedBV w

unsafeShiftL :: UnsignedBV w -> Int -> UnsignedBV w

shiftR :: UnsignedBV w -> Int -> UnsignedBV w

unsafeShiftR :: UnsignedBV w -> Int -> UnsignedBV w

rotateL :: UnsignedBV w -> Int -> UnsignedBV w

rotateR :: UnsignedBV w -> Int -> UnsignedBV w

popCount :: UnsignedBV w -> Int

KnownNat w => FiniteBits (UnsignedBV w) Source # 
Instance details

Defined in Data.BitVector.Sized.Unsigned

KnownNat w => Bounded (UnsignedBV w) Source # 
Instance details

Defined in Data.BitVector.Sized.Unsigned

KnownNat w => Enum (UnsignedBV w) Source # 
Instance details

Defined in Data.BitVector.Sized.Unsigned

Generic (UnsignedBV w) Source # 
Instance details

Defined in Data.BitVector.Sized.Unsigned

Associated Types

type Rep (UnsignedBV w) :: Type -> Type

Methods

from :: UnsignedBV w -> Rep (UnsignedBV w) x

to :: Rep (UnsignedBV w) x -> UnsignedBV w

KnownNat w => Ix (UnsignedBV w) Source # 
Instance details

Defined in Data.BitVector.Sized.Unsigned

KnownNat w => Num (UnsignedBV w) Source # 
Instance details

Defined in Data.BitVector.Sized.Unsigned

Read (UnsignedBV w) Source # 
Instance details

Defined in Data.BitVector.Sized.Unsigned

Methods

readsPrec :: Int -> ReadS (UnsignedBV w)

readList :: ReadS [UnsignedBV w]

readPrec :: ReadPrec (UnsignedBV w)

readListPrec :: ReadPrec [UnsignedBV w]

Show (UnsignedBV w) Source # 
Instance details

Defined in Data.BitVector.Sized.Unsigned

Methods

showsPrec :: Int -> UnsignedBV w -> ShowS

show :: UnsignedBV w -> String

showList :: [UnsignedBV w] -> ShowS

NFData (UnsignedBV w) Source # 
Instance details

Defined in Data.BitVector.Sized.Unsigned

Methods

rnf :: UnsignedBV w -> ()

Eq (UnsignedBV w) Source # 
Instance details

Defined in Data.BitVector.Sized.Unsigned

Methods

(==) :: UnsignedBV w -> UnsignedBV w -> Bool

(/=) :: UnsignedBV w -> UnsignedBV w -> Bool

Ord (UnsignedBV w) Source # 
Instance details

Defined in Data.BitVector.Sized.Unsigned

Methods

compare :: UnsignedBV w -> UnsignedBV w -> Ordering

(<) :: UnsignedBV w -> UnsignedBV w -> Bool

(<=) :: UnsignedBV w -> UnsignedBV w -> Bool

(>) :: UnsignedBV w -> UnsignedBV w -> Bool

(>=) :: UnsignedBV w -> UnsignedBV w -> Bool

max :: UnsignedBV w -> UnsignedBV w -> UnsignedBV w

min :: UnsignedBV w -> UnsignedBV w -> UnsignedBV w

Hashable (UnsignedBV w) Source # 
Instance details

Defined in Data.BitVector.Sized.Unsigned

Methods

hashWithSalt :: Int -> UnsignedBV w -> Int

hash :: UnsignedBV w -> Int

KnownNat w => Random (UnsignedBV w) Source # 
Instance details

Defined in Data.BitVector.Sized.Unsigned

Methods

randomR :: RandomGen g => (UnsignedBV w, UnsignedBV w) -> g -> (UnsignedBV w, g)

random :: RandomGen g => g -> (UnsignedBV w, g)

randomRs :: RandomGen g => (UnsignedBV w, UnsignedBV w) -> g -> [UnsignedBV w]

randoms :: RandomGen g => g -> [UnsignedBV w]

KnownNat w => Uniform (UnsignedBV w) Source # 
Instance details

Defined in Data.BitVector.Sized.Unsigned

Methods

uniformM :: StatefulGen g m => g -> m (UnsignedBV w)

UniformRange (UnsignedBV w) Source # 
Instance details

Defined in Data.BitVector.Sized.Unsigned

Methods

uniformRM :: StatefulGen g m => (UnsignedBV w, UnsignedBV w) -> g -> m (UnsignedBV w)

type Rep (UnsignedBV w) Source # 
Instance details

Defined in Data.BitVector.Sized.Unsigned

type Rep (UnsignedBV w) = D1 ('MetaData "UnsignedBV" "Data.BitVector.Sized.Unsigned" "bv-sized-1.0.5-CcOtVpvEiNF8sUw6uEB68C" 'True) (C1 ('MetaCons "UnsignedBV" 'PrefixI 'True) (S1 ('MetaSel ('Just "asBV") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BV w))))

mkUnsignedBV :: NatRepr w -> Integer -> UnsignedBV w Source #

Convenience wrapper for mkBV.