Module Name:    src
Committed By:   maya
Date:           Thu Feb  9 21:23:11 UTC 2017

Modified Files:
        src/lib/libm/src: e_j0.c e_j0f.c e_j1.c e_j1f.c

Log Message:
Appease static analyzers by making all code paths which assign
values into p,q sane. Get rid of redundant assignment. Indent
for legibility. NFC.

This doesn't create a functional difference, as all callers
test number >= 0x40000000 anyway.

To see this, note the following:
- consistently, hx is the high bits of x, lx is the low bits,
  x is the float.
- & 0x7fffffff zeroes the sign bit, as does fabs.

A case where it isn't easy to see that there's no functional
change is y1, which does:

ix = hx & 0x7fffffff (zero signbit of high bits of x)
y = fabs(x) (this has a zeroed signbit but otherwise same as x)
ix >= 0x40000000
  pone(y); qone(y)

qone(x) (also pone) do:
  ix = hx & 0x7fffffff

ix in qone and in the calling function are the same number,
and the comparison applies for both, and ix < 0x40000000 isn't
possible.

(Also, no explosions seem to happen when I feed it random numbers)


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/lib/libm/src/e_j0.c src/lib/libm/src/e_j1.c
cvs rdiff -u -r1.10 -r1.11 src/lib/libm/src/e_j0f.c
cvs rdiff -u -r1.11 -r1.12 src/lib/libm/src/e_j1f.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/e_j0.c
diff -u src/lib/libm/src/e_j0.c:1.12 src/lib/libm/src/e_j0.c:1.13
--- src/lib/libm/src/e_j0.c:1.12	Mon Aug 20 16:01:38 2007
+++ src/lib/libm/src/e_j0.c	Thu Feb  9 21:23:11 2017
@@ -12,7 +12,7 @@
 
 #include <sys/cdefs.h>
 #if defined(LIBM_SCCS) && !defined(lint)
-__RCSID("$NetBSD: e_j0.c,v 1.12 2007/08/20 16:01:38 drochner Exp $");
+__RCSID("$NetBSD: e_j0.c,v 1.13 2017/02/09 21:23:11 maya Exp $");
 #endif
 
 /* __ieee754_j0(x), __ieee754_y0(x)
@@ -277,13 +277,12 @@ pzero(double x)
 	double z,r,s;
 	int32_t ix;
 
-	p = q = 0;
 	GET_HIGH_WORD(ix,x);
 	ix &= 0x7fffffff;
-	if(ix>=0x40200000)     {p = pR8; q= pS8;}
-	else if(ix>=0x40122E8B){p = pR5; q= pS5;}
-	else if(ix>=0x4006DB6D){p = pR3; q= pS3;}
-	else if(ix>=0x40000000){p = pR2; q= pS2;}
+	if(ix>=0x40200000)         {p = pR8; q= pS8;}
+	else if(ix>=0x40122E8B)    {p = pR5; q= pS5;}
+	else if(ix>=0x4006DB6D)    {p = pR3; q= pS3;}
+	else /*if(ix>=0x40000000)*/{p = pR2; q= pS2;}
 	z = one/(x*x);
 	r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
 	s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*q[4]))));
@@ -375,13 +374,12 @@ qzero(double x)
 	double s,r,z;
 	int32_t ix;
 
-	p = q = 0;
 	GET_HIGH_WORD(ix,x);
 	ix &= 0x7fffffff;
-	if(ix>=0x40200000)     {p = qR8; q= qS8;}
-	else if(ix>=0x40122E8B){p = qR5; q= qS5;}
-	else if(ix>=0x4006DB6D){p = qR3; q= qS3;}
-	else if(ix>=0x40000000){p = qR2; q= qS2;}
+	if(ix>=0x40200000)         {p = qR8; q= qS8;}
+	else if(ix>=0x40122E8B)    {p = qR5; q= qS5;}
+	else if(ix>=0x4006DB6D)    {p = qR3; q= qS3;}
+	else /*if(ix>=0x40000000)*/{p = qR2; q= qS2;}
 	z = one/(x*x);
 	r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
 	s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5])))));
