aboutsummaryrefslogtreecommitdiffstats
path: root/mppa_k1c/ExtFloats.v
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-08-29 17:47:58 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-08-29 17:47:58 +0200
commit595db90221d4f45682ec5aaac0b485ff32af09e5 (patch)
tree5178e83e4c66a537a6891b1f7a105fa9a116227a /mppa_k1c/ExtFloats.v
parenta114da2cc9f6caca4824582eea75ec91b8439cc7 (diff)
downloadcompcert-kvx-595db90221d4f45682ec5aaac0b485ff32af09e5.tar.gz
compcert-kvx-595db90221d4f45682ec5aaac0b485ff32af09e5.zip
begin implementing minf/maxf
Diffstat (limited to 'mppa_k1c/ExtFloats.v')
-rw-r--r--mppa_k1c/ExtFloats.v33
1 files changed, 33 insertions, 0 deletions
diff --git a/mppa_k1c/ExtFloats.v b/mppa_k1c/ExtFloats.v
new file mode 100644
index 00000000..efea278b
--- /dev/null
+++ b/mppa_k1c/ExtFloats.v
@@ -0,0 +1,33 @@
+Require Import Floats.
+
+Module ExtFloat.
+(** TODO check with the actual K1c *)
+
+Definition min (x : float) (y : float) : float :=
+ match Float.compare x y with
+ | Some Eq | Some Lt => x
+ | Some Gt | None => y
+ end.
+
+Definition max (x : float) (y : float) : float :=
+ match Float.compare x y with
+ | Some Eq | Some Gt => x
+ | Some Lt | None => y
+ end.
+End ExtFloat.
+
+Module ExtFloat32.
+(** TODO check with the actual K1c *)
+
+Definition min (x : float32) (y : float32) : float32 :=
+ match Float32.compare x y with
+ | Some Eq | Some Lt => x
+ | Some Gt | None => y
+ end.
+
+Definition max (x : float32) (y : float32) : float32 :=
+ match Float32.compare x y with
+ | Some Eq | Some Gt => x
+ | Some Lt | None => y
+ end.
+End ExtFloat32.