summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2012-08-11 11:13:48 +0000
committerdim <dim@FreeBSD.org>2012-08-11 11:13:48 +0000
commitd3224b8ca5f865af7b35f0443b1128ba4fa6f1b4 (patch)
treedd9b2d612e350756897aa331995735959d05ecf5
parente70ae9c439dfc7dae667e62f9ae2cffde3818e09 (diff)
downloadFreeBSD-src-d3224b8ca5f865af7b35f0443b1128ba4fa6f1b4.zip
FreeBSD-src-d3224b8ca5f865af7b35f0443b1128ba4fa6f1b4.tar.gz
Change a few extern inline functions in libm to static inline, since
they need to refer to static constants, which C99 does not allow for extern inline functions. While here, change a comment in e_rem_pio2f.c to mention the correct number of bits. Reviewed by: bde MFC after: 1 week
-rw-r--r--lib/msun/src/e_rem_pio2.c6
-rw-r--r--lib/msun/src/e_rem_pio2f.c8
-rw-r--r--lib/msun/src/k_cosf.c6
-rw-r--r--lib/msun/src/k_sinf.c6
-rw-r--r--lib/msun/src/k_tanf.c6
-rw-r--r--lib/msun/src/math_private.h19
6 files changed, 23 insertions, 28 deletions
diff --git a/lib/msun/src/e_rem_pio2.c b/lib/msun/src/e_rem_pio2.c
index fde9660..6dd453a 100644
--- a/lib/msun/src/e_rem_pio2.c
+++ b/lib/msun/src/e_rem_pio2.c
@@ -48,10 +48,10 @@ pio2_2t = 2.02226624879595063154e-21, /* 0x3BA3198A, 0x2E037073 */
pio2_3 = 2.02226624871116645580e-21, /* 0x3BA3198A, 0x2E000000 */
pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */
-#ifndef INLINE_REM_PIO2
-extern
+#ifdef INLINE_REM_PIO2
+static __inline
#endif
-__inline int
+int
__ieee754_rem_pio2(double x, double *y)
{
double z,w,t,r,fn;
diff --git a/lib/msun/src/e_rem_pio2f.c b/lib/msun/src/e_rem_pio2f.c
index fb608d1..bd12186 100644
--- a/lib/msun/src/e_rem_pio2f.c
+++ b/lib/msun/src/e_rem_pio2f.c
@@ -31,7 +31,7 @@ __FBSDID("$FreeBSD$");
/*
* invpio2: 53 bits of 2/pi
- * pio2_1: first 33 bit of pi/2
+ * pio2_1: first 25 bits of pi/2
* pio2_1t: pi/2 - pio2_1
*/
@@ -40,10 +40,10 @@ invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */
pio2_1 = 1.57079631090164184570e+00, /* 0x3FF921FB, 0x50000000 */
pio2_1t = 1.58932547735281966916e-08; /* 0x3E5110b4, 0x611A6263 */
-#ifndef INLINE_REM_PIO2F
-extern
+#ifdef INLINE_REM_PIO2F
+static __inline
#endif
-__inline int
+int
__ieee754_rem_pio2f(float x, double *y)
{
double w,r,fn;
diff --git a/lib/msun/src/k_cosf.c b/lib/msun/src/k_cosf.c
index 92bce48..f7a2c0a 100644
--- a/lib/msun/src/k_cosf.c
+++ b/lib/msun/src/k_cosf.c
@@ -30,10 +30,10 @@ C1 = 0x155553e1053a42.0p-57, /* 0.0416666233237390631894 */
C2 = -0x16c087e80f1e27.0p-62, /* -0.00138867637746099294692 */
C3 = 0x199342e0ee5069.0p-68; /* 0.0000243904487962774090654 */
-#ifndef INLINE_KERNEL_COSDF
-extern
+#ifdef INLINE_KERNEL_COSDF
+static __inline
#endif
-__inline float
+float
__kernel_cosdf(double x)
{
double r, w, z;
diff --git a/lib/msun/src/k_sinf.c b/lib/msun/src/k_sinf.c
index aa4f268..0841759 100644
--- a/lib/msun/src/k_sinf.c
+++ b/lib/msun/src/k_sinf.c
@@ -29,10 +29,10 @@ S2 = 0x111110896efbb2.0p-59, /* 0.0083333293858894631756 */
S3 = -0x1a00f9e2cae774.0p-65, /* -0.000198393348360966317347 */
S4 = 0x16cd878c3b46a7.0p-71; /* 0.0000027183114939898219064 */
-#ifndef INLINE_KERNEL_SINDF
-extern
+#ifdef INLINE_KERNEL_SINDF
+static __inline
#endif
-__inline float
+float
__kernel_sindf(double x)
{
double r, s, w, z;
diff --git a/lib/msun/src/k_tanf.c b/lib/msun/src/k_tanf.c
index 6b073da..52f1aaa 100644
--- a/lib/msun/src/k_tanf.c
+++ b/lib/msun/src/k_tanf.c
@@ -32,10 +32,10 @@ T[] = {
0x1362b9bf971bcd.0p-59, /* 0.00946564784943673166728 */
};
-#ifndef INLINE_KERNEL_TANDF
-extern
+#ifdef INLINE_KERNEL_TANDF
+static __inline
#endif
-__inline float
+float
__kernel_tandf(double x, int iy)
{
double z,r,w,s,t,u;
diff --git a/lib/msun/src/math_private.h b/lib/msun/src/math_private.h
index 94e7507..f835c7f 100644
--- a/lib/msun/src/math_private.h
+++ b/lib/msun/src/math_private.h
@@ -431,10 +431,9 @@ irintl(long double x)
int __kernel_rem_pio2(double*,double*,int,int,int);
/* double precision kernel functions */
-#ifdef INLINE_REM_PIO2
-__inline
-#endif
+#ifndef INLINE_REM_PIO2
int __ieee754_rem_pio2(double,double*);
+#endif
double __kernel_sin(double,double,int);
double __kernel_cos(double,double);
double __kernel_tan(double,double,int);
@@ -444,22 +443,18 @@ double complex __ldexp_cexp(double complex,int);
#endif
/* float precision kernel functions */
-#ifdef INLINE_REM_PIO2F
-__inline
-#endif
+#ifndef INLINE_REM_PIO2F
int __ieee754_rem_pio2f(float,double*);
-#ifdef INLINE_KERNEL_SINDF
-__inline
#endif
+#ifndef INLINE_KERNEL_SINDF
float __kernel_sindf(double);
-#ifdef INLINE_KERNEL_COSDF
-__inline
#endif
+#ifndef INLINE_KERNEL_COSDF
float __kernel_cosdf(double);
-#ifdef INLINE_KERNEL_TANDF
-__inline
#endif
+#ifndef INLINE_KERNEL_TANDF
float __kernel_tandf(double,int);
+#endif
float __ldexp_expf(float,int);
#ifdef _COMPLEX_H
float complex __ldexp_cexpf(float complex,int);
OpenPOWER on IntegriCloud