Index: src/lib/libm/src/e_j1.c
diff -u src/lib/libm/src/e_j1.c:1.12 src/lib/libm/src/e_j1.c:1.13
--- src/lib/libm/src/e_j1.c:1.12	Mon Aug 20 16:01:38 2007
+++ src/lib/libm/src/e_j1.c	Thu Feb  9 21:23:11 2017
@@ -12,7 +12,7 @@
 
 #include <sys/cdefs.h>
 #if defined(LIBM_SCCS) && !defined(lint)
-__RCSID("$NetBSD: e_j1.c,v 1.12 2007/08/20 16:01:38 drochner Exp $");
+__RCSID("$NetBSD: e_j1.c,v 1.13 2017/02/09 21:23:11 maya Exp $");
 #endif
 
 /* __ieee754_j1(x), __ieee754_y1(x)
@@ -271,13 +271,12 @@ pone(double x)
 	double z,r,s;
         int32_t ix;
 
-	p = q = 0;
 	GET_HIGH_WORD(ix,x);
 	ix &= 0x7fffffff;
-        if(ix>=0x40200000)     {p = pr8; q= ps8;}
-        else if(ix>=0x40122E8B){p = pr5; q= ps5;}
-        else if(ix>=0x4006DB6D){p = pr3; q= ps3;}
-        else if(ix>=0x40000000){p = pr2; q= ps2;}
+        if(ix>=0x40200000)         {p = pr8; q= ps8;}
+        else if(ix>=0x40122E8B)    {p = pr5; q= ps5;}
+        else if(ix>=0x4006DB6D)    {p = pr3; q= ps3;}
+        else /*if(ix>=0x40000000)*/{p = pr2; q= ps2;}
         z = one/(x*x);
         r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
         s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*q[4]))));
@@ -370,13 +369,12 @@ qone(double x)
 	double  s,r,z;
 	int32_t ix;
 
-	p = q = 0;
 	GET_HIGH_WORD(ix,x);
 	ix &= 0x7fffffff;
-	if(ix>=0x40200000)     {p = qr8; q= qs8;}
-	else if(ix>=0x40122E8B){p = qr5; q= qs5;}
-	else if(ix>=0x4006DB6D){p = qr3; q= qs3;}
-	else if(ix>=0x40000000){p = qr2; q= qs2;}
+	if(ix>=0x40200000)         {p = qr8; q= qs8;}
+	else if(ix>=0x40122E8B)    {p = qr5; q= qs5;}
+	else if(ix>=0x4006DB6D)    {p = qr3; q= qs3;}
+	else /*if(ix>=0x40000000)*/{p = qr2; q= qs2;}
 	z = one/(x*x);
 	r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
 	s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5])))));

Index: src/lib/libm/src/e_j0f.c
diff -u src/lib/libm/src/e_j0f.c:1.10 src/lib/libm/src/e_j0f.c:1.11
--- src/lib/libm/src/e_j0f.c:1.10	Mon Aug 20 16:01:38 2007
+++ src/lib/libm/src/e_j0f.c	Thu Feb  9 21:23:11 2017
@@ -15,7 +15,7 @@
 
 #include <sys/cdefs.h>
 #if defined(LIBM_SCCS) && !defined(lint)
-__RCSID("$NetBSD: e_j0f.c,v 1.10 2007/08/20 16:01:38 drochner Exp $");
+__RCSID("$NetBSD: e_j0f.c,v 1.11 2017/02/09 21:23:11 maya Exp $");
 #endif
 
 #include "namespace.h"
@@ -240,13 +240,12 @@ pzerof(float x)
 	float z,r,s;
 	int32_t ix;
 
-	p = q = 0;
 	GET_FLOAT_WORD(ix,x);
 	ix &= 0x7fffffff;
-	if(ix>=0x41000000)     {p = pR8; q= pS8;}
-	else if(ix>=0x40f71c58){p = pR5; q= pS5;}
-	else if(ix>=0x4036db68){p = pR3; q= pS3;}
-	else if(ix>=0x40000000){p = pR2; q= pS2;}
+	if(ix>=0x41000000)         {p = pR8; q= pS8;}
+	else if(ix>=0x40f71c58)    {p = pR5; q= pS5;}
+	else if(ix>=0x4036db68)    {p = pR3; q= pS3;}
+	else /*if(ix>=0x40000000)*/{p = pR2; q= pS2;}
 	z = one/(x*x);
 	r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
 	s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*q[4]))));
