diff options
author | Emilio G. Cota <cota@braap.org> | 2018-12-21 14:51:59 -0500 |
---|---|---|
committer | Alex Bennée <alex.bennee@linaro.org> | 2019-01-22 20:47:44 +0000 |
commit | 446cfb0d3487a630ab52efe35977dec24a6db384 (patch) | |
tree | 12fd98fc858825036336100574c62de8a4c66136 /tests/fp | |
parent | 952bc8b3c2cbba78261923a1e8ca55cda261dee9 (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')
-rw-r--r-- | tests/fp/fp-bench.c | 11 |
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; |