clash-prelude-0.6.0.1: CAES Language for Synchronous Hardware - Prelude library

Safe HaskellNone
LanguageHaskell2010

CLaSH.Sized.Internal.Signed

Contents

Synopsis

Datatypes

newtype Signed n 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.

Constructors

S

The constructor, S, and the field, unsafeToInteger, are not synthesisable.

Instances

Resize Signed 
KnownNat n => Bounded (Signed n) 
KnownNat n => Enum (Signed n)

The functions: enumFrom, enumFromThen, enumFromTo, and enumFromThenTo, are not synthesisable.

Eq (Signed n) 
KnownNat n => Integral (Signed n) 
KnownNat n => Num (Signed n)

Operators do wrap-around on overflow

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

eq# :: Signed n -> Signed n -> Bool Source

Ord

lt# :: Signed n -> Signed n -> Bool Source

ge# :: Signed n -> Signed n -> Bool Source

gt# :: Signed n -> Signed n -> Bool Source

le# :: Signed n -> Signed n -> Bool Source

Enum (not synthesisable)

Bounded

Num

(+#) :: KnownNat n => Signed n -> Signed n -> Signed n Source

(-#) :: KnownNat n => Signed n -> Signed n -> Signed n Source

(*#) :: KnownNat n => Signed n -> Signed n -> Signed n Source

ExtendingNum

plus# :: KnownNat (1 + Max m n) => Signed m -> Signed n -> Signed (1 + Max m n) Source

minus# :: KnownNat (1 + Max m n) => Signed m -> Signed n -> Signed (1 + Max m n) Source

times# :: KnownNat (m + n) => Signed m -> Signed n -> Signed (m + n) Source

Integral

quot# :: KnownNat n => Signed n -> Signed n -> Signed n Source

rem# :: KnownNat n => Signed n -> Signed n -> Signed n Source

div# :: KnownNat n => Signed n -> Signed n -> Signed n Source

mod# :: KnownNat n => Signed n -> Signed n -> Signed n Source

Bits

and# :: KnownNat n => Signed n -> Signed n -> Signed n Source

or# :: KnownNat n => Signed n -> Signed n -> Signed n Source

xor# :: KnownNat n => Signed n -> Signed n -> Signed n Source

Resize

SaturatingNum