guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 63/86: Add unordered float compare-and-branch tests


From: Andy Wingo
Subject: [Guile-commits] 63/86: Add unordered float compare-and-branch tests
Date: Wed, 3 Apr 2019 11:39:01 -0400 (EDT)

wingo pushed a commit to branch lightening
in repository guile.

commit a021c73438a75fe53a5389306a140ede5c778662
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 26 15:22:14 2019 +0100

    Add unordered float compare-and-branch tests
---
 tests/{bner_d.c => bltgtr_d.c}  |  7 ++++++-
 tests/{bner_f.c => bltgtr_f.c}  |  7 ++++++-
 tests/bner_d.c                  |  5 +++++
 tests/bner_f.c                  |  5 +++++
 tests/{bner_d.c => bordr_d.c}   |  9 +++++++--
 tests/{bner_f.c => bordr_f.c}   |  9 +++++++--
 tests/{bner_d.c => bunordr_d.c} | 15 ++++++++++-----
 tests/{bner_f.c => bunordr_f.c} | 15 ++++++++++-----
 8 files changed, 56 insertions(+), 16 deletions(-)

diff --git a/tests/bner_d.c b/tests/bltgtr_d.c
similarity index 80%
copy from tests/bner_d.c
copy to tests/bltgtr_d.c
index a4d361b..79ef139 100644
--- a/tests/bner_d.c
+++ b/tests/bltgtr_d.c
@@ -12,7 +12,7 @@ run_test(jit_state_t *j, uint8_t *arena_base, size_t 
arena_size)
   jit_receive(j, 2, abi, args);
   jit_load_args(j, 2, abi, args, regs);
 
-  jit_reloc_t r = jit_bner_d(j, JIT_F0, JIT_F1);
+  jit_reloc_t r = jit_bltgtr_d(j, JIT_F0, JIT_F1);
   jit_reti(j, 0);
   jit_patch_here(j, r);
   jit_reti(j, 1);
@@ -24,6 +24,11 @@ run_test(jit_state_t *j, uint8_t *arena_base, size_t 
arena_size)
   ASSERT(f(1, 0) == 1);
   ASSERT(f(-1, 0) == 1);
   ASSERT(f(0, -1) == 1);
+  ASSERT(f(1, 1) == 0);
+
+  ASSERT(f(0, 0.0/0.0) == 0);
+  ASSERT(f(0.0/0.0, 0) == 0);
+  ASSERT(f(0.0/0.0, 0.0/0.0) == 0);
 }
 
 int
diff --git a/tests/bner_f.c b/tests/bltgtr_f.c
similarity index 80%
copy from tests/bner_f.c
copy to tests/bltgtr_f.c
index e2badd9..8cbf83e 100644
--- a/tests/bner_f.c
+++ b/tests/bltgtr_f.c
@@ -12,7 +12,7 @@ run_test(jit_state_t *j, uint8_t *arena_base, size_t 
arena_size)
   jit_receive(j, 2, abi, args);
   jit_load_args(j, 2, abi, args, regs);
 
-  jit_reloc_t r = jit_bner_f(j, JIT_F0, JIT_F1);
+  jit_reloc_t r = jit_bltgtr_f(j, JIT_F0, JIT_F1);
   jit_reti(j, 0);
   jit_patch_here(j, r);
   jit_reti(j, 1);
@@ -24,6 +24,11 @@ run_test(jit_state_t *j, uint8_t *arena_base, size_t 
arena_size)
   ASSERT(f(1, 0) == 1);
   ASSERT(f(-1, 0) == 1);
   ASSERT(f(0, -1) == 1);
+  ASSERT(f(1, 1) == 0);
+
+  ASSERT(f(0, 0.0/0.0) == 0);
+  ASSERT(f(0.0/0.0, 0) == 0);
+  ASSERT(f(0.0/0.0, 0.0/0.0) == 0);
 }
 
 int
