diff options
author | Peter Wemm <peter@FreeBSD.org> | 2003-07-23 04:53:47 +0000 |
---|---|---|
committer | Peter Wemm <peter@FreeBSD.org> | 2003-07-23 04:53:47 +0000 |
commit | 3819e84017471706d911eec3f1b3b6f9eefc139a (patch) | |
tree | 4a260472bb8a86bcc6fd933fe4725a9d0363f0b0 /lib/msun/src | |
parent | 461d4da338e648249b2aef1527f4a3a2575a498f (diff) | |
download | src-3819e84017471706d911eec3f1b3b6f9eefc139a.tar.gz src-3819e84017471706d911eec3f1b3b6f9eefc139a.zip |
Only provide one copy of the math functions. If we provide a MD function,
do not also provide a __generic_XXX version as well. This is how we
used to runtime select the generic vs i387 versions on the i386 platform.
This saves a pile of #defines in the src/math_private.h file to undo the
__generic_XXX renames in some of the *.c files.
Notes
Notes:
svn path=/head/; revision=117912
Diffstat (limited to 'lib/msun/src')
-rw-r--r-- | lib/msun/src/e_acos.c | 2 | ||||
-rw-r--r-- | lib/msun/src/e_asin.c | 2 | ||||
-rw-r--r-- | lib/msun/src/e_atan2.c | 2 | ||||
-rw-r--r-- | lib/msun/src/e_exp.c | 2 | ||||
-rw-r--r-- | lib/msun/src/e_fmod.c | 2 | ||||
-rw-r--r-- | lib/msun/src/e_log.c | 2 | ||||
-rw-r--r-- | lib/msun/src/e_log10.c | 2 | ||||
-rw-r--r-- | lib/msun/src/e_remainder.c | 2 | ||||
-rw-r--r-- | lib/msun/src/e_scalb.c | 4 | ||||
-rw-r--r-- | lib/msun/src/e_sqrt.c | 2 | ||||
-rw-r--r-- | lib/msun/src/math_private.h | 40 | ||||
-rw-r--r-- | lib/msun/src/s_atan.c | 2 | ||||
-rw-r--r-- | lib/msun/src/s_ceil.c | 2 | ||||
-rw-r--r-- | lib/msun/src/s_copysign.c | 2 | ||||
-rw-r--r-- | lib/msun/src/s_copysignf.c | 2 | ||||
-rw-r--r-- | lib/msun/src/s_cos.c | 2 | ||||
-rw-r--r-- | lib/msun/src/s_finite.c | 2 | ||||
-rw-r--r-- | lib/msun/src/s_floor.c | 2 | ||||
-rw-r--r-- | lib/msun/src/s_ilogb.c | 2 | ||||
-rw-r--r-- | lib/msun/src/s_logb.c | 2 | ||||
-rw-r--r-- | lib/msun/src/s_rint.c | 2 | ||||
-rw-r--r-- | lib/msun/src/s_scalbn.c | 2 | ||||
-rw-r--r-- | lib/msun/src/s_significand.c | 2 | ||||
-rw-r--r-- | lib/msun/src/s_sin.c | 2 | ||||
-rw-r--r-- | lib/msun/src/s_tan.c | 2 |
25 files changed, 25 insertions, 65 deletions
diff --git a/lib/msun/src/e_acos.c b/lib/msun/src/e_acos.c index 86cc0ffabfab..ff6269bd3105 100644 --- a/lib/msun/src/e_acos.c +++ b/lib/msun/src/e_acos.c @@ -58,7 +58,7 @@ qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ double -__generic___ieee754_acos(double x) +__ieee754_acos(double x) { double z,p,q,r,w,s,c,df; int32_t hx,ix; diff --git a/lib/msun/src/e_asin.c b/lib/msun/src/e_asin.c index 8c94700244fc..f4c4f40ac318 100644 --- a/lib/msun/src/e_asin.c +++ b/lib/msun/src/e_asin.c @@ -67,7 +67,7 @@ qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ double -__generic___ieee754_asin(double x) +__ieee754_asin(double x) { double t=0.0,w,p,q,c,r,s; int32_t hx,ix; diff --git a/lib/msun/src/e_atan2.c b/lib/msun/src/e_atan2.c index 61d49c7bc448..e9c98589c5bf 100644 --- a/lib/msun/src/e_atan2.c +++ b/lib/msun/src/e_atan2.c @@ -53,7 +53,7 @@ pi = 3.1415926535897931160E+00, /* 0x400921FB, 0x54442D18 */ pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */ double -__generic___ieee754_atan2(double y, double x) +__ieee754_atan2(double y, double x) { double z; int32_t k,m,hx,hy,ix,iy; diff --git a/lib/msun/src/e_exp.c b/lib/msun/src/e_exp.c index 18704667f724..7ce259ccbcc6 100644 --- a/lib/msun/src/e_exp.c +++ b/lib/msun/src/e_exp.c @@ -100,7 +100,7 @@ P5 = 4.13813679705723846039e-08; /* 0x3E663769, 0x72BEA4D0 */ double -__generic___ieee754_exp(double x) /* default IEEE double exp */ +__ieee754_exp(double x) /* default IEEE double exp */ { double y,hi=0.0,lo=0.0,c,t; int32_t k=0,xsb; diff --git a/lib/msun/src/e_fmod.c b/lib/msun/src/e_fmod.c index 48a2e95efcf2..06e7c1514ca3 100644 --- a/lib/msun/src/e_fmod.c +++ b/lib/msun/src/e_fmod.c @@ -26,7 +26,7 @@ static char rcsid[] = "$FreeBSD$"; static const double one = 1.0, Zero[] = {0.0, -0.0,}; double -__generic___ieee754_fmod(double x, double y) +__ieee754_fmod(double x, double y) { int32_t n,hx,hy,hz,ix,iy,sx,i; u_int32_t lx,ly,lz; diff --git a/lib/msun/src/e_log.c b/lib/msun/src/e_log.c index 309a39334e18..aa1a70be81f3 100644 --- a/lib/msun/src/e_log.c +++ b/lib/msun/src/e_log.c @@ -83,7 +83,7 @@ Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ static const double zero = 0.0; double -__generic___ieee754_log(double x) +__ieee754_log(double x) { double hfsq,f,s,z,R,w,t1,t2,dk; int32_t k,hx,i,j; diff --git a/lib/msun/src/e_log10.c b/lib/msun/src/e_log10.c index 464d36e50d4a..7a76defd4406 100644 --- a/lib/msun/src/e_log10.c +++ b/lib/msun/src/e_log10.c @@ -59,7 +59,7 @@ log10_2lo = 3.69423907715893078616e-13; /* 0x3D59FEF3, 0x11F12B36 */ static const double zero = 0.0; double -__generic___ieee754_log10(double x) +__ieee754_log10(double x) { double y,z; int32_t i,k,hx; diff --git a/lib/msun/src/e_remainder.c b/lib/msun/src/e_remainder.c index 24c98a8f5410..ba226b70363a 100644 --- a/lib/msun/src/e_remainder.c +++ b/lib/msun/src/e_remainder.c @@ -30,7 +30,7 @@ static const double zero = 0.0; double -__generic___ieee754_remainder(double x, double p) +__ieee754_remainder(double x, double p) { int32_t hx,hp; u_int32_t sx,lx,lp; diff --git a/lib/msun/src/e_scalb.c b/lib/msun/src/e_scalb.c index 5f30ce3debb2..5b66be56ef3a 100644 --- a/lib/msun/src/e_scalb.c +++ b/lib/msun/src/e_scalb.c @@ -25,10 +25,10 @@ static char rcsid[] = "$FreeBSD$"; #ifdef _SCALB_INT double -__generic___ieee754_scalb(double x, int fn) +__ieee754_scalb(double x, int fn) #else double -__generic___ieee754_scalb(double x, double fn) +__ieee754_scalb(double x, double fn) #endif { #ifdef _SCALB_INT diff --git a/lib/msun/src/e_sqrt.c b/lib/msun/src/e_sqrt.c index 5a15dd00bed5..5aeadee76591 100644 --- a/lib/msun/src/e_sqrt.c +++ b/lib/msun/src/e_sqrt.c @@ -90,7 +90,7 @@ static char rcsid[] = "$FreeBSD$"; static const double one = 1.0, tiny=1.0e-300; double -__generic___ieee754_sqrt(double x) +__ieee754_sqrt(double x) { double z; int32_t sign = (int)0x80000000; diff --git a/lib/msun/src/math_private.h b/lib/msun/src/math_private.h index d9d854e34dc1..3fa63954c710 100644 --- a/lib/msun/src/math_private.h +++ b/lib/msun/src/math_private.h @@ -225,44 +225,4 @@ float __kernel_cosf(float,float); float __kernel_tanf(float,float,int); int __kernel_rem_pio2f(float*,float*,int,int,int,const int*); -/* alpha and i386 provide arch specific copysign() */ -#if defined(__ia64__) || defined(__sparc64__) || \ - defined(__powerpc__) || defined(__amd64__) -#define __generic_copysign copysign -#endif - -/* alpha provides arch specific copysignf() */ -#if defined(__i386__) || defined(__ia64__) || defined(__sparc64__) || \ - defined(__powerpc__) || defined(__amd64__) -#define __generic_copysignf copysignf -#endif - -/* i386 provides lots of arch specific functions */ -#if defined(__alpha__) || defined(__ia64__) || defined(__sparc64__) || \ - defined(__powerpc__) || defined(__amd64__) -#define __generic___ieee754_acos __ieee754_acos -#define __generic___ieee754_asin __ieee754_asin -#define __generic___ieee754_atan2 __ieee754_atan2 -#define __generic___ieee754_exp __ieee754_exp -#define __generic___ieee754_fmod __ieee754_fmod -#define __generic___ieee754_log __ieee754_log -#define __generic___ieee754_log10 __ieee754_log10 -#define __generic___ieee754_remainder __ieee754_remainder -#define __generic___ieee754_scalb __ieee754_scalb -#define __generic___ieee754_sqrt __ieee754_sqrt -#define __generic_atan atan -#define __generic_ceil ceil -#define __generic_cos cos -#define __generic_finite finite -#define __generic_floor floor -#define __generic_ilogb ilogb -#define __generic_log1p log1p -#define __generic_logb logb -#define __generic_rint rint -#define __generic_scalbn scalbn -#define __generic_significand significand -#define __generic_sin sin -#define __generic_tan tan -#endif - #endif /* !_MATH_PRIVATE_H_ */ diff --git a/lib/msun/src/s_atan.c b/lib/msun/src/s_atan.c index 9590d6a21f3c..5ef6700c58db 100644 --- a/lib/msun/src/s_atan.c +++ b/lib/msun/src/s_atan.c @@ -70,7 +70,7 @@ one = 1.0, huge = 1.0e300; double -__generic_atan(double x) +atan(double x) { double w,s1,s2,z; int32_t ix,hx,id; diff --git a/lib/msun/src/s_ceil.c b/lib/msun/src/s_ceil.c index df9749c52ef5..210b7ee61ddf 100644 --- a/lib/msun/src/s_ceil.c +++ b/lib/msun/src/s_ceil.c @@ -29,7 +29,7 @@ static char rcsid[] = "$FreeBSD$"; static const double huge = 1.0e300; double -__generic_ceil(double x) +ceil(double x) { int32_t i0,i1,j0; u_int32_t i,j; diff --git a/lib/msun/src/s_copysign.c b/lib/msun/src/s_copysign.c index 9ed56300f678..7b0fc386954f 100644 --- a/lib/msun/src/s_copysign.c +++ b/lib/msun/src/s_copysign.c @@ -24,7 +24,7 @@ static char rcsid[] = "$FreeBSD$"; #include "math_private.h" double -__generic_copysign(double x, double y) +copysign(double x, double y) { u_int32_t hx,hy; GET_HIGH_WORD(hx,x); diff --git a/lib/msun/src/s_copysignf.c b/lib/msun/src/s_copysignf.c index 2bcc055b0c04..df5304f80530 100644 --- a/lib/msun/src/s_copysignf.c +++ b/lib/msun/src/s_copysignf.c @@ -27,7 +27,7 @@ static char rcsid[] = "$FreeBSD$"; #include "math_private.h" float -__generic_copysignf(float x, float y) +copysignf(float x, float y) { u_int32_t ix,iy; GET_FLOAT_WORD(ix,x); diff --git a/lib/msun/src/s_cos.c b/lib/msun/src/s_cos.c index f8cd9c9055ad..b49b28aa05e3 100644 --- a/lib/msun/src/s_cos.c +++ b/lib/msun/src/s_cos.c @@ -49,7 +49,7 @@ static char rcsid[] = "$FreeBSD$"; #include "math_private.h" double -__generic_cos(double x) +cos(double x) { double y[2],z=0.0; int32_t n, ix; diff --git a/lib/msun/src/s_finite.c b/lib/msun/src/s_finite.c index 0b0e622e9f0d..8e7c1752f56e 100644 --- a/lib/msun/src/s_finite.c +++ b/lib/msun/src/s_finite.c @@ -22,7 +22,7 @@ static char rcsid[] = "$FreeBSD$"; #include "math.h" #include "math_private.h" - int __generic_finite(double x) + int finite(double x) { int32_t hx; GET_HIGH_WORD(hx,x); diff --git a/lib/msun/src/s_floor.c b/lib/msun/src/s_floor.c index 4dd85531f79d..16fc7f620012 100644 --- a/lib/msun/src/s_floor.c +++ b/lib/msun/src/s_floor.c @@ -29,7 +29,7 @@ static char rcsid[] = "$FreeBSD$"; static const double huge = 1.0e300; double -__generic_floor(double x) +floor(double x) { int32_t i0,i1,j0; u_int32_t i,j; diff --git a/lib/msun/src/s_ilogb.c b/lib/msun/src/s_ilogb.c index f73aa5bc81dd..ef24efacde4d 100644 --- a/lib/msun/src/s_ilogb.c +++ b/lib/msun/src/s_ilogb.c @@ -23,7 +23,7 @@ static char rcsid[] = "$FreeBSD$"; #include "math.h" #include "math_private.h" - int __generic_ilogb(double x) + int ilogb(double x) { int32_t hx,lx,ix; diff --git a/lib/msun/src/s_logb.c b/lib/msun/src/s_logb.c index 62d6de927f8a..5c6ea6cb1788 100644 --- a/lib/msun/src/s_logb.c +++ b/lib/msun/src/s_logb.c @@ -24,7 +24,7 @@ static char rcsid[] = "$FreeBSD$"; #include "math_private.h" double -__generic_logb(double x) +logb(double x) { int32_t lx,ix; EXTRACT_WORDS(ix,lx,x); diff --git a/lib/msun/src/s_rint.c b/lib/msun/src/s_rint.c index 162037204472..f28a80da0780 100644 --- a/lib/msun/src/s_rint.c +++ b/lib/msun/src/s_rint.c @@ -41,7 +41,7 @@ TWO52[2]={ }; double -__generic_rint(double x) +rint(double x) { int32_t i0,j0,sx; u_int32_t i,i1; diff --git a/lib/msun/src/s_scalbn.c b/lib/msun/src/s_scalbn.c index 667634eda956..f3d37da9165d 100644 --- a/lib/msun/src/s_scalbn.c +++ b/lib/msun/src/s_scalbn.c @@ -31,7 +31,7 @@ huge = 1.0e+300, tiny = 1.0e-300; double -__generic_scalbn (double x, int n) +scalbn (double x, int n) { int32_t k,hx,lx; EXTRACT_WORDS(hx,lx,x); diff --git a/lib/msun/src/s_significand.c b/lib/msun/src/s_significand.c index 8e4952d9070a..a91bcde3c2d2 100644 --- a/lib/msun/src/s_significand.c +++ b/lib/msun/src/s_significand.c @@ -24,7 +24,7 @@ static char rcsid[] = "$FreeBSD$"; #include "math_private.h" double -__generic_significand(double x) +significand(double x) { return __ieee754_scalb(x,(double) -ilogb(x)); } diff --git a/lib/msun/src/s_sin.c b/lib/msun/src/s_sin.c index 3a26af3bc399..4d3b9d50cb9a 100644 --- a/lib/msun/src/s_sin.c +++ b/lib/msun/src/s_sin.c @@ -49,7 +49,7 @@ static char rcsid[] = "$FreeBSD$"; #include "math_private.h" double -__generic_sin(double x) +sin(double x) { double y[2],z=0.0; int32_t n, ix; diff --git a/lib/msun/src/s_tan.c b/lib/msun/src/s_tan.c index 4ff902a9b1b8..5094d3091ea3 100644 --- a/lib/msun/src/s_tan.c +++ b/lib/msun/src/s_tan.c @@ -48,7 +48,7 @@ static char rcsid[] = "$FreeBSD$"; #include "math_private.h" double -__generic_tan(double x) +tan(double x) { double y[2],z=0.0; int32_t n, ix; |