| Copyright | (C) 2013-2016 University of Twente |
|---|---|
| License | BSD2 (see the file LICENSE) |
| Maintainer | Christiaan Baaij <christiaan.baaij@gmail.com> |
| Safe Haskell | Trustworthy |
| Language | Haskell2010 |
Clash.Sized.Signed
Description
Documentation
data Signed (n :: Nat) Source #
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.
>>>maxBound :: Signed 33>>>minBound :: Signed 3-4>>>read (show (minBound :: Signed 3)) :: Signed 3-4>>>1 + 2 :: Signed 33>>>2 + 3 :: Signed 3-3>>>(-2) + (-3) :: Signed 33>>>2 * 3 :: Signed 46>>>2 * 4 :: Signed 4-8>>>(2 :: Signed 3) `mul` (4 :: Signed 4) :: Signed 78>>>(2 :: Signed 3) `add` (3 :: Signed 3) :: Signed 45>>>(-2 :: Signed 3) `add` (-3 :: Signed 3) :: Signed 4-5>>>satAdd SatSymmetric 2 3 :: Signed 33>>>satAdd SatSymmetric (-2) (-3) :: Signed 3-3