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