From: Szabolcs Nagy Date: Thu, 15 Aug 2013 10:08:45 +0000 (+0000) Subject: math: fix pow(0,-inf) to raise divbyzero flag X-Git-Tag: v0.9.13~55 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=f29fea00b5bc72d4b8abccba2bb1e312684d1fce;p=oweals%2Fmusl.git math: fix pow(0,-inf) to raise divbyzero flag --- diff --git a/src/math/pow.c b/src/math/pow.c index f257814e..ac3abc0f 100644 --- a/src/math/pow.c +++ b/src/math/pow.c @@ -143,7 +143,7 @@ double pow(double x, double y) return 1.0; else if (ix >= 0x3ff00000) /* (|x|>1)**+-inf = inf,0 */ return hy >= 0 ? y : 0.0; - else /* (|x|<1)**+-inf = 0,inf */ + else if ((ix|lx) != 0) /* (|x|<1)**+-inf = 0,inf if x!=0 */ return hy >= 0 ? 0.0 : -y; } if (iy == 0x3ff00000) /* y is +-1 */ diff --git a/src/math/powf.c b/src/math/powf.c index 427c8965..59baf6f3 100644 --- a/src/math/powf.c +++ b/src/math/powf.c @@ -90,7 +90,7 @@ float powf(float x, float y) return 1.0f; else if (ix > 0x3f800000) /* (|x|>1)**+-inf = inf,0 */ return hy >= 0 ? y : 0.0f; - else /* (|x|<1)**+-inf = 0,inf */ + else if (ix != 0) /* (|x|<1)**+-inf = 0,inf if x!=0 */ return hy >= 0 ? 0.0f: -y; } if (iy == 0x3f800000) /* y is +-1 */