diff options
Diffstat (limited to 'src/internal')
-rw-r--r-- | src/internal/libm.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/internal/libm.h b/src/internal/libm.h index 5212bab1..98bf5c68 100644 --- a/src/internal/libm.h +++ b/src/internal/libm.h @@ -64,6 +64,22 @@ union ldshape { /* Support signaling NaNs. */ #define WANT_SNAN 0 +#ifndef TOINT_INTRINSICS +#define TOINT_INTRINSICS 0 +#endif + +#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 double_t roundtoint(double_t); + +/* 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 int32_t converttoint(double_t); +#endif + /* Helps static branch prediction so hot path can be better optimized. */ #ifdef __GNUC__ #define predict_true(x) __builtin_expect(!!(x), 1) |