aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/ieee754/ldbl-128/s_nearbyintl.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/ieee754/ldbl-128/s_nearbyintl.c')
-rw-r--r--sysdeps/ieee754/ldbl-128/s_nearbyintl.c67
1 files changed, 0 insertions, 67 deletions
diff --git a/sysdeps/ieee754/ldbl-128/s_nearbyintl.c b/sysdeps/ieee754/ldbl-128/s_nearbyintl.c
deleted file mode 100644
index 1565a8183f..0000000000
--- a/sysdeps/ieee754/ldbl-128/s_nearbyintl.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* s_nearbyintl.c -- long double version of s_nearbyint.c.
- * Conversion to IEEE quad long double by Jakub Jelinek, jj@ultra.linux.cz.
- */
-
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/*
- * nearbyintl(x)
- * Return x rounded to integral value according to the prevailing
- * rounding mode.
- * Method:
- * Using floating addition.
- * Exception:
- * Inexact flag raised if x not equal to rintl(x).
- */
-
-#include <fenv.h>
-#include <math.h>
-#include <math_private.h>
-
-static const _Float128
-TWO112[2]={
- L(5.19229685853482762853049632922009600E+33), /* 0x406F000000000000, 0 */
- L(-5.19229685853482762853049632922009600E+33) /* 0xC06F000000000000, 0 */
-};
-
-_Float128 __nearbyintl(_Float128 x)
-{
- fenv_t env;
- int64_t i0,j0,sx;
- u_int64_t i1 __attribute__ ((unused));
- _Float128 w,t;
- GET_LDOUBLE_WORDS64(i0,i1,x);
- sx = (((u_int64_t)i0)>>63);
- j0 = ((i0>>48)&0x7fff)-0x3fff;
- if(j0<112) {
- if(j0<0) {
- feholdexcept (&env);
- w = TWO112[sx]+x;
- t = w-TWO112[sx];
- math_force_eval (t);
- fesetenv (&env);
- GET_LDOUBLE_MSW64(i0,t);
- SET_LDOUBLE_MSW64(t,(i0&0x7fffffffffffffffLL)|(sx<<63));
- return t;
- }
- } else {
- if(j0==0x4000) return x+x; /* inf or NaN */
- else return x; /* x is integral */
- }
- feholdexcept (&env);
- w = TWO112[sx]+x;
- t = w-TWO112[sx];
- math_force_eval (t);
- fesetenv (&env);
- return t;
-}
-weak_alias (__nearbyintl, nearbyintl)