From a231329d7eb0163b97732d4361c25a346f5c09b4 Mon Sep 17 00:00:00 2001 From: Maxime Dénès Date: Sat, 5 Apr 2014 17:49:10 -0400 Subject: Uint31 support. --- kernel/uint31.mli | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 kernel/uint31.mli (limited to 'kernel/uint31.mli') diff --git a/kernel/uint31.mli b/kernel/uint31.mli new file mode 100644 index 000000000..2094df6fa --- /dev/null +++ b/kernel/uint31.mli @@ -0,0 +1,39 @@ +type t + + (* conversion to int *) +val to_int : t -> int +val of_int : int -> t +val of_uint : int -> t + + (* convertion to a string *) +val to_string : t -> string +val of_string : string -> t + + (* logical operations *) +val l_sl : t -> t -> t +val l_sr : t -> t -> t +val l_and : t -> t -> t +val l_xor : t -> t -> t +val l_or : t -> t -> t + + (* Arithmetic operations *) +val add : t -> t -> t +val sub : t -> t -> t +val mul : t -> t -> t +val div : t -> t -> t +val rem : t -> t -> t + + (* Specific arithmetic operations *) +val mulc : t -> t -> t * t +val div21 : t -> t -> t -> t * t + + (* comparison *) +val lt : t -> t -> bool +val eq : t -> t -> bool +val le : t -> t -> bool +val compare : t -> t -> int + + (* head and tail *) +val head0 : t -> t +val tail0 : t -> t + -- cgit v1.2.3