module Satchmo.Binary.Numeric where
import qualified Satchmo.Binary.Op.Fixed as F
import qualified Satchmo.Numeric as N
instance N.Constant F.Number where
constant :: forall (m :: * -> *). MonadSAT m => Integer -> m Number
constant = forall (m :: * -> *). MonadSAT m => Integer -> m Number
F.constant
instance N.Create F.Number where
create :: forall (m :: * -> *). MonadSAT m => Int -> m Number
create = forall (m :: * -> *). MonadSAT m => Int -> m Number
F.number
instance N.Numeric F.Number where
equal :: forall (m :: * -> *). MonadSAT m => Number -> Number -> m Boolean
equal = forall (m :: * -> *). MonadSAT m => Number -> Number -> m Boolean
F.equals
greater_equal :: forall (m :: * -> *). MonadSAT m => Number -> Number -> m Boolean
greater_equal = forall (m :: * -> *). MonadSAT m => Number -> Number -> m Boolean
F.ge
plus :: forall (m :: * -> *). MonadSAT m => Number -> Number -> m Number
plus = forall (m :: * -> *). MonadSAT m => Number -> Number -> m Number
F.add
minus :: forall (m :: * -> *). MonadSAT m => Number -> Number -> m Number
minus = forall a. HasCallStack => [Char] -> a
error [Char]
"Satchmo.Binary does not implement minus"
times :: forall (m :: * -> *). MonadSAT m => Number -> Number -> m Number
times = forall (m :: * -> *). MonadSAT m => Number -> Number -> m Number
F.times