satchmo-2.8.2: SAT encoding monad

Safe HaskellNone
LanguageHaskell98

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

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