summary refs log tree commit diff
path: root/math/w_remainder.c
diff options
context:
space:
mode:
authorAndreas Jaeger <aj@suse.de>2011-10-07 15:14:06 -0400
committerUlrich Drepper <drepper@gmail.com>2011-10-07 15:14:06 -0400
commitbf5824458cc584cfbbdfdb252bd38e8330c6f662 (patch)
tree2ad5582e3756baaf630b9cf3ac0658102c3da15e /math/w_remainder.c
parent48693bea9e2eff8abce31302c6c4bb8a0d101510 (diff)
downloadglibc-bf5824458cc584cfbbdfdb252bd38e8330c6f662.tar.gz
glibc-bf5824458cc584cfbbdfdb252bd38e8330c6f662.tar.xz
glibc-bf5824458cc584cfbbdfdb252bd38e8330c6f662.zip
Fix remainder (NaN, 0)
Diffstat (limited to 'math/w_remainder.c')
-rw-r--r--math/w_remainder.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/math/w_remainder.c b/math/w_remainder.c
index 9d7a7c5383..9ff53e3586 100644
--- a/math/w_remainder.c
+++ b/math/w_remainder.c
@@ -33,8 +33,8 @@ static char rcsid[] = "$NetBSD: w_remainder.c,v 1.6 1995/05/10 20:49:44 jtc Exp
 #else
 	double z;
 	z = __ieee754_remainder(x,y);
-	if(_LIB_VERSION == _IEEE_ || __isnan(y)) return z;
-	if(y==0.0)
+	if(_LIB_VERSION == _IEEE_ || __isnan(y) || __isnan(x)) return z;
+	if(y==0.0 || __isinf(x))
 	    return __kernel_standard(x,y,28); /* remainder(x,0) */
 	else
 	    return z;