diff --git a/tests/bner_d.c b/tests/bner_d.c
index a4d361b..d106ef5 100644
--- a/tests/bner_d.c
+++ b/tests/bner_d.c
@@ -24,6 +24,11 @@ run_test(jit_state_t *j, uint8_t *arena_base, size_t 
arena_size)
   ASSERT(f(1, 0) == 1);
   ASSERT(f(-1, 0) == 1);
   ASSERT(f(0, -1) == 1);
+  ASSERT(f(1, 1) == 0);
+
+  ASSERT(f(0, 0.0/0.0) == 1);
+  ASSERT(f(0.0/0.0, 0) == 1);
+  ASSERT(f(0.0/0.0, 0.0/0.0) == 1);
 }
 
 int
diff --git a/tests/bner_f.c b/tests/bner_f.c
index e2badd9..7c3753d 100644
--- a/tests/bner_f.c
+++ b/tests/bner_f.c
@@ -24,6 +24,11 @@ run_test(jit_state_t *j, uint8_t *arena_base, size_t 
arena_size)
   ASSERT(f(1, 0) == 1);
   ASSERT(f(-1, 0) == 1);
   ASSERT(f(0, -1) == 1);
+  ASSERT(f(1, 1) == 0);
+
+  ASSERT(f(0, 0.0/0.0) == 1);
+  ASSERT(f(0.0/0.0, 0) == 1);
+  ASSERT(f(0.0/0.0, 0.0/0.0) == 1);
 }
 
 int
diff --git a/tests/bner_d.c b/tests/bordr_d.c
similarity index 77%
copy from tests/bner_d.c
copy to tests/bordr_d.c
index a4d361b..24f4214 100644
--- a/tests/bner_d.c
+++ b/tests/bordr_d.c
@@ -12,18 +12,23 @@ run_test(jit_state_t *j, uint8_t *arena_base, size_t 
arena_size)
   jit_receive(j, 2, abi, args);
   jit_load_args(j, 2, abi, args, regs);
 
-  jit_reloc_t r = jit_bner_d(j, JIT_F0, JIT_F1);
+  jit_reloc_t r = jit_bordr_d(j, JIT_F0, JIT_F1);
   jit_reti(j, 0);
   jit_patch_here(j, r);
   jit_reti(j, 1);
 
   intmax_t (*f)(double, double) = jit_end(j, NULL);
 
-  ASSERT(f(0, 0) == 0);
+  ASSERT(f(0, 0) == 1);
   ASSERT(f(0, 1) == 1);
   ASSERT(f(1, 0) == 1);
   ASSERT(f(-1, 0) == 1);
   ASSERT(f(0, -1) == 1);
+  ASSERT(f(1, 1) == 1);
+
+  ASSERT(f(0, 0.0/0.0) == 0);
+  ASSERT(f(0.0/0.0, 0) == 0);
+  ASSERT(f(0.0/0.0, 0.0/0.0) == 0);
 }
 
 int
diff --git a/tests/bner_f.c b/tests/bordr_f.c
similarity index 77%
copy from tests/bner_f.c
copy to tests/bordr_f.c
index e2badd9..827da92 100644
--- a/tests/bner_f.c
+++ b/tests/bordr_f.c
@@ -12,18 +12,23 @@ run_test(jit_state_t *j, uint8_t *arena_base, size_t 
arena_size)
   jit_receive(j, 2, abi, args);
   jit_load_args(j, 2, abi, args, regs);
 
-  jit_reloc_t r = jit_bner_f(j, JIT_F0, JIT_F1);
+  jit_reloc_t r = jit_bordr_f(j, JIT_F0, JIT_F1);
   jit_reti(j, 0);
   jit_patch_here(j, r);
   jit_reti(j, 1);
 
   intmax_t (*f)(float, float) = jit_end(j, NULL);
 
-  ASSERT(f(0, 0) == 0);
+  ASSERT(f(0, 0) == 1);
   ASSERT(f(0, 1) == 1);
   ASSERT(f(1, 0) == 1);
   ASSERT(f(-1, 0) == 1);
   ASSERT(f(0, -1) == 1);
