satchmo-2.9.9.4: SAT encoding monad
Safe HaskellSafe-Inferred
LanguageHaskell2010

Satchmo.Binary.Op.Flexible

Description

operations from this module cannot overflow. instead they increase the bit width.

Synopsis

Documentation

shift :: MonadSAT m => Number -> m Number Source #

multiply by 2

data Number Source #

Instances

Instances details
Constant Number Source # 
Instance details

Defined in Satchmo.Binary.Numeric

Methods

constant :: MonadSAT m => Integer -> m Number Source #

Create Number Source # 
Instance details

Defined in Satchmo.Binary.Numeric

Methods

create :: MonadSAT m => Int -> m Number Source #

Numeric Number Source # 
Instance details

Defined in Satchmo.Binary.Numeric

(Monad m, Decode m Boolean Bool) => Decode m Number Integer Source # 
Instance details

Defined in Satchmo.Binary.Data

Methods

decode :: Number -> m Integer Source #

number :: MonadSAT m => Int -> m Number Source #

declare a number variable (bit width)

constant :: MonadSAT m => Integer -> m Number Source #

Declare a number constant

constantWidth :: MonadSAT m => Int -> Integer -> m Number Source #

constantWidth w declares a number constant using at least w bits

toBinaryWidth :: Int -> Integer -> [Bool] Source #

toBinaryWidth w converts to binary using at least w bits