Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/mingw/mingwex/math/nextafterl.c')
-rwxr-xr-xwinsup/mingw/mingwex/math/nextafterl.c65
1 files changed, 0 insertions, 65 deletions
diff --git a/winsup/mingw/mingwex/math/nextafterl.c b/winsup/mingw/mingwex/math/nextafterl.c
deleted file mode 100755
index eaf6a3f03..000000000
--- a/winsup/mingw/mingwex/math/nextafterl.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- nextafterl.c
- Contributed by Danny Smith <dannysmith@users.sourceforge.net>
- No copyright claimed, absolutely no warranties.
-
- 2005-05-09
-*/
-
-#include <math.h>
-
-long double
-nextafterl (long double x, long double y)
-{
- union {
- long double ld;
- struct {
- unsigned long long mantissa;
- unsigned short expn;
- unsigned short pad;
- } __attribute__ ((packed)) parts;
- } u;
-
- /* The normal bit is explicit for long doubles, unlike
- float and double. */
- static const unsigned long long normal_bit = 0x8000000000000000ull;
-
- if (isnan (y) || isnan (x))
- return x + y;
-
- if (x == y )
- /* nextafter (0.0, -O.0) should return -0.0. */
- return y;
-
- u.ld = x;
- if (x == 0.0L)
- {
- u.parts.mantissa = 1ull;
- return y > 0.0L ? u.ld : -u.ld;
- }
-
- if (((x > 0.0L) ^ (y > x)) == 0)
- {
- u.parts.mantissa++;
- if ((u.parts.mantissa & ~normal_bit) == 0ull)
- u.parts.expn++;
- }
- else
- {
- if ((u.parts.mantissa & ~normal_bit) == 0ull)
- u.parts.expn--;
- u.parts.mantissa--;
- }
-
- /* If we have updated the expn of a normal number,
- or moved from denormal to normal, [re]set the normal bit. */
-
- if (u.parts.expn & 0x7fff)
- u.parts.mantissa |= normal_bit;
-
- return u.ld;
-}
-
-/* nexttowardl is the same function with a different name. */
-long double
-nexttowardl (long double, long double) __attribute__ ((alias("nextafterl")));