Module Name: src
Committed By: matt
Date: Thu Feb 14 08:56:56 UTC 2013
Modified Files:
src/lib/libm/src: s_nextafterl.c
Log Message:
Deal with an implicit NBIT
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/lib/libm/src/s_nextafterl.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libm/src/s_nextafterl.c
diff -u src/lib/libm/src/s_nextafterl.c:1.2 src/lib/libm/src/s_nextafterl.c:1.3
--- src/lib/libm/src/s_nextafterl.c:1.2 Fri Sep 17 20:39:39 2010
+++ src/lib/libm/src/s_nextafterl.c Thu Feb 14 08:56:56 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: s_nextafterl.c,v 1.2 2010/09/17 20:39:39 christos Exp $ */
+/* $NetBSD: s_nextafterl.c,v 1.3 2013/02/14 08:56:56 matt Exp $ */
/* @(#)s_nextafter.c 5.1 93/09/24 */
/*
@@ -13,7 +13,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: s_nextafterl.c,v 1.2 2010/09/17 20:39:39 christos Exp $");
+__RCSID("$NetBSD: s_nextafterl.c,v 1.3 2013/02/14 08:56:56 matt Exp $");
#include <float.h>
#include <math.h>
@@ -24,6 +24,10 @@ __RCSID("$NetBSD: s_nextafterl.c,v 1.2 2
#error "Unsupported long double format"
#endif
+#ifdef LDBL_IMPLICIT_NBIT
+#define LDBL_NBIT 0
+#endif
+
/*
* IEEE functions
* nextafterl(x,y)
@@ -83,7 +87,9 @@ nextafterl(long double x, long double y)
return x+x; /* overflow */
if (ux.extu_exp == 0) { /* underflow */
+#ifndef LDBL_IMPLICIT_NBIT
mask_nbit_l(ux);
+#endif
t = ux.extu_ld * ux.extu_ld;
if (t != ux.extu_ld) /* raise underflow flag */
return ux.extu_ld;