License | BSD-style |
---|---|
Maintainer | Vincent Hanquez <vincent@snarc.org> |
Stability | experimental |
Portability | Good |
Safe Haskell | None |
Language | Haskell98 |
fast serialization primitives for integer
- i2osp :: Integer -> ByteString
- os2ip :: ByteString -> Integer
- i2ospOf :: Int -> Integer -> Maybe ByteString
- i2ospOf_ :: Int -> Integer -> ByteString
- lengthBytes :: Integer -> Int
Documentation
i2osp :: Integer -> ByteString Source
i2osp converts a positive integer into a byte string
os2ip :: ByteString -> Integer Source
os2ip converts a byte string into a positive integer
i2ospOf :: Int -> Integer -> Maybe ByteString Source
just like i2osp, but take an extra parameter for size.
if the number is too big to fit in len bytes, nothing is returned
otherwise the number is padded with 0 to fit the
len required.
FIXME: use unsafeCreate to fill the bytestring
i2ospOf_ :: Int -> Integer -> ByteString Source
just like i2ospOf except that it doesn't expect a failure: i.e. an integer larger than the number of output bytes requested
for example if you just took a modulo of the number that represent the size (example the RSA modulo n).
lengthBytes :: Integer -> Int Source
returns the number of bytes to store an integer with i2osp
with integer-simple, this function is really slow.