Copyright | [2016] Trevor L. McDonell |
---|---|
License | BSD3 |
Maintainer | Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> |
Stability | experimental |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Language | Haskell2010 |
Fixed length signed integer types
Documentation
Internals
Large integers of fixed size represented as separate (signed) high and (unsigned) low words.
I2 !hi !lo |
Addition and multiplication with carry
signed :: w -> Signed w Source #
unsigned :: w -> Unsigned w Source #
addWithCarry :: w -> w -> (w, Unsigned w) Source #
mulWithCarry :: w -> w -> (w, Unsigned w) Source #
Num2 Int8 Source # | |
Num2 Int16 Source # | |
Num2 Int32 Source # | |
Num2 Int64 Source # | |
Num2 Word8 Source # | |
Num2 Word16 Source # | |
Num2 Word32 Source # | |
Num2 Word64 Source # | |
(Ord a, Num a, Num2 a, Num (BigInt a b), Ord (BigInt a b), Num2 (BigInt a b), Bits (BigInt a b), Num (BigWord (Unsigned a) b), Num2 (BigWord (Unsigned a) b), Bounded (BigWord (Unsigned a) b), BigIntCtx a b, (~) * (Unsigned (Unsigned a)) (Unsigned a)) => Num2 (BigInt a b) Source # | |
(Integral a, FiniteBits a, Num2 a, Integral b, FiniteBits b, Num2 b, BigWordCtx a b) => Num2 (BigWord a b) Source # | |