aboutsummaryrefslogtreecommitdiffstats
path: root/kvx/ExtZ.v
diff options
context:
space:
mode:
authorDavid Monniaux <David.Monniaux@univ-grenoble-alpes.fr>2022-03-07 16:21:13 +0100
committerDavid Monniaux <David.Monniaux@univ-grenoble-alpes.fr>2022-03-07 16:21:13 +0100
commit25e82e849de35eaef24412b468d3a36c72f4fcb6 (patch)
treee6abc778dfa37ac5df55c8b0926ed681b9c04f04 /kvx/ExtZ.v
parentab776cd94e000d07c4d14521a8d0c635d3b8412c (diff)
parent2d9138547d93c32c0ec5ae54b4afc022f5c434ff (diff)
downloadcompcert-kvx-25e82e849de35eaef24412b468d3a36c72f4fcb6.tar.gz
compcert-kvx-25e82e849de35eaef24412b468d3a36c72f4fcb6.zip
Merge remote-tracking branch 'origin/kvx_fp_division' into kvx-work
Diffstat (limited to 'kvx/ExtZ.v')
-rw-r--r--kvx/ExtZ.v12
1 files changed, 12 insertions, 0 deletions
diff --git a/kvx/ExtZ.v b/kvx/ExtZ.v
new file mode 100644
index 00000000..095fd0cc
--- /dev/null
+++ b/kvx/ExtZ.v
@@ -0,0 +1,12 @@
+Require Import Coq.ZArith.Zdiv.
+
+Open Scope Z.
+
+Definition Zdiv_ne (a b : Z) :=
+ let q := Z.div a b in
+ let q1 := Z.succ q in
+ match Z.compare (a-b*q) (b*q1-a) with
+ | Lt => q
+ | Gt => q1
+ | Eq => (if Z.even q then q else q1)
+ end.