package ocamlformat-mlx-lib
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=087d7256a52808715875814d8bccf9172f97e933b398fc8d29ec40dc89fa9e0e
sha512=809b690e6c21110f81918dfdb1b5efecd185a4f26eadb2bb3aa6eb8069db20989e8797650b22a2207b6b26abe97db357c2dc6056943a3a4f630c4e1a0ebb4f1b
doc/ocamlformat-mlx-lib.ocamlformat_stdlib/Ocamlformat_stdlib/Int_conversions/index.html
Module Ocamlformat_stdlib.Int_conversionsSource
include module type of struct include Base.Int_conversions end
Ocaml has the following integer types, with the following bit widths on 32-bit and 64-bit architectures.
arch arch
type 32b 64b
----------------------
int 31 63 (32 when compiled to JavaScript)
nativeint 32 64
int32 32 32
int64 64 64In both cases, the following inequalities hold:
width(int) < width(nativeint)
&& width(int32) <= width(nativeint) <= width(int64)The conversion functions come in one of two flavors.
If width(foo) <= width(bar) on both 32-bit and 64-bit architectures, then we have
val foo_to_bar : foo -> bar otherwise we have
val foo_to_bar : foo -> bar option
val foo_to_bar_exn : foo -> barhuman-friendly string (and possibly sexp) conversions
in the output, to_string, of_string, sexp_of_t, and t_of_sexp convert between t and signed hexadecimal with an optional "0x" or "0X" prefix.
in the output, to_string, to_string_hum, and sexp_of_t convert t to an unsigned binary representation with an "0b" prefix.
global ref affecting whether the sexp_of_t returned by Make is consistent with the to_string input or the to_string_hum output
utility for defining to_string_hum on numeric types -- takes a string matching (-|+)?0-9a-fA-F+ and puts delimiter every chars_per_delimiter characters starting from the right.
insert_delimiter_every ~chars_per_delimiter:3
insert_delimiter ~delimiter:'_'