hasmtlib-1.0.0: A monad for interfacing with external SMT solvers
Safe HaskellSafe-Inferred
LanguageGHC2021

Language.Hasmtlib.Integraled

Synopsis

Documentation

class Integraled a where Source #

Integral-like class for clean API. In context hide the Preludes Integral.

Minimal complete definition

Nothing

Methods

quot :: a -> a -> a Source #

rem :: a -> a -> a Source #

div :: a -> a -> a Source #

mod :: a -> a -> a Source #

quotRem :: a -> a -> (a, a) Source #

default quotRem :: Integral a => a -> a -> (a, a) Source #

divMod :: a -> a -> (a, a) Source #

default divMod :: Integral a => a -> a -> (a, a) Source #

Instances

Instances details
Integraled Word16 Source # 
Instance details

Defined in Language.Hasmtlib.Integraled

Integraled Word32 Source # 
Instance details

Defined in Language.Hasmtlib.Integraled

Integraled Word64 Source # 
Instance details

Defined in Language.Hasmtlib.Integraled

Integraled Word8 Source # 
Instance details

Defined in Language.Hasmtlib.Integraled

Integraled Integer Source # 
Instance details

Defined in Language.Hasmtlib.Integraled

Integraled Natural Source # 
Instance details

Defined in Language.Hasmtlib.Integraled

Integraled Int Source # 
Instance details

Defined in Language.Hasmtlib.Integraled

Methods

quot :: Int -> Int -> Int Source #

rem :: Int -> Int -> Int Source #

div :: Int -> Int -> Int Source #

mod :: Int -> Int -> Int Source #

quotRem :: Int -> Int -> (Int, Int) Source #

divMod :: Int -> Int -> (Int, Int) Source #

Integraled Word Source # 
Instance details

Defined in Language.Hasmtlib.Integraled

Methods

quot :: Word -> Word -> Word Source #

rem :: Word -> Word -> Word Source #

div :: Word -> Word -> Word Source #

mod :: Word -> Word -> Word Source #

quotRem :: Word -> Word -> (Word, Word) Source #

divMod :: Word -> Word -> (Word, Word) Source #

Integral a => Integraled (Identity a) Source # 
Instance details

Defined in Language.Hasmtlib.Integraled

KnownNat n => Integraled (Expr ('BvSort n)) Source # 
Instance details

Defined in Language.Hasmtlib.Internal.Expr.Num

Methods

quot :: Expr ('BvSort n) -> Expr ('BvSort n) -> Expr ('BvSort n) Source #

rem :: Expr ('BvSort n) -> Expr ('BvSort n) -> Expr ('BvSort n) Source #

div :: Expr ('BvSort n) -> Expr ('BvSort n) -> Expr ('BvSort n) Source #

mod :: Expr ('BvSort n) -> Expr ('BvSort n) -> Expr ('BvSort n) Source #

quotRem :: Expr ('BvSort n) -> Expr ('BvSort n) -> (Expr ('BvSort n), Expr ('BvSort n)) Source #

divMod :: Expr ('BvSort n) -> Expr ('BvSort n) -> (Expr ('BvSort n), Expr ('BvSort n)) Source #

Integraled (Expr 'IntSort) Source # 
Instance details

Defined in Language.Hasmtlib.Internal.Expr.Num

Integral a => Integraled (Const a b) Source # 
Instance details

Defined in Language.Hasmtlib.Integraled

Methods

quot :: Const a b -> Const a b -> Const a b Source #

rem :: Const a b -> Const a b -> Const a b Source #

div :: Const a b -> Const a b -> Const a b Source #

mod :: Const a b -> Const a b -> Const a b Source #

quotRem :: Const a b -> Const a b -> (Const a b, Const a b) Source #

divMod :: Const a b -> Const a b -> (Const a b, Const a b) Source #