aboutsummaryrefslogtreecommitdiff
path: root/tests/fp/fp-bench.c
diff options
context:
space:
mode:
authorEmilio G. Cota <cota@braap.org>2018-12-21 14:51:59 -0500
committerAlex Bennée <alex.bennee@linaro.org>2019-01-22 20:47:44 +0000
commit446cfb0d3487a630ab52efe35977dec24a6db384 (patch)
tree12fd98fc858825036336100574c62de8a4c66136 /tests/fp/fp-bench.c
parent952bc8b3c2cbba78261923a1e8ca55cda261dee9 (diff)
fp-bench: fix update_random_ops
The second test in the branches is wrong; fix while converting to a switch statement, which is easier to get right. Signed-off-by: Emilio G. Cota <cota@braap.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Diffstat (limited to 'tests/fp/fp-bench.c')
-rw-r--r--tests/fp/fp-bench.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/tests/fp/fp-bench.c b/tests/fp/fp-bench.c
index f5bc5edebf..546bac9c9c 100644
--- a/tests/fp/fp-bench.c
+++ b/tests/fp/fp-bench.c
@@ -143,15 +143,20 @@ static void update_random_ops(int n_ops, enum precision prec)
for (i = 0; i < n_ops; i++) {
uint64_t r = random_ops[i];
- if (prec == PREC_SINGLE || PREC_FLOAT32) {
+ switch (prec) {
+ case PREC_SINGLE:
+ case PREC_FLOAT32:
do {
r = xorshift64star(r);
} while (!float32_is_normal(r));
- } else if (prec == PREC_DOUBLE || PREC_FLOAT64) {
+ break;
+ case PREC_DOUBLE:
+ case PREC_FLOAT64:
do {
r = xorshift64star(r);
} while (!float64_is_normal(r));
- } else {
+ break;
+ default:
g_assert_not_reached();
}
random_ops[i] = r;