| Copyright | (C) 2013-2016, University of Twente |
|---|---|
| License | BSD2 (see the file LICENSE) |
| Maintainer | Christiaan Baaij <christiaan.baaij@gmail.com> |
| Safe Haskell | Unsafe |
| Language | Haskell2010 |
| Extensions |
|
CLaSH.Sized.Internal.Index
Contents
Description
- newtype Index n = I {}
- pack# :: Index n -> BitVector (CLog 2 n)
- unpack# :: KnownNat n => BitVector (CLog 2 n) -> Index n
- eq# :: Index n -> Index n -> Bool
- neq# :: Index n -> Index n -> Bool
- lt# :: Index n -> Index n -> Bool
- ge# :: Index n -> Index n -> Bool
- gt# :: Index n -> Index n -> Bool
- le# :: Index n -> Index n -> Bool
- enumFrom# :: KnownNat n => Index n -> [Index n]
- enumFromThen# :: KnownNat n => Index n -> Index n -> [Index n]
- enumFromTo# :: KnownNat n => Index n -> Index n -> [Index n]
- enumFromThenTo# :: KnownNat n => Index n -> Index n -> Index n -> [Index n]
- maxBound# :: KnownNat n => Index n
- (+#) :: KnownNat n => Index n -> Index n -> Index n
- (-#) :: KnownNat n => Index n -> Index n -> Index n
- (*#) :: KnownNat n => Index n -> Index n -> Index n
- fromInteger# :: KnownNat n => Integer -> Index n
- plus# :: Index m -> Index n -> Index ((m + n) - 1)
- minus# :: Index m -> Index n -> Index ((m + n) - 1)
- times# :: Index m -> Index n -> Index (((m - 1) * (n - 1)) + 1)
- quot# :: Index n -> Index n -> Index n
- rem# :: Index n -> Index n -> Index n
- toInteger# :: Index n -> Integer
- resize# :: KnownNat m => Index n -> Index m
Datatypes
Arbitrary-bounded unsigned integer represented by ceil(log_2(n)) bits.
Given an upper bound n, an Index n number has a range of: [0 .. n-1]
>>>maxBound :: Index 87>>>minBound :: Index 80>>>read (show (maxBound :: Index 8)) :: Index 87>>>1 + 2 :: Index 83>>>2 + 6 :: Index 8*** Exception: CLaSH.Sized.Index: result 8 is out of bounds: [0..7]>>>1 - 3 :: Index 8*** Exception: CLaSH.Sized.Index: result -2 is out of bounds: [0..7]>>>2 * 3 :: Index 86>>>2 * 4 :: Index 8*** Exception: CLaSH.Sized.Index: result 8 is out of bounds: [0..7]
Constructors
| I | The constructor, |
Fields | |
Instances
Type classes
BitConvert
Eq
Ord
Enum (not synthesisable)
Bounded
Num
fromInteger# :: KnownNat n => Integer -> Index n Source
ExtendingNum
Integral
toInteger# :: Index n -> Integer Source