svn commit: r239529 - stable/9/lib/msun/src
Dimitry Andric
dim at FreeBSD.org
Tue Aug 21 19:45:49 UTC 2012
Author: dim
Date: Tue Aug 21 19:45:48 2012
New Revision: 239529
URL: http://svn.freebsd.org/changeset/base/239529
Log:
MFC r239192:
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 r239195:
Add __always_inline to __ieee754_rem_pio2() and __ieee754_rem_pio2f(),
since some older versions of gcc refuse to inline these otherwise.
Requested by: bde
Modified:
stable/9/lib/msun/src/e_rem_pio2.c
stable/9/lib/msun/src/e_rem_pio2f.c
stable/9/lib/msun/src/k_cosf.c
stable/9/lib/msun/src/k_sinf.c
stable/9/lib/msun/src/k_tanf.c
stable/9/lib/msun/src/math_private.h
Directory Properties:
stable/9/lib/msun/ (props changed)
Modified: stable/9/lib/msun/src/e_rem_pio2.c
==============================================================================
--- stable/9/lib/msun/src/e_rem_pio2.c Tue Aug 21 19:45:19 2012 (r239528)
+++ stable/9/lib/msun/src/e_rem_pio2.c Tue Aug 21 19:45:48 2012 (r239529)
@@ -48,10 +48,10 @@ pio2_2t = 2.02226624879595063154e-21, /
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 __always_inline
#endif
-__inline int
+int
__ieee754_rem_pio2(double x, double *y)
{
double z,w,t,r,fn;
Modified: stable/9/lib/msun/src/e_rem_pio2f.c
==============================================================================
--- stable/9/lib/msun/src/e_rem_pio2f.c Tue Aug 21 19:45:19 2012 (r239528)
+++ stable/9/lib/msun/src/e_rem_pio2f.c Tue Aug 21 19:45:48 2012 (r239529)
@@ -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, /
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 __always_inline
#endif
-__inline int
+int
__ieee754_rem_pio2f(float x, double *y)
{
double w,r,fn;
Modified: stable/9/lib/msun/src/k_cosf.c
==============================================================================
--- stable/9/lib/msun/src/k_cosf.c Tue Aug 21 19:45:19 2012 (r239528)
+++ stable/9/lib/msun/src/k_cosf.c Tue Aug 21 19:45:48 2012 (r239529)
@@ -30,10 +30,10 @@ C1 = 0x155553e1053a42.0p-57, /* 0.041
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;
Modified: stable/9/lib/msun/src/k_sinf.c
==============================================================================
--- stable/9/lib/msun/src/k_sinf.c Tue Aug 21 19:45:19 2012 (r239528)
+++ stable/9/lib/msun/src/k_sinf.c Tue Aug 21 19:45:48 2012 (r239529)
@@ -29,10 +29,10 @@ S2 = 0x111110896efbb2.0p-59, /* 0.0083
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;
Modified: stable/9/lib/msun/src/k_tanf.c
==============================================================================
--- stable/9/lib/msun/src/k_tanf.c Tue Aug 21 19:45:19 2012 (r239528)
+++ stable/9/lib/msun/src/k_tanf.c Tue Aug 21 19:45:48 2012 (r239529)
@@ -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;
Modified: stable/9/lib/msun/src/math_private.h
==============================================================================
--- stable/9/lib/msun/src/math_private.h Tue Aug 21 19:45:19 2012 (r239528)
+++ stable/9/lib/msun/src/math_private.h Tue Aug 21 19:45:48 2012 (r239529)
@@ -371,31 +371,26 @@ irint(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);
/* 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
/* long double precision kernel functions */
long double __kernel_sinl(long double, long double, int);
More information about the svn-src-stable-9
mailing list