| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Unwitch.Convert.Integer
Contents
Description
Conversions from Integer.
Synopsis
- toDouble :: Integer -> Either Overflows Double
- toFloat :: Integer -> Either Overflows Float
- toNatural :: Integer -> Either Overflows Natural
- toInt8 :: Integer -> Maybe Int8
- toInt16 :: Integer -> Maybe Int16
- toInt32 :: Integer -> Maybe Int32
- toInt64 :: Integer -> Maybe Int64
- toInt :: Integer -> Maybe Int
- toWord8 :: Integer -> Maybe Word8
- toWord16 :: Integer -> Maybe Word16
- toWord32 :: Integer -> Maybe Word32
- toWord64 :: Integer -> Maybe Word64
- toWord :: Integer -> Maybe Word
- toCInt :: Integer -> Maybe CInt
- toDouble# :: Integer -> (# Overflows | Double #)
- toFloat# :: Integer -> (# Overflows | Float #)
- toNatural# :: Integer -> (# Overflows | Natural #)
- toInt8# :: Integer -> (# Int8 | (# #) #)
- toInt16# :: Integer -> (# Int16 | (# #) #)
- toInt32# :: Integer -> (# Int32 | (# #) #)
- toInt64# :: Integer -> (# Int64 | (# #) #)
- toInt# :: Integer -> (# Int | (# #) #)
- toWord8# :: Integer -> (# Word8 | (# #) #)
- toWord16# :: Integer -> (# Word16 | (# #) #)
- toWord32# :: Integer -> (# Word32 | (# #) #)
- toWord64# :: Integer -> (# Word64 | (# #) #)
- toWord# :: Integer -> (# Word | (# #) #)
Conversions
toDouble :: Integer -> Either Overflows Double Source #
Checked conversion, fails if outside exact double integer range (±9007199254740991).
toFloat :: Integer -> Either Overflows Float Source #
Checked conversion, fails if outside exact float integer range (±16777215).
toCInt :: Integer -> Maybe CInt Source #
Narrowing conversion via Int32, fails if outside Int32 range.
Unboxed conversions
These use GHC unboxed types and unboxed sums for zero-allocation
failure handling. Requires the MagicHash, UnboxedSums and
UnboxedTuples language extensions.
See the GHC manual on unboxed types.
toDouble# :: Integer -> (# Overflows | Double #) Source #
Bounds-checked double conversion via ISIPIN
toInt8# :: Integer -> (# Int8 | (# #) #) Source #
Integer->Int8 via ISIPIN, narrow and roundtrip at Int#
toWord8# :: Integer -> (# Word8 | (# #) #) Source #
Integer->Word8, IS case uses signed->unsigned narrow