opnsense-src/lib/msun/src
Dimitry Andric 83fa0a287f The fdlibm hypot() implementations shouldn't potentially left-shift
negative numbers (invoking undefined behavior)

Summary:
Various paths through hypot(x, y) will multiply x and y by a power of
two, perform the calculation in a range where IEEE-754 provides greater
precision, then undo the multiplication to determine the true result.
Undoing that multiplication is implemented as t1*w, where t1=2**k.

2**k is often computed by taking the high word of 1.0, then adding k<<20
(for doubles or long doubles) or k<<23 (for floats) to it, then
overwriting that high word. But when k is negative this left-shifts a
negative value -- and that's undefined behavior in many editions of C
and C++.

This patch should fix all hypot implementations to compute 2**k without
triggering this particular bit of undefined behavior.

Test Plan: I've only very lightly tested out the hypot(double, double)
change, in SpiderMonkey's JavaScript engine, for consistency with prior
behavior.  The other functions' changes have more or less only been
eyeballed.  Careful examination appreciated!  Do note, however, that an
error in any of these changes would most likely produce a value that is
incorrect by a factor of two, so any mistake would most likely be
glaring if invoked.

Submitted by:	Jeff Walden <jwalden@mit.edu>
Obtained from:	https://github.com/freebsd/freebsd/pull/414
Reviewed by:	dim, lwhsu
MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D22354
2019-11-26 22:01:09 +00:00
..
catrig.c Add a macro nan_mix() and use it to get NaN results that are (bitwise) 2018-07-17 07:42:14 +00:00
catrigf.c Add a macro nan_mix() and use it to get NaN results that are (bitwise) 2018-07-17 07:42:14 +00:00
catrigl.c Add a macro nan_mix() and use it to get NaN results that are (bitwise) 2018-07-17 07:42:14 +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 msun: Remove trailing space in Sunsoft copyright statement. 2017-04-23 22:31:12 +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 Add a macro nan_mix() and use it to get NaN results that are (bitwise) 2018-07-17 07:42:14 +00:00
e_atan2f.c Add a macro nan_mix() and use it to get NaN results that are (bitwise) 2018-07-17 07:42:14 +00:00
e_atan2l.c Add a macro nan_mix() and use it to get NaN results that are (bitwise) 2018-07-17 07:42:14 +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 libm: remove unused variables for LDBL_MANT_DIG != 113 2016-09-30 20:20:07 +00:00
e_exp.c Do not left-shift a negative number (inducing undefined behavior in 2019-09-25 18:50:57 +00:00
e_expf.c Do not left-shift a negative number (inducing undefined behavior in 2019-09-25 18:50:57 +00:00
e_fmod.c Fix the conversion to use nan_mix() in r336362. fmod*(x, y), 2018-07-24 10:10:16 +00:00
e_fmodf.c Fix the conversion to use nan_mix() in r336362. fmod*(x, y), 2018-07-24 10:10:16 +00:00
e_fmodl.c Fix the conversion to use nan_mix() in r336362. fmod*(x, y), 2018-07-24 10:10:16 +00:00
e_gamma.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_gammaf.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_hypot.c The fdlibm hypot() implementations shouldn't potentially left-shift 2019-11-26 22:01:09 +00:00
e_hypotf.c The fdlibm hypot() implementations shouldn't potentially left-shift 2019-11-26 22:01:09 +00:00
e_hypotl.c Add a macro nan_mix() and use it to get NaN results that are (bitwise) 2018-07-17 07:42:14 +00:00
e_j0.c Replace calls to sin(x) and cos(x) with a single call to sincos(). 2019-02-10 08:46:07 +00:00
e_j0f.c Replace calls to sin(x) and cos(x) with a single call to sincos(). 2019-02-10 08:46:07 +00:00
e_j1.c Replace calls to sin(x) and cos(x) with a single call to sincos(). 2019-02-10 08:46:07 +00:00
e_j1f.c Replace calls to sin(x) and cos(x) with a single call to sincos(). 2019-02-10 08:46:07 +00:00
e_jn.c Replace calls to sin(x) and cos(x) with a single call to sincos(). 2019-02-10 08:46:07 +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.c * Makefile: 2014-09-15 23:21:57 +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_lgammaf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
e_lgammaf_r.c libm: remove unused variables 2016-10-05 17:04:58 +00:00
e_lgammal.c * Makefile: 2014-09-15 23:21:57 +00:00
e_log.c Add logl, log2l, log10l, and log1pl. 2013-06-03 09:14:31 +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_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 pow(3): Workaround possible signed shift Undefined Behavior. 2019-01-07 17:35:09 +00:00
e_powf.c Add a macro nan_mix() and use it to get NaN results that are (bitwise) 2018-07-17 07:42:14 +00:00
e_rem_pio2.c Centralize the complications for special efficient rounding to integers. 2018-07-20 12:42:24 +00:00
e_rem_pio2f.c Centralize the complications for special efficient rounding to integers. 2018-07-20 12:42:24 +00:00
e_remainder.c Fix the conversion to use nan_mix() in r336362. fmod*(x, y), 2018-07-24 10:10:16 +00:00
e_remainderf.c Fix the conversion to use nan_mix() in r336362. fmod*(x, y), 2018-07-24 10:10:16 +00:00
e_remainderl.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +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 libm: remove unused variables for LDBL_MANT_DIG != 113 2016-09-30 20:20:07 +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 Fix formatting, this is hard to explain, so I'll show one example. 2002-05-28 18:15:04 +00:00
e_sqrtl.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
fenv-softfloat.h lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
imprecise.c msun: add ld80/ld128 powl, cpow, cpowf, cpowl from openbsd 2018-07-15 00:23:10 +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 lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
k_expf.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +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 msun: Fix some old typos. 2018-12-31 15:43:06 +00:00
k_sin.c Rearrange the polynomial evaluation for better parallelism. This 2008-02-19 12:54:14 +00:00
k_sincos.h Implement sincos, sincosf, and sincosl. 2017-05-28 06:13:38 +00:00
k_sincosf.h Implement sincos, sincosf, and sincosl. 2017-05-28 06:13:38 +00:00
k_sincosl.h Get the fix in back by reverting the part accidentally included in r354491. 2019-11-07 23:57:48 +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.h Add __isnan()/__isnanf() aliases for compatibility with glibc and CUDA 2019-11-02 16:59:53 +00:00
math_private.h Fix the conversion to use nan_mix() in r336362. fmod*(x, y), 2018-07-24 10:10:16 +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 lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_cargf.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_cargl.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_cbrt.c libm: Include float.h to get LDBL_MANT_DIG 2018-12-28 01:34:08 +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 Add a macro nan_mix() and use it to get NaN results that are (bitwise) 2018-07-17 07:42:14 +00:00
s_ccoshf.c Add a macro nan_mix() and use it to get NaN results that are (bitwise) 2018-07-17 07:42:14 +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 lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_cexpf.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_cimag.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_cimagf.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_cimagl.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_clog.c Add implementations for clog(3), clogf(3), and clog(3). 2018-05-13 09:54:34 +00:00
s_clogf.c Add implementations for clog(3), clogf(3), and clog(3). 2018-05-13 09:54:34 +00:00
s_clogl.c Add implementations for clog(3), clogf(3), and clog(3). 2018-05-13 09:54:34 +00:00
s_conj.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_conjf.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_conjl.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +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 lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
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 lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_cpow.c Recommit r336497: Fix powl, cpow, cpowf, and cpowl imports from OpenBSD 2018-07-20 18:27:30 +00:00
s_cpowf.c Recommit r336497: Fix powl, cpow, cpowf, and cpowl imports from OpenBSD 2018-07-20 18:27:30 +00:00
s_cpowl.c Recommit r336497: Fix powl, cpow, cpowf, and cpowl imports from OpenBSD 2018-07-20 18:27:30 +00:00
s_cproj.c libm: Include float.h to get LDBL_MANT_DIG 2018-12-28 01:34:08 +00:00
s_cprojf.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_cprojl.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_creal.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_crealf.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_creall.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_csinh.c Add a macro nan_mix() and use it to get NaN results that are (bitwise) 2018-07-17 07:42:14 +00:00
s_csinhf.c Add a macro nan_mix() and use it to get NaN results that are (bitwise) 2018-07-17 07:42:14 +00:00
s_csqrt.c Fix spurious and extra underflows and resulting inaccuracies for some cases 2018-07-19 15:04:10 +00:00
s_csqrtf.c Minor cleanups to csqrt*(), mostly in comments. 2018-07-17 12:01:59 +00:00
s_csqrtl.c Fix spurious and extra underflows and resulting inaccuracies for some cases 2018-07-19 15:04:10 +00:00
s_ctanh.c Add a macro nan_mix() and use it to get NaN results that are (bitwise) 2018-07-17 07:42:14 +00:00
s_ctanhf.c Add a macro nan_mix() and use it to get NaN results that are (bitwise) 2018-07-17 07:42:14 +00:00
s_erf.c libm: Include float.h to get LDBL_MANT_DIG 2018-12-28 01:34:08 +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 lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_exp2f.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_expm1.c Do not left-shift a negative number (inducing undefined behavior in 2019-09-25 18:50:57 +00:00
s_expm1f.c Do not left-shift a negative number (inducing undefined behavior in 2019-09-25 18:50:57 +00:00
s_fabs.c libm: fix some unused variable (rcsid) and dangling else warnings 2016-09-28 14:48:34 +00:00
s_fabsf.c s/rcsid/__FBSDID/ 2008-02-22 02:30:36 +00:00
s_fabsl.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_fdim.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
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 lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_fmaf.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_fmal.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_fmax.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_fmaxf.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_fmaxl.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_fmin.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_fminf.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_fminl.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
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 lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
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 lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_isnan.c Add __isnan()/__isnanf() aliases for compatibility with glibc and CUDA 2019-11-02 16:59:53 +00:00
s_isnormal.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_llrint.c Add MI implementations of [l]lrint[f]() and [l]lround[f](). 2005-01-11 23:12:55 +00:00
s_llrintf.c Add MI implementations of [l]lrint[f]() and [l]lround[f](). 2005-01-11 23:12:55 +00:00
s_llrintl.c Implement rintl(), nearbyintl(), lrintl(), and llrintl(). 2008-01-14 02:12:07 +00:00
s_llround.c These files should include s_lround.c instead of s_lrint.c. 2005-04-08 00:52:27 +00:00
s_llroundf.c These files should include s_lround.c instead of s_lrint.c. 2005-04-08 00:52:27 +00:00
s_llroundl.c Add roundl(), lroundl(), and llroundl(). 2005-04-08 01:24:08 +00:00
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 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 libm: fix some unused variable (rcsid) and dangling else warnings 2016-09-28 14:48:34 +00:00
s_lrint.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_lrintf.c Add MI implementations of [l]lrint[f]() and [l]lround[f](). 2005-01-11 23:12:55 +00:00
s_lrintl.c Implement rintl(), nearbyintl(), lrintl(), and llrintl(). 2008-01-14 02:12:07 +00:00
s_lround.c msun: Silence new harmless -Wimplicit-int-float-conversion warnings 2019-10-08 21:39:51 +00:00
s_lroundf.c These files should include s_lround.c instead of s_lrint.c. 2005-04-08 00:52:27 +00:00
s_lroundl.c Add roundl(), lroundl(), and llroundl(). 2005-04-08 01:24:08 +00:00
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 lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_nan.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_nearbyint.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +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 the conversion to use nan_mix() in r336362. fmod*(x, y), 2018-07-24 10:10:16 +00:00
s_remquof.c Fix the conversion to use nan_mix() in r336362. fmod*(x, y), 2018-07-24 10:10:16 +00:00
s_remquol.c In C remquol() and thus also in C remainderl(), don't clobber the sign bit 2018-07-24 11:50:05 +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 lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_round.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_roundf.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_roundl.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_scalbln.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_scalbn.c libm: fix some unused variable (rcsid) and dangling else warnings 2016-09-28 14:48:34 +00:00
s_scalbnf.c libm: fix some unused variable (rcsid) and dangling else warnings 2016-09-28 14:48:34 +00:00
s_scalbnl.c libm: fix some unused variable (rcsid) and dangling else warnings 2016-09-28 14:48:34 +00:00
s_signbit.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
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_sincos.c Implement sincos, sincosf, and sincosl. 2017-05-28 06:13:38 +00:00
s_sincosf.c Implement sincos, sincosf, and sincosl. 2017-05-28 06:13:38 +00:00
s_sincosl.c Implement sincos, sincosf, and sincosl. 2017-05-28 06:13:38 +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 lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +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 libm: remove unused variables for LDBL_MANT_DIG != 113 2016-09-30 20:20:07 +00:00
s_tanl.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_tgammaf.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
s_trunc.c Remove an unused variable. 2008-02-22 02:27:34 +00:00
s_truncf.c Implement trunc() and truncf(). 2004-06-20 09:25:43 +00:00
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 Added skeleton <complex.h> (aligned with the POSIX.1-200x), mostly 2001-06-13 15:16:30 +00:00
w_cabsl.c Implement cabsl() in terms of hypotl(). 2008-03-30 20:02:03 +00:00
w_drem.c
w_dremf.c Work around known GCC 3.4.x problem and use ANSI prototype for dremf(). 2004-07-28 05:53:18 +00:00