about summary refs log tree commit diff
path: root/src/math/nextafterl.c
diff options
context:
space:
mode:
authornsz <nsz@port70.net>2012-05-06 21:24:28 +0200
committernsz <nsz@port70.net>2012-05-06 21:24:28 +0200
commit6ab8136b4477fd75381c06fa0e7fa93c89c712a1 (patch)
treefea8ff7bf34e2a41e797528571d62097413b3685 /src/math/nextafterl.c
parent4e597feef0595caefa39ab43c813734a1244fa84 (diff)
downloadmusl-6ab8136b4477fd75381c06fa0e7fa93c89c712a1.tar.gz
musl-6ab8136b4477fd75381c06fa0e7fa93c89c712a1.tar.xz
musl-6ab8136b4477fd75381c06fa0e7fa93c89c712a1.zip
add FORCE_EVAL macro to evaluate float expr for their side effect
updated nextafter* to use FORCE_EVAL, it can be used in many other
places in the math code to improve readability.
Diffstat (limited to 'src/math/nextafterl.c')
-rw-r--r--src/math/nextafterl.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/math/nextafterl.c b/src/math/nextafterl.c
index c09d9dd0..edc3cc9c 100644
--- a/src/math/nextafterl.c
+++ b/src/math/nextafterl.c
@@ -38,10 +38,8 @@ long double nextafterl(long double x, long double y)
 	if (ux.bits.exp == 0x7fff)
 		return x + x;
 	/* raise underflow if ux.value is subnormal or zero */
-	if (ux.bits.exp == 0) {
-		volatile float z;
-		z = x*x + ux.value*ux.value;
-	}
+	if (ux.bits.exp == 0)
+		FORCE_EVAL(x*x + ux.value*ux.value);
 	return ux.value;
 }
 #elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
@@ -77,10 +75,8 @@ long double nextafterl(long double x, long double y)
 	if (ux.bits.exp == 0x7fff)
 		return x + x;
 	/* raise underflow if ux.value is subnormal or zero */
-	if (ux.bits.exp == 0) {
-		volatile float z;
-		z = x*x + ux.value*ux.value;
-	}
+	if (ux.bits.exp == 0)
+		FORCE_EVAL(x*x + ux.value*ux.value);
 	return ux.value;
 }
 #endif