@@ -338,13 +337,12 @@ qzerof(float x)
 	float s,r,z;
 	int32_t ix;
 
-	p = q = 0;
 	GET_FLOAT_WORD(ix,x);
 	ix &= 0x7fffffff;
-	if(ix>=0x41000000)     {p = qR8; q= qS8;}
-	else if(ix>=0x40f71c58){p = qR5; q= qS5;}
-	else if(ix>=0x4036db68){p = qR3; q= qS3;}
-	else if(ix>=0x40000000){p = qR2; q= qS2;}
+	if(ix>=0x41000000)         {p = qR8; q= qS8;}
+	else if(ix>=0x40f71c58)    {p = qR5; q= qS5;}
+	else if(ix>=0x4036db68)    {p = qR3; q= qS3;}
+	else /*if(ix>=0x40000000)*/{p = qR2; q= qS2;}
 	z = one/(x*x);
 	r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
 	s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5])))));

Index: src/lib/libm/src/e_j1f.c
diff -u src/lib/libm/src/e_j1f.c:1.11 src/lib/libm/src/e_j1f.c:1.12
--- src/lib/libm/src/e_j1f.c:1.11	Mon Aug 20 16:01:38 2007
+++ src/lib/libm/src/e_j1f.c	Thu Feb  9 21:23:11 2017
@@ -15,7 +15,7 @@
 
 #include <sys/cdefs.h>
 #if defined(LIBM_SCCS) && !defined(lint)
-__RCSID("$NetBSD: e_j1f.c,v 1.11 2007/08/20 16:01:38 drochner Exp $");
+__RCSID("$NetBSD: e_j1f.c,v 1.12 2017/02/09 21:23:11 maya Exp $");
 #endif
 
 #include "namespace.h"
@@ -232,13 +232,12 @@ ponef(float x)
 	float z,r,s;
         int32_t ix;
 
-	p = q = 0;
 	GET_FLOAT_WORD(ix,x);
 	ix &= 0x7fffffff;
-        if(ix>=0x41000000)     {p = pr8; q= ps8;}
-        else if(ix>=0x40f71c58){p = pr5; q= ps5;}
-        else if(ix>=0x4036db68){p = pr3; q= ps3;}
-        else if(ix>=0x40000000){p = pr2; q= ps2;}
+        if(ix>=0x41000000)         {p = pr8; q= ps8;}
+        else if(ix>=0x40f71c58)    {p = pr5; q= ps5;}
+        else if(ix>=0x4036db68)    {p = pr3; q= ps3;}
+        else /*if(ix>=0x40000000)*/{p = pr2; q= ps2;}
         z = one/(x*x);
         r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
         s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*q[4]))));
@@ -331,17 +330,16 @@ qonef(float x)
 	float  s,r,z;
 	int32_t ix;
 
-	p = q = 0;
 	GET_FLOAT_WORD(ix,x);
 	ix &= 0x7fffffff;
 	/* [inf, 8]		(8      41000000) */
-	if(ix>=0x41000000)     {p = qr8; q= qs8;}
+	if(ix>=0x41000000)         {p = qr8; q= qs8;}
 	/* [8, 4.5454]		(4.5454 409173eb) */
-	else if(ix>=0x409173eb){p = qr5; q= qs5;}
+	else if(ix>=0x409173eb)    {p = qr5; q= qs5;}
 	/* [4.5454, 2.8570] 	(2.8570	4036d917) */
-	else if(ix>=0x4036d917){p = qr3; q= qs3;}
+	else if(ix>=0x4036d917)    {p = qr3; q= qs3;}
 	/* [2.8570, 2]		(2 	40000000) */
-	else if(ix>=0x40000000){p = qr2; q= qs2;}
+	else /*if(ix>=0x40000000)*/{p = qr2; q= qs2;}
 	z = one/(x*x);
 	r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
 	s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5])))));

Reply via email to