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
KnownNat w => Bits (UnsignedBV w) Source # 
Instance details

Defined in Data.BitVector.Sized.Unsigned

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

Show (UnsignedBV w) Source # 
Instance details

Defined in Data.BitVector.Sized.Unsigned

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

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) #

Lift (UnsignedBV w :: TYPE LiftedRep) 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) #

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-GweJxxC6Vv1GMjK8EgHf3h" '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.