Module Name:    src
Committed By:   riastradh
Date:           Mon Nov  6 13:48:13 UTC 2023

Modified Files:
        src/tests/lib/libm: t_fenv.c

Log Message:
t_fenv: Factor checks out of switch in checkrounding.

No functional change intended, just tidies up a bit.

PR port-mips/57680

XXX pullup-10


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/tests/lib/libm/t_fenv.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/libm/t_fenv.c
diff -u src/tests/lib/libm/t_fenv.c:1.12 src/tests/lib/libm/t_fenv.c:1.13
--- src/tests/lib/libm/t_fenv.c:1.12	Mon Nov  6 13:48:00 2023
+++ src/tests/lib/libm/t_fenv.c	Mon Nov  6 13:48:12 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: t_fenv.c,v 1.12 2023/11/06 13:48:00 riastradh Exp $ */
+/* $NetBSD: t_fenv.c,v 1.13 2023/11/06 13:48:12 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -29,7 +29,7 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: t_fenv.c,v 1.12 2023/11/06 13:48:00 riastradh Exp $");
+__RCSID("$NetBSD: t_fenv.c,v 1.13 2023/11/06 13:48:12 riastradh Exp $");
 
 #include <atf-c.h>
 
@@ -128,52 +128,33 @@ checkrounding(int feround, const char *n
 	volatile double y1 = -1 + ulp1/4;
 	volatile double y2 = 1 + 3*(ulp1/2);
 
+	double z1, z2;
+
 	switch (feround) {
-	case FE_TONEAREST: {
-		double z1 = -1;
-		double z2 = 1 + 2*ulp1;
-		ATF_CHECK_EQ_MSG(y1, z1, "%s[-1 + ulp(1)/4]"
-		    " expected=%a actual=%a",
-		    name, y1, z1);
-		ATF_CHECK_EQ_MSG(y2, z2, "%s[1 + 3*(ulp(1)/2)]"
-		    " expected=%a actual=%a",
-		    name, y2, z2);
+	case FE_TONEAREST:
+		z1 = -1;
+		z2 = 1 + 2*ulp1;
 		break;
-	}
-	case FE_TOWARDZERO: {
-		double z1 = -1 + ulp1/2;
-		double z2 = 1 + ulp1;
-		ATF_CHECK_EQ_MSG(y1, z1, "%s[-1 + ulp(1)/4]"
-		    " expected=%a actual=%a",
-		    name, y1, z1);
-		ATF_CHECK_EQ_MSG(y2, z2, "%s[1 + 3*(ulp(1)/2)]"
-		    " expected=%a actual=%a",
-		    name, y2, z2);
+	case FE_TOWARDZERO:
+		z1 = -1 + ulp1/2;
+		z2 = 1 + ulp1;
 		break;
-	}
-	case FE_UPWARD: {
-		double z1 = -1 + ulp1/2;
-		double z2 = 1 + 2*ulp1;
-		ATF_CHECK_EQ_MSG(y1, z1, "%s[-1 + ulp(1)/4]"
-		    " expected=%a actual=%a",
-		    name, y1, z1);
-		ATF_CHECK_EQ_MSG(y2, z2, "%s[1 + 3*(ulp(1)/2)]"
-		    " expected=%a actual=%a",
-		    name, y2, z2);
+	case FE_UPWARD:
+		z1 = -1 + ulp1/2;
+		z2 = 1 + 2*ulp1;
 		break;
-	}
-	case FE_DOWNWARD: {
-		double z1 = -1;
-		double z2 = 1 + ulp1;
-		ATF_CHECK_EQ_MSG(y1, z1, "%s[-1 + ulp(1)/4]"
-		    " expected=%a actual=%a",
-		    name, y1, z1);
-		ATF_CHECK_EQ_MSG(y2, z2, "%s[1 + 3*(ulp(1)/2)]"
-		    " expected=%a actual=%a",
-		    name, y2, z2);
+	case FE_DOWNWARD:
+		z1 = -1;
+		z2 = 1 + ulp1;
 		break;
+	default:
+		atf_tc_fail("unknown rounding mode %d (%s)", feround, name);
 	}
-	}
+
+	ATF_CHECK_EQ_MSG(y1, z1, "%s[-1 + ulp(1)/4] expected=%a actual=%a",
+	    name, y1, z1);
+	ATF_CHECK_EQ_MSG(y2, z2, "%s[1 + 3*(ulp(1)/2)] expected=%a actual=%a",
+	    name, y2, z2);
 }
 
 ATF_TC(fegetround);

Reply via email to