34 lines
565 B
OCaml
34 lines
565 B
OCaml
(** This module defines the integer type used in all languages. *)
|
|
|
|
type t = Int64.t
|
|
|
|
(** {2 Basic Values} *)
|
|
|
|
val zero : t
|
|
val one : t
|
|
|
|
(** {2 Arithmetic Operations} *)
|
|
|
|
val add : t -> t -> t
|
|
val sub : t -> t -> t
|
|
val mul : t -> t -> t
|
|
val div : t -> t -> t
|
|
|
|
(** {2 Conversions} *)
|
|
|
|
exception DoesNotFit
|
|
|
|
val of_int : int -> t
|
|
val to_int : t -> int
|
|
|
|
val of_string : string -> t
|
|
val to_string : t -> string
|
|
|
|
(** {2 Serialization} *)
|
|
|
|
val t_of_sexp : Sexplib.Sexp.t -> t
|
|
val sexp_of_t : t -> Sexplib.Sexp.t
|
|
|
|
(** {2 Low-level information} *)
|
|
|
|
val size_in_bytes : int
|