X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fmath%2Flog2f.c;h=e0d6a9e4b2f28697f9e0efc05273ad19de29108d;hb=c6383b7b10303457306932584fc23f24b5153a81;hp=a968984d5de4e7fce396dccf09658340ef857254;hpb=b69f695acedd4ce2798ef9ea28d834ceccc789bd;p=musl diff --git a/src/math/log2f.c b/src/math/log2f.c index a968984d..e0d6a9e4 100644 --- a/src/math/log2f.c +++ b/src/math/log2f.c @@ -21,8 +21,6 @@ two25 = 3.3554432000e+07, /* 0x4c000000 */ ivln2hi = 1.4428710938e+00, /* 0x3fb8b000 */ ivln2lo = -1.7605285393e-04; /* 0xb9389ad4 */ -static const float zero = 0.0; - float log2f(float x) { float f,hfsq,hi,lo,r,y; @@ -33,9 +31,9 @@ float log2f(float x) k = 0; if (hx < 0x00800000) { /* x < 2**-126 */ if ((hx&0x7fffffff) == 0) - return -two25/zero; /* log(+-0)=-inf */ + return -two25/0.0f; /* log(+-0)=-inf */ if (hx < 0) - return (x-x)/zero; /* log(-#) = NaN */ + return (x-x)/0.0f; /* log(-#) = NaN */ /* subnormal number, scale up x */ k -= 25; x *= two25; @@ -44,15 +42,15 @@ float log2f(float x) if (hx >= 0x7f800000) return x+x; if (hx == 0x3f800000) - return zero; /* log(1) = +0 */ + return 0.0f; /* log(1) = +0 */ k += (hx>>23) - 127; hx &= 0x007fffff; i = (hx+(0x4afb0d))&0x800000; SET_FLOAT_WORD(x, hx|(i^0x3f800000)); /* normalize x or x/2 */ k += i>>23; y = (float)k; - f = x - (float)1.0; - hfsq = (float)0.5*f*f; + f = x - 1.0f; + hfsq = 0.5f * f * f; r = __log1pf(f); /*