Safe Haskell | None |
---|---|
Language | Haskell2010 |
- newtype Signed n = S {}
- size# :: KnownNat n => Signed n -> Int
- pack# :: KnownNat n => Signed n -> BitVector n
- unpack# :: KnownNat n => BitVector n -> Signed n
- eq# :: Signed n -> Signed n -> Bool
- neq# :: Signed n -> Signed n -> Bool
- lt# :: Signed n -> Signed n -> Bool
- ge# :: Signed n -> Signed n -> Bool
- gt# :: Signed n -> Signed n -> Bool
- le# :: Signed n -> Signed n -> Bool
- enumFrom# :: KnownNat n => Signed n -> [Signed n]
- enumFromThen# :: KnownNat n => Signed n -> Signed n -> [Signed n]
- enumFromTo# :: KnownNat n => Signed n -> Signed n -> [Signed n]
- enumFromThenTo# :: KnownNat n => Signed n -> Signed n -> Signed n -> [Signed n]
- minBound# :: KnownNat n => Signed n
- maxBound# :: KnownNat n => Signed n
- (+#) :: KnownNat n => Signed n -> Signed n -> Signed n
- (-#) :: KnownNat n => Signed n -> Signed n -> Signed n
- (*#) :: KnownNat n => Signed n -> Signed n -> Signed n
- negate# :: KnownNat n => Signed n -> Signed n
- abs# :: KnownNat n => Signed n -> Signed n
- fromInteger# :: KnownNat n => Integer -> Signed (n :: Nat)
- plus# :: KnownNat (1 + Max m n) => Signed m -> Signed n -> Signed (1 + Max m n)
- minus# :: KnownNat (1 + Max m n) => Signed m -> Signed n -> Signed (1 + Max m n)
- times# :: KnownNat (m + n) => Signed m -> Signed n -> Signed (m + n)
- quot# :: KnownNat n => Signed n -> Signed n -> Signed n
- rem# :: KnownNat n => Signed n -> Signed n -> Signed n
- div# :: KnownNat n => Signed n -> Signed n -> Signed n
- mod# :: KnownNat n => Signed n -> Signed n -> Signed n
- toInteger# :: Signed n -> Integer
- and# :: KnownNat n => Signed n -> Signed n -> Signed n
- or# :: KnownNat n => Signed n -> Signed n -> Signed n
- xor# :: KnownNat n => Signed n -> Signed n -> Signed n
- complement# :: KnownNat n => Signed n -> Signed n
- shiftL# :: KnownNat n => Signed n -> Int -> Signed n
- shiftR# :: KnownNat n => Signed n -> Int -> Signed n
- rotateL# :: KnownNat n => Signed n -> Int -> Signed n
- rotateR# :: KnownNat n => Signed n -> Int -> Signed n
- popCount# :: KnownNat n => Signed n -> Int
- resize# :: (KnownNat n, KnownNat m) => Signed n -> Signed m
- truncateB# :: KnownNat m => Signed (n + m) -> Signed m
- minBoundSym# :: KnownNat n => Signed n
Datatypes
Arbitrary-width signed integer represented by n
bits, including the sign
bit.
Uses standard 2-complements representation. Meaning that, given n
bits,
a Signed
n
number has a range of: [-(2^(n
-1)) .. 2^(n
-1)-1]
NB: The Num
operators perform wrap-around
on overflow. If you want
saturation on overflow, check out the SaturatingNum
class.
S | The constructor, |
Resize Signed | |
KnownNat n => Bounded (Signed n) | |
KnownNat n => Enum (Signed n) | The functions: |
Eq (Signed n) | |
KnownNat n => Integral (Signed n) | |
KnownNat n => Num (Signed n) | Operators do |
Ord (Signed n) | |
KnownNat n => Real (Signed n) | |
Show (Signed n) | |
KnownNat n => Bits (Signed n) | |
KnownNat n => FiniteBits (Signed n) | |
KnownNat n => Default (Signed n) | |
KnownNat n => Lift (Signed n) | |
(KnownNat n, KnownNat ((+) 1 n), KnownNat ((+) n n)) => SaturatingNum (Signed n) | |
KnownNat n => BitPack (Signed n) | |
Bundle (Signed n) | |
(KnownNat ((+) 1 (Max m n)), KnownNat ((+) m n)) => ExtendingNum (Signed m) (Signed n) | |
Typeable (Nat -> *) Signed | |
type Unbundled clk (Signed n) = CSignal clk (Signed n) | |
type BitSize (Signed n) = n | |
type AResult (Signed m) (Signed n) = Signed ((+) 1 (Max m n)) | |
type MResult (Signed m) (Signed n) = Signed ((+) m n) |
Accessors
Length information
Type classes
BitConvert
Ord
Enum (not synthesisable)
Bounded
Num
ExtendingNum
Integral
toInteger# :: Signed n -> Integer Source
Bits
complement# :: KnownNat n => Signed n -> Signed n Source
Resize
SaturatingNum
minBoundSym# :: KnownNat n => Signed n Source