1 diff --git a/math_private.h b/math_private.h
4 @@ -612,46 +612,16 @@ rnint(__double_t x)
5 * magic number would need to be variable. Assuming that the
6 * rounding precision is always the default is too fragile. This
7 * and many other complications will move when the default is
10 return ((double)(x + 0x1.8p52) - 0x1.8p52);
17 - * As for rnint(), except we could just call that to handle the
18 - * extra precision case, usually without losing efficiency.
20 - return ((float)(x + 0x1.8p23F) - 0x1.8p23F);
25 - * The complications for extra precision are smaller for rnintl() since it
26 - * can safely assume that the rounding precision has been increased from
27 - * its default to FP_PE on x86. We don't exploit that here to get small
28 - * optimizations from limiting the rangle to double. We just need it for
29 - * the magic number to work with long doubles. ld128 callers should use
30 - * rnint() instead of this if possible. ld80 callers should prefer
31 - * rnintl() since for amd64 this avoids swapping the register set, while
32 - * for i386 it makes no difference (assuming FP_PE), and for other arches
33 - * it makes little difference.
35 -static inline long double
36 -rnintl(long double x)
38 - return (x + __CONCAT(0x1.8p, LDBL_MANT_DIG) / 2 -
39 - __CONCAT(0x1.8p, LDBL_MANT_DIG) / 2);
41 -#endif /* LDBL_MANT_DIG */
44 * irint() and i64rint() give the same result as casting to their integer
45 * return type provided their arg is a floating point integer. They can
46 * sometimes be more efficient because no rounding is required.
48 #if defined(amd64) || defined(__i386__)
50 (sizeof(x) == sizeof(float) && \