qute-symex-0.1.0: A symbolic execution engine for the QBE intermediate language.
Safe HaskellNone
LanguageGHC2021

Language.QBE.Simulator.Symbolic.Expression

Documentation

data BitVector Source #

Instances

Instances details
Generic BitVector Source # 
Instance details

Defined in Language.QBE.Simulator.Symbolic.Expression

Associated Types

type Rep BitVector 
Instance details

Defined in Language.QBE.Simulator.Symbolic.Expression

type Rep BitVector = D1 ('MetaData "BitVector" "Language.QBE.Simulator.Symbolic.Expression" "qute-symex-0.1.0-BpSHhgkMrEs8e4o3qeYGbi" 'True) (C1 ('MetaCons "BitVector" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SExpr)))
Show BitVector Source # 
Instance details

Defined in Language.QBE.Simulator.Symbolic.Expression

NFData BitVector Source # 
Instance details

Defined in Language.QBE.Simulator.Symbolic.Expression

Methods

rnf :: BitVector -> () #

Eq BitVector Source # 
Instance details

Defined in Language.QBE.Simulator.Symbolic.Expression

ValueRepr BitVector Source # 
Instance details

Defined in Language.QBE.Simulator.Symbolic.Expression

Methods

fromLit :: ExtType -> Word64 -> BitVector #

fromFloat :: Float -> BitVector #

fromDouble :: Double -> BitVector #

toWord64 :: BitVector -> Word64 #

getType :: BitVector -> ExtType #

floatToInt :: ExtType -> Bool -> BitVector -> Maybe BitVector #

intToFloat :: ExtType -> Bool -> BitVector -> Maybe BitVector #

extendFloat :: BitVector -> Maybe BitVector #

truncFloat :: BitVector -> Maybe BitVector #

extend :: ExtType -> Bool -> BitVector -> Maybe BitVector #

extract :: ExtType -> BitVector -> Maybe BitVector #

add :: BitVector -> BitVector -> Maybe BitVector #

sub :: BitVector -> BitVector -> Maybe BitVector #

mul :: BitVector -> BitVector -> Maybe BitVector #

div :: BitVector -> BitVector -> Maybe BitVector #

urem :: BitVector -> BitVector -> Maybe BitVector #

srem :: BitVector -> BitVector -> Maybe BitVector #

udiv :: BitVector -> BitVector -> Maybe BitVector #

or :: BitVector -> BitVector -> Maybe BitVector #

xor :: BitVector -> BitVector -> Maybe BitVector #

and :: BitVector -> BitVector -> Maybe BitVector #

neg :: BitVector -> Maybe BitVector #

sar :: BitVector -> BitVector -> Maybe BitVector #

shr :: BitVector -> BitVector -> Maybe BitVector #

shl :: BitVector -> BitVector -> Maybe BitVector #

eq :: BitVector -> BitVector -> Maybe BitVector #

ne :: BitVector -> BitVector -> Maybe BitVector #

sle :: BitVector -> BitVector -> Maybe BitVector #

slt :: BitVector -> BitVector -> Maybe BitVector #

sge :: BitVector -> BitVector -> Maybe BitVector #

sgt :: BitVector -> BitVector -> Maybe BitVector #

ule :: BitVector -> BitVector -> Maybe BitVector #

ult :: BitVector -> BitVector -> Maybe BitVector #

uge :: BitVector -> BitVector -> Maybe BitVector #

ugt :: BitVector -> BitVector -> Maybe BitVector #

ord :: BitVector -> BitVector -> Maybe BitVector #

unord :: BitVector -> BitVector -> Maybe BitVector #

Storable BitVector BitVector Source # 
Instance details

Defined in Language.QBE.Simulator.Symbolic.Expression

type Rep BitVector Source # 
Instance details

Defined in Language.QBE.Simulator.Symbolic.Expression

type Rep BitVector = D1 ('MetaData "BitVector" "Language.QBE.Simulator.Symbolic.Expression" "qute-symex-0.1.0-BpSHhgkMrEs8e4o3qeYGbi" 'True) (C1 ('MetaCons "BitVector" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SExpr)))