+  ASSERT(f(1, 1) == 1);
+
+  ASSERT(f(0, 0.0/0.0) == 0);
+  ASSERT(f(0.0/0.0, 0) == 0);
+  ASSERT(f(0.0/0.0, 0.0/0.0) == 0);
 }
 
 int
diff --git a/tests/bner_d.c b/tests/bunordr_d.c
similarity index 68%
copy from tests/bner_d.c
copy to tests/bunordr_d.c
index a4d361b..ef3818d 100644
--- a/tests/bner_d.c
+++ b/tests/bunordr_d.c
@@ -12,7 +12,7 @@ run_test(jit_state_t *j, uint8_t *arena_base, size_t 
arena_size)
   jit_receive(j, 2, abi, args);
   jit_load_args(j, 2, abi, args, regs);
 
-  jit_reloc_t r = jit_bner_d(j, JIT_F0, JIT_F1);
+  jit_reloc_t r = jit_bunordr_d(j, JIT_F0, JIT_F1);
   jit_reti(j, 0);
   jit_patch_here(j, r);
   jit_reti(j, 1);
@@ -20,10 +20,15 @@ run_test(jit_state_t *j, uint8_t *arena_base, size_t 
arena_size)
   intmax_t (*f)(double, double) = jit_end(j, NULL);
 
   ASSERT(f(0, 0) == 0);
-  ASSERT(f(0, 1) == 1);
-  ASSERT(f(1, 0) == 1);
-  ASSERT(f(-1, 0) == 1);
-  ASSERT(f(0, -1) == 1);
+  ASSERT(f(0, 1) == 0);
+  ASSERT(f(1, 0) == 0);
+  ASSERT(f(-1, 0) == 0);
+  ASSERT(f(0, -1) == 0);
+  ASSERT(f(1, 1) == 0);
+
+  ASSERT(f(0, 0.0/0.0) == 1);
+  ASSERT(f(0.0/0.0, 0) == 1);
+  ASSERT(f(0.0/0.0, 0.0/0.0) == 1);
 }
 
 int
diff --git a/tests/bner_f.c b/tests/bunordr_f.c
similarity index 68%
copy from tests/bner_f.c
copy to tests/bunordr_f.c
index e2badd9..3af0238 100644
--- a/tests/bner_f.c
+++ b/tests/bunordr_f.c
@@ -12,7 +12,7 @@ run_test(jit_state_t *j, uint8_t *arena_base, size_t 
arena_size)
   jit_receive(j, 2, abi, args);
   jit_load_args(j, 2, abi, args, regs);
 
-  jit_reloc_t r = jit_bner_f(j, JIT_F0, JIT_F1);
+  jit_reloc_t r = jit_bunordr_f(j, JIT_F0, JIT_F1);
   jit_reti(j, 0);
   jit_patch_here(j, r);
   jit_reti(j, 1);
@@ -20,10 +20,15 @@ run_test(jit_state_t *j, uint8_t *arena_base, size_t 
arena_size)
   intmax_t (*f)(float, float) = jit_end(j, NULL);
 
   ASSERT(f(0, 0) == 0);
-  ASSERT(f(0, 1) == 1);
-  ASSERT(f(1, 0) == 1);
-  ASSERT(f(-1, 0) == 1);
-  ASSERT(f(0, -1) == 1);
+  ASSERT(f(0, 1) == 0);
+  ASSERT(f(1, 0) == 0);
+  ASSERT(f(-1, 0) == 0);
+  ASSERT(f(0, -1) == 0);
+  ASSERT(f(1, 1) == 0);
+
+  ASSERT(f(0, 0.0/0.0) == 1);
+  ASSERT(f(0.0/0.0, 0) == 1);
+  ASSERT(f(0.0/0.0, 0.0/0.0) == 1);
 }
 
 int



reply via email to

[Prev in Thread] Current Thread [Next in Thread]