| Safe Haskell | Safe-Inferred |
|---|---|
| Language | GHC2021 |
Language.Hasmtlib.Type.Bitvec
Synopsis
- data BvEnc
- data SBvEnc (enc :: BvEnc) where
- class KnownBvEnc (enc :: BvEnc) where
- bvEncSing' :: forall enc prxy. KnownBvEnc enc => prxy enc -> SBvEnc enc
- bvEncSing'' :: forall enc a prxy. KnownBvEnc enc => prxy enc a -> SBvEnc enc
- newtype Bitvec (enc :: BvEnc) (n :: Nat) = Bitvec {}
- asUnsigned :: forall enc n. Bitvec enc n -> Bitvec Unsigned n
- asSigned :: forall enc n. Bitvec enc n -> Bitvec Signed n
- bitvecConcat :: Bitvec enc n -> Bitvec enc m -> Bitvec enc (n + m)
- bitvecFromListN :: forall n enc. KnownNat n => [Bit] -> Maybe (Bitvec enc n)
- bitvecFromListN' :: KnownNat n => Proxy n -> [Bit] -> Maybe (Bitvec enc n)
Documentation
Type of Bitvector encoding - used as promoted type (data-kind).
data SBvEnc (enc :: BvEnc) where Source #
Singleton for BvEnc.
Instances
| GCompare SBvEnc Source # | |
| GEq SBvEnc Source # | |
| Show (SBvEnc enc) Source # | |
| Eq (SBvEnc enc) Source # | |
| Ord (SBvEnc enc) Source # | |
Defined in Language.Hasmtlib.Type.Bitvec | |
class KnownBvEnc (enc :: BvEnc) where Source #
Instances
bvEncSing' :: forall enc prxy. KnownBvEnc enc => prxy enc -> SBvEnc enc Source #
bvEncSing'' :: forall enc a prxy. KnownBvEnc enc => prxy enc a -> SBvEnc enc Source #
newtype Bitvec (enc :: BvEnc) (n :: Nat) Source #
Length-indexed bitvector (Vector) carrying a phantom type-level BvEnc.
Most significant bit is first (index 0) for unsigned bitvectors.
Signed bitvectors have their sign bit first (index 0) and their most significant bit second (index 1).