diff options
| author | Maxime Dénès | 2019-07-30 09:11:36 +0200 |
|---|---|---|
| committer | Maxime Dénès | 2019-07-30 09:11:36 +0200 |
| commit | 07698484fda80da50b5bd31e95dbd9163db744c8 (patch) | |
| tree | 656cace59c627380969ec5310967acabb3dc2925 /kernel/uint63.mli | |
| parent | 807b1e18575914f9956569ab71bb5fe29716cbdf (diff) | |
| parent | 8675b9d1a574aceb9a9d40c9c135db9c042e00b1 (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.mli | 12 |
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 |
