| Copyright | (c) Brian Huffman |
|---|---|
| License | BSD3 |
| Maintainer | erkokl@gmail.com |
| Stability | experimental |
| Safe Haskell | None |
| Language | Haskell2010 |
Documentation.SBV.Examples.Misc.Word4
Description
Demonstrates how new sizes of word/int types can be defined and used with SBV.
Documentation
Word4 as a newtype. Invariant: Word4 x should satisfy x < 16.
Instances
| Bounded Word4 # | Bounded instance; from 0 to 255 |
| Enum Word4 # | Enum instance, trivial definitions. |
Defined in Documentation.SBV.Examples.Misc.Word4 | |
| Eq Word4 # | |
| Integral Word4 # | Integral instance, again using Word8 instance and casting. NB. we do not need to use the smart constructor here as neither the quotient nor the remainder can overflow a Word4. |
Defined in Documentation.SBV.Examples.Misc.Word4 | |
| Data Word4 # | |
Defined in Documentation.SBV.Examples.Misc.Word4 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word4 -> c Word4 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Word4 # dataTypeOf :: Word4 -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word4) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word4) # gmapT :: (forall b. Data b => b -> b) -> Word4 -> Word4 # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word4 -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word4 -> r # gmapQ :: (forall d. Data d => d -> u) -> Word4 -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Word4 -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word4 -> m Word4 # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word4 -> m Word4 # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word4 -> m Word4 # | |
| Num Word4 # | Num instance, merely lifts underlying 8-bit operation and casts back |
| Ord Word4 # | |
| Read Word4 # | Read instance. We read as an 8-bit word, and coerce |
| Real Word4 # | Real instance simply uses the Word8 instance |
Defined in Documentation.SBV.Examples.Misc.Word4 Methods toRational :: Word4 -> Rational # | |
| Show Word4 # | Show instance |
| Bits Word4 # | Bits instance |
Defined in Documentation.SBV.Examples.Misc.Word4 Methods (.&.) :: Word4 -> Word4 -> Word4 # (.|.) :: Word4 -> Word4 -> Word4 # xor :: Word4 -> Word4 -> Word4 # complement :: Word4 -> Word4 # shift :: Word4 -> Int -> Word4 # rotate :: Word4 -> Int -> Word4 # setBit :: Word4 -> Int -> Word4 # clearBit :: Word4 -> Int -> Word4 # complementBit :: Word4 -> Int -> Word4 # testBit :: Word4 -> Int -> Bool # bitSizeMaybe :: Word4 -> Maybe Int # shiftL :: Word4 -> Int -> Word4 # unsafeShiftL :: Word4 -> Int -> Word4 # shiftR :: Word4 -> Int -> Word4 # unsafeShiftR :: Word4 -> Int -> Word4 # rotateL :: Word4 -> Int -> Word4 # | |
| Random Word4 # | Random instance, used in quick-check |
Defined in Documentation.SBV.Examples.Misc.Word4 | |
| HasKind Word4 # | HasKind instance; simply returning the underlying kind for the type |
Defined in Documentation.SBV.Examples.Misc.Word4 Methods isUninterpreted :: Word4 -> Bool # | |
| SymWord Word4 # | SymWord instance, allowing this type to be used in proofs/sat etc. |
Defined in Documentation.SBV.Examples.Misc.Word4 Methods forall :: String -> Symbolic (SBV Word4) # forall_ :: Symbolic (SBV Word4) # mkForallVars :: Int -> Symbolic [SBV Word4] # exists :: String -> Symbolic (SBV Word4) # exists_ :: Symbolic (SBV Word4) # mkExistVars :: Int -> Symbolic [SBV Word4] # free :: String -> Symbolic (SBV Word4) # free_ :: Symbolic (SBV Word4) # mkFreeVars :: Int -> Symbolic [SBV Word4] # symbolic :: String -> Symbolic (SBV Word4) # symbolics :: [String] -> Symbolic [SBV Word4] # literal :: Word4 -> SBV Word4 # unliteral :: SBV Word4 -> Maybe Word4 # isConcrete :: SBV Word4 -> Bool # isSymbolic :: SBV Word4 -> Bool # isConcretely :: SBV Word4 -> (Word4 -> Bool) -> Bool # mkSymWord :: Maybe Quantifier -> Maybe String -> Symbolic (SBV Word4) # | |
| SatModel Word4 # | SatModel instance, merely uses the generic parsing method. |
| SDivisible SWord4 # | SDvisible instance, using default methods |
Defined in Documentation.SBV.Examples.Misc.Word4 | |
| SDivisible Word4 # | SDvisible instance, using 0-extension |
| SIntegral Word4 # | SIntegral instance, using default methods |
Defined in Documentation.SBV.Examples.Misc.Word4 | |
| Splittable Word8 Word4 # | Joiningsplitting tofrom Word8 |