freebsd-skq/lib/msun/src
David Schultz 92a1a6e169 Fix some corner cases:
- fma(x, y, z) returns z, not NaN, if z is infinite, x and y are finite,
  x*y overflows, and x*y and z have opposite signs.
- fma(x, y, z) doesn't generate an overflow, underflow, or inexact exception
  if z is NaN or infinite, as per IEEE 754R.
- If the rounding mode is set to FE_DOWNWARD, fma(1.0, 0.0, -0.0) is -0.0,
  not +0.0.
2008-04-03 06:14:51 +00:00
..
e_acos.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_acosf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_acosh.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_acoshf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_asin.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_asinf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_atan2.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_atan2f.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_atanh.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_atanhf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_cosh.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_coshf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_exp.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_expf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +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_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 Alias hypotl() and cabsl() for platforms where long double is the same 2008-03-30 20:03:06 +00:00
e_hypotf.c Use fabs[f]() instead of bit fiddling for setting absolute values. 2008-03-30 18:07:12 +00:00
e_hypotl.c Remove a (bogus) remnant of debugging this on sparc64. 2008-03-31 13:11:45 +00:00
e_j0.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_j0f.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_j1.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_j1f.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_jn.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_jnf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_lgamma_r.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_lgamma.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_lgammaf_r.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_lgammaf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_log10.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_log10f.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_log.c Fix some rather obscene code that has ambiguous if...if...else... 2008-03-29 16:37:59 +00:00
e_logf.c Fix some rather obscene code that has ambiguous if...if...else... 2008-03-29 16:37:59 +00:00
e_pow.c Use the expression (x+0.0)-(y+0.0) instead of x+y when mixing NaN arg(s). 2008-02-14 09:42:24 +00:00
e_powf.c Fix the hi+lo decomposition for 2/(3ln2). The decomposition needs to 2008-02-14 10:23:51 +00:00
e_rem_pio2.c Fix and improve some magic numbers for the "medium size" case. 2008-02-28 16:22:36 +00:00
e_rem_pio2f.c Fix and improve some magic numbers for the "medium size" case. 2008-02-28 16:22:36 +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 s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_sinhf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +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
k_cos.c Rearrange the polynomial evaluation for better parallelism. This 2008-02-19 12:54:14 +00:00
k_cosf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
k_rem_pio2.c Fix some off-by-1 errors. 2008-02-25 11:43:20 +00:00
k_sin.c Rearrange the polynomial evaluation for better parallelism. This 2008-02-19 12:54:14 +00:00
k_sinf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
k_tan.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
k_tanf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
math_private.h Change __ieee754_rem_pio2f() to return double instead of float so that 2008-02-25 13:33:20 +00:00
math.h Hook remquol() and remainderl() up to the build. 2008-03-30 20:48:02 +00:00
s_asinh.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_asinhf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_atan.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_atanf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_carg.c Implement carg(3) and cargf(3). 2007-12-12 23:43:51 +00:00
s_cargf.c Implement carg(3) and cargf(3). 2007-12-12 23:43:51 +00:00
s_cbrt.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_cbrtf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +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_cimag.c
s_cimagf.c
s_cimagl.c
s_conj.c
s_conjf.c
s_conjl.c
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 Inline __ieee754__rem_pio2(). With gcc4-2, this gives an average 2008-02-18 14:02:12 +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 Add implementations of sinl(), cosl(), and tanl(). 2008-02-17 07:33:12 +00:00
s_creal.c
s_crealf.c
s_creall.c
s_csqrt.c Implement csqrtl(). 2008-03-30 20:07:15 +00:00
s_csqrtf.c - Correct the range check in the double version to catch negative values 2008-01-11 04:18:25 +00:00
s_csqrtl.c Implement csqrtl(). 2008-03-30 20:07:15 +00:00
s_erf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_erff.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_exp2.c Remove an unused variable. 2008-02-22 02:27:34 +00:00
s_exp2f.c Remove an unused variable. 2008-02-22 02:27:34 +00:00
s_expm1.c Fix some rather obscene code that has ambiguous if...if...else... 2008-03-29 16:37:59 +00:00
s_expm1f.c Fix some rather obscene code that has ambiguous if...if...else... 2008-03-29 16:37:59 +00:00
s_fabs.c
s_fabsf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_fabsl.c
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 Fix some corner cases: 2008-04-03 06:14:51 +00:00
s_fmaf.c Include math.h for the fmaf() prototype. 2008-03-29 16:38:29 +00:00
s_fmal.c Fix some corner cases: 2008-04-03 06:14:51 +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
s_isnormal.c
s_llrint.c
s_llrintf.c
s_llrintl.c Implement rintl(), nearbyintl(), lrintl(), and llrintl(). 2008-01-14 02:12:07 +00:00
s_llround.c
s_llroundf.c
s_llroundl.c
s_log1p.c Fix some rather obscene code that has ambiguous if...if...else... 2008-03-29 16:37:59 +00:00
s_log1pf.c Fix some rather obscene code that has ambiguous if...if...else... 2008-03-29 16:37:59 +00:00
s_logb.c Oops, fix the fix in rev.1.10. logb() and logbf() were broken on 2008-02-08 01:22:13 +00:00
s_logbf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_logbl.c Add logbl(3) to libm. 2007-12-17 03:53:38 +00:00
s_lrint.c
s_lrintf.c
s_lrintl.c Implement rintl(), nearbyintl(), lrintl(), and llrintl(). 2008-01-14 02:12:07 +00:00
s_lround.c
s_lroundf.c
s_lroundl.c
s_modf.c Correctly handle inf/nan. This routine is currently unused because we 2007-01-06 21:22:38 +00:00
s_modff.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_modfl.c Implement modfl(). 2007-01-07 07:54:21 +00:00
s_nan.c Since nan() is supposed to work the same as strtod("nan(...)", NULL), 2007-12-18 23:46:32 +00:00
s_nearbyint.c Implement rintl(), nearbyintl(), lrintl(), and llrintl(). 2008-01-14 02:12:07 +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 s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_nexttowardf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_remquo.c Implement remquol() based on remquo(). 2008-03-30 20:47:26 +00:00
s_remquof.c
s_remquol.c Implement remquol() based on remquo(). 2008-03-30 20:47:26 +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 Fixed roundf(). The following cases never worked in FreeBSD: 2005-12-02 13:45:06 +00:00
s_roundf.c Fixed roundf(). The following cases never worked in FreeBSD: 2005-12-02 13:45:06 +00:00
s_roundl.c Fixed roundf(). The following cases never worked in FreeBSD: 2005-12-02 13:45:06 +00:00
s_scalbln.c
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 Inline __ieee754__rem_pio2(). With gcc4-2, this gives an average 2008-02-18 14:02:12 +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 Add implementations of sinl(), cosl(), and tanl(). 2008-02-17 07:33:12 +00:00
s_tan.c Inline __ieee754__rem_pio2(). With gcc4-2, this gives an average 2008-02-18 14:02:12 +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 s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_tanhf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_tanl.c Add implementations of sinl(), cosl(), and tanl(). 2008-02-17 07:33:12 +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