aboutsummaryrefslogtreecommitdiff
path: root/kernel/uint63.mli
diff options
context:
space:
mode:
authorMaxime Dénès2019-07-30 09:11:36 +0200
committerMaxime Dénès2019-07-30 09:11:36 +0200
commit07698484fda80da50b5bd31e95dbd9163db744c8 (patch)
tree656cace59c627380969ec5310967acabb3dc2925 /kernel/uint63.mli
parent807b1e18575914f9956569ab71bb5fe29716cbdf (diff)
parent8675b9d1a574aceb9a9d40c9c135db9c042e00b1 (diff)
Merge PR #10430: [Extraction] Add support for primitive integers
Ack-by: SkySkimmer Reviewed-by: Zimmi48 Reviewed-by: maximedenes
Diffstat (limited to 'kernel/uint63.mli')
-rw-r--r--kernel/uint63.mli12
1 files changed, 12 insertions, 0 deletions
diff --git a/kernel/uint63.mli b/kernel/uint63.mli
index 93632da110..5542716af2 100644
--- a/kernel/uint63.mli
+++ b/kernel/uint63.mli
@@ -37,6 +37,8 @@ val mul : t -> t -> t
val div : t -> t -> t
val rem : t -> t -> t
+val diveucl : t -> t -> t * t
+
(* Specific arithmetic operations *)
val mulc : t -> t -> t * t
val addmuldiv : t -> t -> t -> t
@@ -57,3 +59,13 @@ val head0 : t -> t
val tail0 : t -> t
val is_uint63 : Obj.t -> bool
+
+(* Arithmetic with explicit carries *)
+
+(* Analog of Numbers.Abstract.Cyclic.carry *)
+type 'a carry = C0 of 'a | C1 of 'a
+
+val addc : t -> t -> t carry
+val addcarryc : t -> t -> t carry
+val subc : t -> t -> t carry
+val subcarryc : t -> t -> t carry