summaryrefslogtreecommitdiff
path: root/src/math
diff options
context:
space:
mode:
Diffstat (limited to 'src/math')
-rw-r--r--src/math/nextafter.c6
-rw-r--r--src/math/nextafterf.c6
-rw-r--r--src/math/nextafterl.c12
-rw-r--r--src/math/nexttoward.c6
-rw-r--r--src/math/nexttowardf.c6
5 files changed, 12 insertions, 24 deletions
diff --git a/src/math/nextafter.c b/src/math/nextafter.c
index e4bfb022..a3b42c99 100644
--- a/src/math/nextafter.c
+++ b/src/math/nextafter.c
@@ -29,9 +29,7 @@ double nextafter(double x, double y)
if (e == 0x7ff)
return x + x;
/* raise underflow if ux.value is subnormal or zero */
- if (e == 0) {
- volatile double z;
- z = x*x + ux.value*ux.value;
- }
+ if (e == 0)
+ FORCE_EVAL(x*x + ux.value*ux.value);
return ux.value;
}
diff --git a/src/math/nextafterf.c b/src/math/nextafterf.c
index 47775b92..b703487b 100644
--- a/src/math/nextafterf.c
+++ b/src/math/nextafterf.c
@@ -28,9 +28,7 @@ float nextafterf(float x, float y)
if (e == 0x7f800000)
return x + x;
/* raise underflow if ux.value is subnormal or zero */
- if (e == 0) {
- volatile float z;
- z = x*x + ux.value*ux.value;
- }
+ if (e == 0)
+ FORCE_EVAL(x*x + ux.value*ux.value);
return ux.value;
}
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
diff --git a/src/math/nexttoward.c b/src/math/nexttoward.c
index 43f8fee8..7355f2f1 100644
--- a/src/math/nexttoward.c
+++ b/src/math/nexttoward.c
@@ -38,10 +38,8 @@ double nexttoward(double x, long double y)
if (e == 0x7ff)
return x + x;
/* raise underflow if ux.value is subnormal or zero */
- if (e == 0) {
- volatile float z;
- z = x*x + ux.value*ux.value;
- }
+ if (e == 0)
+ FORCE_EVAL(x*x + ux.value*ux.value);
return ux.value;
}
#endif
diff --git a/src/math/nexttowardf.c b/src/math/nexttowardf.c
index e8e6f676..8648be6a 100644
--- a/src/math/nexttowardf.c
+++ b/src/math/nexttowardf.c
@@ -30,9 +30,7 @@ float nexttowardf(float x, long double y)
if (e == 0x7f800000)
return x + x;
/* raise underflow if ux.value is subnormal or zero */
- if (e == 0) {
- volatile float z;
- z = x*x + ux.value*ux.value;
- }
+ if (e == 0)
+ FORCE_EVAL(x*x + ux.value*ux.value);
return ux.value;
}