package integers
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=f608ce98caf41ddb4eea90e8673bb8ff35acb07ef951bc0bf75b5989ef9b36b8
md5=24d629966763b4956edfb7e64d6c5427
Description
Published: 14 Aug 2021
README
ocaml-integers
The ocaml-integers
library provides a number of 8-, 16-, 32- and 64-bit signed and unsigned integer types, together with aliases such as long
and size_t
whose sizes depend on the host platform.
Features
The interfaces follow the pattern of the signatures of the
Int32
,Int64
, andNativeint
modules in the OCaml standard library.The behaviour also follows the standard library; for example, conversions such as
of_int
truncate, and operations are "modulo" in general:# Unsigned.UInt8.(pred zero);; - : Unsigned.UInt8.t = <uint8 255>
Top-level printers for each type are included
# Unsigned.UInt32.[of_int 103; one; of_string "1000"];; - : Unsigned.UInt32.t list = [<uint32 103>; <uint32 1>; <uint32 1000>]
Infix operators are available:
# Unsigned.UInt32.(Infix.(one + one));; - : Unsigned.UInt32.t = <uint32 2>
Polymorphic operations such as comparison behave correctly:
# open Unsigned.UInt32 # zero < one;; - : bool = true # max_int < zero;; - : bool = false
Integers 32 bits and above are boxed; integers below 32 bits are unboxed.
# Obj.(tag (repr Unsigned.UInt32.zero));; - : int = 255 # Obj.(tag (repr Unsigned.UInt16.zero));; - : int = 1000
Using integers
with js_of_ocaml
The integers_stubs_js
package provides JavaScript stubs that make it possible to use this library with js_of_ocaml
Dev Dependencies
None
Used by (24)
-
bls12-381
>= "3.0.0"
-
bls12-381-unix
>= "1.1.0"
- class_group_vdf
-
ctypes
>= "0.15.0"
-
ctypes-foreign
>= "0.21.1"
-
extism
>= "1.1.0"
-
luv
>= "0.5.13"
- nsq
- octez-libs
- owi
-
owl-base
= "0.7.0"
- pb
- pb-plugin
-
pkcs11
>= "1.0.1"
- posix-base
-
ppx_cstubs
>= "0.5.0.2" & < "0.6.0" | >= "0.6.1.2"
- quickjs
- randii
-
raylib
>= "0.5.1"
-
server-reason-react
>= "0.3.0"
-
srt
>= "0.2.0"
-
tezos-sapling
>= "11.0"
-
unix-errno
>= "0.6.0"
-
zstd
>= "0.3"
Conflicts
None