summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJeff Epler <jepler@gmail.com>2020-08-04 13:12:44 -0500
committerJeff Epler <jepler@gmail.com>2020-08-04 14:45:45 -0500
commitc0b32976e8bff4a04cd4f172535e3b153143b417 (patch)
treeeea11be6d7644137279c8518334e91e1b4b527b7 /lib
parentd3fb6c96da9dc38ea24a221e11f05cdbbddb34c9 (diff)
libm: rem_pio2: Reduce size of static array
This array was of 32-bit values, but the entries were only ever in the 0-255 range. Convert to uint8_t. Testing performed: The result of the sum-of-sin was unchanged >>> import math; sum(math.sin(2.**i) for i in range(21)) 1.42069
Diffstat (limited to 'lib')
-rw-r--r--lib/libm/ef_rem_pio2.c4
-rw-r--r--lib/libm/fdlibm.h2
-rw-r--r--lib/libm/kf_rem_pio2.c4
3 files changed, 5 insertions, 5 deletions
diff --git a/lib/libm/ef_rem_pio2.c b/lib/libm/ef_rem_pio2.c
index c6dbe4587..1a9547503 100644
--- a/lib/libm/ef_rem_pio2.c
+++ b/lib/libm/ef_rem_pio2.c
@@ -35,9 +35,9 @@
* Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi
*/
#ifdef __STDC__
-static const __int32_t two_over_pi[] = {
+static const __uint8_t two_over_pi[] = {
#else
-static __int32_t two_over_pi[] = {
+static __uint8_t two_over_pi[] = {
#endif
0xA2, 0xF9, 0x83, 0x6E, 0x4E, 0x44, 0x15, 0x29, 0xFC,
0x27, 0x57, 0xD1, 0xF5, 0x34, 0xDD, 0xC0, 0xDB, 0x62,
diff --git a/lib/libm/fdlibm.h b/lib/libm/fdlibm.h
index 67bc622ea..91698a6f9 100644
--- a/lib/libm/fdlibm.h
+++ b/lib/libm/fdlibm.h
@@ -188,7 +188,7 @@ extern float __ieee754_scalbf __P((float,float));
extern float __kernel_sinf __P((float,float,int));
extern float __kernel_cosf __P((float,float));
extern float __kernel_tanf __P((float,float,int));
-extern int __kernel_rem_pio2f __P((float*,float*,int,int,int,const __int32_t*));
+extern int __kernel_rem_pio2f __P((float*,float*,int,int,int,const __uint8_t*));
/* A union which permits us to convert between a float and a 32 bit
int. */
diff --git a/lib/libm/kf_rem_pio2.c b/lib/libm/kf_rem_pio2.c
index 62aa242bc..b27e47ea8 100644
--- a/lib/libm/kf_rem_pio2.c
+++ b/lib/libm/kf_rem_pio2.c
@@ -62,10 +62,10 @@ two8 = 2.5600000000e+02, /* 0x43800000 */
twon8 = 3.9062500000e-03; /* 0x3b800000 */
#ifdef __STDC__
- int __kernel_rem_pio2f(float *x, float *y, int e0, int nx, int prec, const __int32_t *ipio2)
+ int __kernel_rem_pio2f(float *x, float *y, int e0, int nx, int prec, const __uint8_t *ipio2)
#else
int __kernel_rem_pio2f(x,y,e0,nx,prec,ipio2)
- float x[], y[]; int e0,nx,prec; __int32_t ipio2[];
+ float x[], y[]; int e0,nx,prec; __uint8_t ipio2[];
#endif
{
__int32_t jz,jx,jv,jp,jk,carry,n,iq[20],i,j,k,m,q0,ih;