Date: Tue, 21 Aug 2012 19:45:48 +0000 (UTC) From: Dimitry Andric <dim@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r239529 - stable/9/lib/msun/src Message-ID: <201208211945.q7LJjmr1094417@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201208211945.q7LJjmr1094417>