diff options
Diffstat (limited to 'sysdeps/ieee754/flt-32/math_config.h')
-rw-r--r-- | sysdeps/ieee754/flt-32/math_config.h | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/sysdeps/ieee754/flt-32/math_config.h b/sysdeps/ieee754/flt-32/math_config.h index 9c4ef30173..8ca7532686 100644 --- a/sysdeps/ieee754/flt-32/math_config.h +++ b/sysdeps/ieee754/flt-32/math_config.h @@ -38,13 +38,23 @@ #endif #ifndef TOINT_INTRINSICS +/* When set, the roundtoint and converttoint functions are provided with + the semantics documented below. */ # define TOINT_INTRINSICS 0 #endif -#ifndef TOINT_RINT -# define TOINT_RINT 0 -#endif -#ifndef TOINT_SHIFT -# define TOINT_SHIFT 1 + +#if TOINT_INTRINSICS +/* Round x to nearest int in all rounding modes, ties have to be rounded + consistently with converttoint so the results match. If the result + would be outside of [-2^31, 2^31-1] then the semantics is unspecified. */ +static inline double_t +roundtoint (double_t x); + +/* Convert x to nearest int in all rounding modes, ties have to be rounded + consistently with roundtoint. If the result is not representible in an + int32_t then the semantics is unspecified. */ +static inline int32_t +converttoint (double_t x); #endif static inline uint32_t |