Module Name: src
Committed By: christos
Date: Fri Sep 30 23:46:15 UTC 2011
Modified Files:
src/tests/lib/libc/gen: t_fpsetround.c
Log Message:
add symbolic name printing.
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/tests/lib/libc/gen/t_fpsetround.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/tests/lib/libc/gen/t_fpsetround.c
diff -u src/tests/lib/libc/gen/t_fpsetround.c:1.3 src/tests/lib/libc/gen/t_fpsetround.c:1.4
--- src/tests/lib/libc/gen/t_fpsetround.c:1.3 Fri Sep 30 14:27:18 2011
+++ src/tests/lib/libc/gen/t_fpsetround.c Fri Sep 30 19:46:15 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: t_fpsetround.c,v 1.3 2011/09/30 18:27:18 christos Exp $ */
+/* $NetBSD: t_fpsetround.c,v 1.4 2011/09/30 23:46:15 christos Exp $ */
/*-
* Copyright (c) 2011 The NetBSD Foundation, Inc.
@@ -36,7 +36,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: t_fpsetround.c,v 1.3 2011/09/30 18:27:18 christos Exp $");
+__RCSID("$NetBSD: t_fpsetround.c,v 1.4 2011/09/30 23:46:15 christos Exp $");
#include <float.h>
#include <math.h>
@@ -82,6 +82,15 @@ static const struct {
{ "-1.9", { -1, -2, -1, -2 } },
};
+static const char *
+getname(int r)
+{
+ for (size_t i = 0; i < __arraycount(rnd); i++)
+ if (rnd[i].rm == r)
+ return rnd[i].n;
+ return "*unknown*";
+}
+
static void
test(int r)
{
@@ -112,24 +121,29 @@ ATF_TC_BODY(fpsetround_basic, tc)
int r;
ATF_CHECK_EQ(r = fpgetround(), FP_RN);
+ if (FP_RN != r)
+ fprintf(stderr, "default expected=%s got=%s\n", getname(FP_RN),
+ getname(r));
ATF_CHECK_EQ(FLT_ROUNDS, 1);
for (size_t i = 0; i < __arraycount(rnd); i++) {
- size_t j = (i + 1) & 3;
- int o = rnd[i].rm;
- int n = rnd[j].rm;
+ const size_t j = (i + 1) & 3;
+ const int o = rnd[i].rm;
+ const int n = rnd[j].rm;
ATF_CHECK_EQ(r = fpsetround(n), o);
if (o != r)
- fprintf(stderr, "set expected=%x got=%x\n", o, r);
+ fprintf(stderr, "set %s expected=%s got=%s\n",
+ getname(n), getname(o), getname(r));
ATF_CHECK_EQ(r = fpgetround(), n);
if (n != r)
- fprintf(stderr, "get expected=%x got=%x\n", n, r);
- ATF_CHECK_EQ(r= FLT_ROUNDS, rnd[j].rf);
+ fprintf(stderr, "get expected=%s got=%s\n", getname(n),
+ getname(r));
+ ATF_CHECK_EQ(r = FLT_ROUNDS, rnd[j].rf);
if (r != rnd[j].rf)
fprintf(stderr, "rounds expected=%x got=%x\n",
rnd[j].rf, r);
- test(rnd[j].rf);
+ test(r);
}
#endif /* defined(__mc68000__) || defined(__vax__) */
}