Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Synopsis
- data Integer
- toPositive :: Integer -> Maybe Positive
- fromPositive :: Positive -> Integer
- toNatural :: Integer -> Maybe Natural
- fromNatural :: Natural -> Integer
- toSigned :: Integer -> Signed
- fromSigned :: Signed -> Integer
- toInt :: Integer -> Maybe Int
- fromInt :: Int -> Integer
- toWord :: Integer -> Maybe Word
- fromWord :: Word -> Integer
Type
Arbitrary precision integers. In contrast with fixed-size integral types
such as Int
, the Integer
type represents the entire infinite range of
integers.
Integers are stored in a kind of sign-magnitude form, hence do not expect two's complement form when using bit operations.
If the value is small (fit into an Int
), IS
constructor is used.
Otherwise Integer
and IN
constructors are used to store a BigNat
representing respectively the positive or the negative value magnitude.
Invariant: Integer
and IN
are used iff value doesn't fit in IS
Instances
Conversion
Positive
fromPositive :: Positive -> Integer Source #
Natural
fromNatural :: Natural -> Integer Source #
Signed
fromSigned :: Signed -> Integer Source #