| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Data.PackStream.Integer
Contents
Description
PackStream integer type covering the full [-2^63, 2^64-1] range.
Synopsis
- data PSInteger
- class ToPSInteger a where
- toPSInteger :: a -> PSInteger
- class FromPSInteger a where
- fromPSInteger :: PSInteger -> Maybe a
- fromIntegerTry :: Integer -> Either ArithException PSInteger
- tryPSInteger :: Word8 -> (PSInteger -> a) -> Get a -> Get a
Documentation
Integer type that represents the value range of integral numbers in PackStream; i.e. \( \left[ -2^{63}, 2^{64}-1 \right] \).
In other words, PSInteger provides the union of the value ranges of Word64 and Int64.
This type can be unboxed (i.e. via {-# UNPACK #-}).
Instances
class ToPSInteger a where Source #
Types that can be losslessly converted to PSInteger.
Methods
toPSInteger :: a -> PSInteger Source #
Instances
| ToPSInteger Int16 Source # | |
Defined in Data.PackStream.Integer Methods toPSInteger :: Int16 -> PSInteger Source # | |
| ToPSInteger Int32 Source # | |
Defined in Data.PackStream.Integer Methods toPSInteger :: Int32 -> PSInteger Source # | |
| ToPSInteger Int64 Source # | |
Defined in Data.PackStream.Integer Methods toPSInteger :: Int64 -> PSInteger Source # | |
| ToPSInteger Int8 Source # | |
Defined in Data.PackStream.Integer Methods toPSInteger :: Int8 -> PSInteger Source # | |
| ToPSInteger Word16 Source # | |
Defined in Data.PackStream.Integer Methods toPSInteger :: Word16 -> PSInteger Source # | |
| ToPSInteger Word32 Source # | |
Defined in Data.PackStream.Integer Methods toPSInteger :: Word32 -> PSInteger Source # | |
| ToPSInteger Word8 Source # | |
Defined in Data.PackStream.Integer Methods toPSInteger :: Word8 -> PSInteger Source # | |
| ToPSInteger Int Source # | |
Defined in Data.PackStream.Integer Methods toPSInteger :: Int -> PSInteger Source # | |
class FromPSInteger a where Source #
Convert a PSInteger value to something else if possible
The instances for FromPSInteger are supposed to be consistent with the respective instances for ToPSInteger, e.g.
fromPSInteger . toPSInteger == Just
Methods
fromPSInteger :: PSInteger -> Maybe a Source #
Instances
| FromPSInteger Int16 Source # | |
Defined in Data.PackStream.Integer | |
| FromPSInteger Int32 Source # | |
Defined in Data.PackStream.Integer | |
| FromPSInteger Int64 Source # | |
Defined in Data.PackStream.Integer | |
| FromPSInteger Int8 Source # | |
Defined in Data.PackStream.Integer | |
| FromPSInteger Word16 Source # | |
Defined in Data.PackStream.Integer | |
| FromPSInteger Word32 Source # | |
Defined in Data.PackStream.Integer | |
| FromPSInteger Word8 Source # | |
Defined in Data.PackStream.Integer | |
| FromPSInteger Int Source # | |
Defined in Data.PackStream.Integer | |