freebsd-dev/lib/msun/src
Dimitry Andric a679d056de In libm's exp2(3), avoid left-shifting a negative integer, which is
undefined.  Replace it with the intended value, in a defined way.

Reviewed by:	bde
MFC after:	3 days
2015-08-09 10:00:13 +00:00
..
catrig.c Rename cpack*() to CMPLX*(). 2014-12-16 09:21:56 +00:00
catrigf.c Rename cpack*() to CMPLX*(). 2014-12-16 09:21:56 +00:00
e_acos.c Add implementations of acosl(), asinl(), atanl(), atan2l(), 2008-07-31 22:41:26 +00:00
e_acosf.c Minor improvements: 2008-08-03 17:39:54 +00:00
e_acosh.c Add implementations of acoshl(), asinhl(), and atanhl(). This is a 2013-06-10 06:04:58 +00:00
e_acoshf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_acoshl.c Add implementations of acoshl(), asinhl(), and atanhl(). This is a 2013-06-10 06:04:58 +00:00
e_acosl.c On i386, gcc truncates long double constants to double precision 2008-08-02 03:56:22 +00:00
e_asin.c For small arguments, these functions use simple approximations, 2011-02-10 07:37:50 +00:00
e_asinf.c Remove some unused variables. 2008-08-08 00:21:27 +00:00
e_asinl.c Fix some style bogosity from fdlibm. 2008-08-03 17:49:05 +00:00
e_atan2.c A few minor corrections, including some from bde: 2008-08-02 19:17:00 +00:00
e_atan2f.c Minor improvements: 2008-08-03 17:39:54 +00:00
e_atan2l.c A few minor corrections, including some from bde: 2008-08-02 19:17:00 +00:00
e_atanh.c Add implementations of acoshl(), asinhl(), and atanhl(). This is a 2013-06-10 06:04:58 +00:00
e_atanhf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_atanhl.c Add implementations of acoshl(), asinhl(), and atanhl(). This is a 2013-06-10 06:04:58 +00:00
e_cosh.c * Makefile: 2013-12-30 01:06:21 +00:00
e_coshf.c Use __ldexp_exp() to simplify things and improve accuracy for x near 2011-10-21 06:28:47 +00:00
e_coshl.c * msun/man/cosh.3: 2013-12-31 23:59:33 +00:00
e_exp.c Fix some regressions caused by the switch from gcc to clang. The fixes 2013-05-27 08:50:10 +00:00
e_expf.c Fix some regressions caused by the switch from gcc to clang. The fixes 2013-05-27 08:50:10 +00:00
e_fmod.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_fmodf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_fmodl.c The high part of the mantissa is 64 bits on sparc64. 2008-07-31 20:09:47 +00:00
e_gamma_r.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_gamma.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_gammaf_r.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_gammaf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_hypot.c Remove some unnecessary initializations. 2011-10-15 07:00:28 +00:00
e_hypotf.c Remove some unnecessary initializations. 2011-10-15 07:00:28 +00:00
e_hypotl.c Move the macros GET_LDBL_EXPSIGN() and SET_LDBL_EXPSIGN() into 2011-10-16 05:36:39 +00:00
e_j0.c In r279493, the functions pzero[f](), qzero[f], pone[f](), 2015-05-17 16:27:06 +00:00
e_j0f.c In r279493, the functions pzero[f](), qzero[f], pone[f](), 2015-05-17 16:27:06 +00:00
e_j1.c In r279493, the functions pzero[f](), qzero[f], pone[f](), 2015-05-17 16:27:06 +00:00
e_j1f.c In r279493, the functions pzero[f](), qzero[f], pone[f](), 2015-05-17 16:27:06 +00:00
e_jn.c According to POSIX.1-2008, the Bessel functions of second kind 2015-03-10 17:10:54 +00:00
e_jnf.c According to POSIX.1-2008, the Bessel functions of second kind 2015-03-10 17:10:54 +00:00
e_lgamma_r.c The value small=2**-(p+3), where p is the precision, can be determine from 2014-10-09 22:39:52 +00:00
e_lgamma.c * Makefile: 2014-09-15 23:21:57 +00:00
e_lgammaf_r.c The value small=2**-(p+3), where p is the precision, can be determine from 2014-10-09 22:39:52 +00:00
e_lgammaf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_lgammal.c * Makefile: 2014-09-15 23:21:57 +00:00
e_log2.c Style fixes. 2013-06-05 05:33:01 +00:00
e_log2f.c Fix some regressions caused by the switch from gcc to clang. The fixes 2013-05-27 08:50:10 +00:00
e_log10.c Add logl, log2l, log10l, and log1pl. 2013-06-03 09:14:31 +00:00
e_log10f.c Fix some regressions caused by the switch from gcc to clang. The fixes 2013-05-27 08:50:10 +00:00
e_log.c Add logl, log2l, log10l, and log1pl. 2013-06-03 09:14:31 +00:00
e_logf.c Fix some regressions caused by the switch from gcc to clang. The fixes 2013-05-27 08:50:10 +00:00
e_pow.c * Update the comments to agree with commit r226595. 2014-07-13 23:10:39 +00:00
e_powf.c Per IEEE754r, pow(1, y) is 1 even if y is NaN, and pow(-1, +-Inf) is 1. 2011-10-21 06:26:07 +00:00
e_rem_pio2.c Add __always_inline to __ieee754_rem_pio2() and __ieee754_rem_pio2f(), 2012-08-11 15:47:22 +00:00
e_rem_pio2f.c Add __always_inline to __ieee754_rem_pio2() and __ieee754_rem_pio2f(), 2012-08-11 15:47:22 +00:00
e_remainder.c Implement remainderl() as a wrapper around remquol(). The extra work 2008-03-30 20:47:42 +00:00
e_remainderf.c Fix remainder() and remainderf() in round-towards-minus-infinity mode 2008-02-12 17:11:36 +00:00
e_remainderl.c Implement remainderl() as a wrapper around remquol(). The extra work 2008-03-30 20:47:42 +00:00
e_scalb.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_scalbf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_sinh.c * Makefile: 2013-12-30 01:06:21 +00:00
e_sinhf.c Use __ldexp_exp() to simplify things and improve accuracy for x near 2011-10-21 06:28:47 +00:00
e_sinhl.c * msun/man/cosh.3: 2013-12-31 23:59:33 +00:00
e_sqrt.c MI implementation of sqrtl(). This is very slow and should 2008-03-02 01:47:58 +00:00
e_sqrtf.c
e_sqrtl.c MI implementation of sqrtl(). This is very slow and should 2008-03-02 01:47:58 +00:00
fenv-softfloat.h Use __fenv_static for all static inline functions. 2014-01-25 16:03:08 +00:00
imprecise.c * Makefile: 2014-09-15 23:21:57 +00:00
k_cos.c Rearrange the polynomial evaluation for better parallelism. This 2008-02-19 12:54:14 +00:00
k_cosf.c Change a few extern inline functions in libm to static inline, since 2012-08-11 11:13:48 +00:00
k_exp.c Rename cpack*() to CMPLX*(). 2014-12-16 09:21:56 +00:00
k_expf.c Rename cpack*() to CMPLX*(). 2014-12-16 09:21:56 +00:00
k_log.h Various changes to improve the accuracy and speed of log{2,10}{,f}. 2011-10-15 05:23:28 +00:00
k_logf.h Various changes to improve the accuracy and speed of log{2,10}{,f}. 2011-10-15 05:23:28 +00:00
k_rem_pio2.c Fix typo; s/ouput/output 2012-11-07 07:00:59 +00:00
k_sin.c Rearrange the polynomial evaluation for better parallelism. This 2008-02-19 12:54:14 +00:00
k_sinf.c Change a few extern inline functions in libm to static inline, since 2012-08-11 11:13:48 +00:00
k_tan.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
k_tanf.c Change a few extern inline functions in libm to static inline, since 2012-08-11 11:13:48 +00:00
math_private.h Clarify to explain that C99 conforming compilers don't need CMPLX*(). 2014-12-24 10:13:53 +00:00
math.h * Makefile: 2014-09-15 23:21:57 +00:00
s_asinh.c Add implementations of acoshl(), asinhl(), and atanhl(). This is a 2013-06-10 06:04:58 +00:00
s_asinhf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_asinhl.c Add implementations of acoshl(), asinhl(), and atanhl(). This is a 2013-06-10 06:04:58 +00:00
s_atan.c For small arguments, these functions use simple approximations, 2011-02-10 07:37:50 +00:00
s_atanf.c Fix some problems with asinf(), acosf(), atanf(), and atan2f(): 2008-08-01 01:24:25 +00:00
s_atanl.c Add implementations of acosl(), asinl(), atanl(), atan2l(), 2008-07-31 22:41:26 +00:00
s_carg.c
s_cargf.c
s_cargl.c Add implementations of acosl(), asinl(), atanl(), atan2l(), 2008-07-31 22:41:26 +00:00
s_cbrt.c Implement the long double version for the cube root function, cbrtl. 2011-03-12 16:50:39 +00:00
s_cbrtf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_cbrtl.c ieeefp.h is only needed on i386 class hardware. 2012-07-30 21:58:28 +00:00
s_ccosh.c Fix some exceptional cases where the sign of the result is unspecified 2015-06-15 20:11:06 +00:00
s_ccoshf.c Fix some exceptional cases where the sign of the result is unspecified 2015-06-15 20:11:06 +00:00
s_ceil.c Sigh, the weak reference for ceill(), floorl() and truncl() was in 2008-02-15 07:01:40 +00:00
s_ceilf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_ceill.c Oops, the weak reference for ceill(), floorl() and truncl() was in the 2008-02-14 15:10:34 +00:00
s_cexp.c Rename cpack*() to CMPLX*(). 2014-12-16 09:21:56 +00:00
s_cexpf.c Rename cpack*() to CMPLX*(). 2014-12-16 09:21:56 +00:00
s_cimag.c Eliminate __real__ and __imag__ gccisms. 2009-03-14 18:24:15 +00:00
s_cimagf.c Eliminate __real__ and __imag__ gccisms. 2009-03-14 18:24:15 +00:00
s_cimagl.c Eliminate __real__ and __imag__ gccisms. 2009-03-14 18:24:15 +00:00
s_conj.c Rename cpack*() to CMPLX*(). 2014-12-16 09:21:56 +00:00
s_conjf.c Rename cpack*() to CMPLX*(). 2014-12-16 09:21:56 +00:00
s_conjl.c Rename cpack*() to CMPLX*(). 2014-12-16 09:21:56 +00:00
s_copysign.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_copysignf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_copysignl.c
s_cos.c For small arguments, these functions use simple approximations, 2011-02-10 07:37:50 +00:00
s_cosf.c Inline __ieee754__rem_pio2f(). On amd64 (A64) and i386 (A64), this 2008-02-25 22:19:17 +00:00
s_cosl.c * Use ENTERI() and RETURNI() to toggle the rounding precision if 2012-09-22 15:38:29 +00:00
s_cproj.c Rename cpack*() to CMPLX*(). 2014-12-16 09:21:56 +00:00
s_cprojf.c Rename cpack*() to CMPLX*(). 2014-12-16 09:21:56 +00:00
s_cprojl.c Rename cpack*() to CMPLX*(). 2014-12-16 09:21:56 +00:00
s_creal.c
s_crealf.c
s_creall.c
s_csinh.c Fix some exceptional cases where the sign of the result is unspecified 2015-06-15 20:16:53 +00:00
s_csinhf.c Fix some exceptional cases where the sign of the result is unspecified 2015-06-15 20:16:53 +00:00
s_csqrt.c Rename cpack*() to CMPLX*(). 2014-12-16 09:21:56 +00:00
s_csqrtf.c Rename cpack*() to CMPLX*(). 2014-12-16 09:21:56 +00:00
s_csqrtl.c Rename cpack*() to CMPLX*(). 2014-12-16 09:21:56 +00:00
s_ctanh.c - Change comments to be more consistent with s_ccosh.c and s_csinh.c. 2015-06-15 20:40:44 +00:00
s_ctanhf.c Follow up to r284427: fix NaN mixing for ctanhf too. 2015-06-15 20:47:26 +00:00
s_erf.c * Makefile: 2014-07-13 17:05:03 +00:00
s_erff.c * Use 9 digits instead of 11 digits in efx and efx8. 2014-07-13 16:24:16 +00:00
s_exp2.c In libm's exp2(3), avoid left-shifting a negative integer, which is 2015-08-09 10:00:13 +00:00
s_exp2f.c Fix some regressions caused by the switch from gcc to clang. The fixes 2013-05-27 08:50:10 +00:00
s_expm1.c ld80 and ld128 implementations of expm1l(). This code started life 2013-06-03 19:51:32 +00:00
s_expm1f.c Fix some regressions caused by the switch from gcc to clang. The fixes 2013-05-27 08:50:10 +00:00
s_fabs.c
s_fabsf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_fabsl.c I stopped using my middle name years ago. 2012-04-25 18:07:35 +00:00
s_fdim.c
s_finite.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_finitef.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_floor.c Sigh, the weak reference for ceill(), floorl() and truncl() was in 2008-02-15 07:01:40 +00:00
s_floorf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_floorl.c Oops, the weak reference for ceill(), floorl() and truncl() was in the 2008-02-14 15:10:34 +00:00
s_fma.c Make the order of operations for lib/msun more clear. 2013-06-24 19:12:17 +00:00
s_fmaf.c Fix a double-rounding bug in fma{,f,l}. The bug would occur in 2011-10-15 04:16:58 +00:00
s_fmal.c Make the order of operations for lib/msun more clear. 2013-06-24 19:12:17 +00:00
s_fmax.c
s_fmaxf.c
s_fmaxl.c
s_fmin.c
s_fminf.c
s_fminl.c
s_frexp.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_frexpf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_frexpl.c
s_ilogb.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_ilogbf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_ilogbl.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_isfinite.c
s_isnan.c Revert r274772: it is not valid on MIPS 2014-11-25 03:50:31 +00:00
s_isnormal.c
s_llrint.c
s_llrintf.c
s_llrintl.c
s_llround.c
s_llroundf.c
s_llroundl.c
s_log1p.c Add logl, log2l, log10l, and log1pl. 2013-06-03 09:14:31 +00:00
s_log1pf.c Fix some regressions caused by the switch from gcc to clang. The fixes 2013-05-27 08:50:10 +00:00
s_logb.c
s_logbf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_logbl.c
s_lrint.c
s_lrintf.c
s_lrintl.c
s_lround.c
s_lroundf.c
s_lroundl.c
s_modf.c
s_modff.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_modfl.c
s_nan.c
s_nearbyint.c Fix some regressions caused by the switch from gcc to clang. The fixes 2013-05-27 08:50:10 +00:00
s_nextafter.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_nextafterf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_nextafterl.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_nexttoward.c Fix a bug where the wrong argument was passed to INSERT_WORDS(). 2011-02-10 07:38:13 +00:00
s_nexttowardf.c Fix a bug where the wrong argument was passed to SET_FLOAT_WORD(). 2011-02-10 07:38:38 +00:00
s_remquo.c Fix a bug in remquo{,f,l}, in which the quotient didn't always have the 2012-04-07 03:59:12 +00:00
s_remquof.c Fix a bug in remquo{,f,l}, in which the quotient didn't always have the 2012-04-07 03:59:12 +00:00
s_remquol.c Fix a bug in remquo{,f,l}, in which the quotient didn't always have the 2012-04-07 03:59:12 +00:00
s_rint.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_rintf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_rintl.c Optimize the conversion to bits a little (by about 11 cycles or 16% 2008-02-22 11:59:05 +00:00
s_round.c Yet, another attempt to fix the libm breakage due to the 2013-11-07 22:46:13 +00:00
s_roundf.c * Use "math.h" instead of <math.h>. 2013-11-06 23:44:52 +00:00
s_roundl.c * Use "math.h" instead of <math.h>. 2013-11-06 23:44:52 +00:00
s_scalbln.c Truncate the exponent 'n' of type long to a domain contained 2015-02-07 00:38:18 +00:00
s_scalbn.c
s_scalbnf.c
s_scalbnl.c
s_signbit.c
s_signgam.c
s_significand.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_significandf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_sin.c For small arguments, these functions use simple approximations, 2011-02-10 07:37:50 +00:00
s_sinf.c Inline __ieee754__rem_pio2f(). On amd64 (A64) and i386 (A64), this 2008-02-25 22:19:17 +00:00
s_sinl.c * Use ENTERI() and RETURNI() to toggle the rounding precision if 2012-09-22 15:38:29 +00:00
s_tan.c For small arguments, these functions use simple approximations, 2011-02-10 07:37:50 +00:00
s_tanf.c Inline __ieee754__rem_pio2f(). On amd64 (A64) and i386 (A64), this 2008-02-25 22:19:17 +00:00
s_tanh.c Fix the order of "const volatile" to be consistent with 2014-08-30 17:31:53 +00:00
s_tanhf.c Fix the order of "const volatile" to be consistent with 2014-08-30 17:31:53 +00:00
s_tanhl.c * msun/man/cosh.3: 2013-12-31 23:59:33 +00:00
s_tanl.c * Use ENTERI() and RETURNI() to toggle the rounding precision if 2012-09-22 15:38:29 +00:00
s_tgammaf.c Add tgammaf() as a simple wrapper around tgamma(). 2008-02-18 17:27:11 +00:00
s_trunc.c Remove an unused variable. 2008-02-22 02:27:34 +00:00
s_truncf.c
s_truncl.c Oops, the weak reference for ceill(), floorl() and truncl() was in the 2008-02-14 15:10:34 +00:00
w_cabs.c Alias hypotl() and cabsl() for platforms where long double is the same 2008-03-30 20:03:06 +00:00
w_cabsf.c
w_cabsl.c Implement cabsl() in terms of hypotl(). 2008-03-30 20:02:03 +00:00
w_drem.c
w_dremf.c