musl/src/math
Szabolcs Nagy 4b539a826b math: use sqrtl if FLT_EVAL_METHOD==2 in acosh and acoshf
this makes acosh slightly more precise around 1.0 on i386
2013-10-07 18:41:03 +00:00
..
armebhf some initial math asm for armhf (fabs[f] and sqrt[f]) 2013-08-16 17:32:30 -04:00
armhf some initial math asm for armhf (fabs[f] and sqrt[f]) 2013-08-16 17:32:30 -04:00
i386 math: fix exp2l asm on x86 (raise underflow correctly) 2013-09-05 11:30:09 +00:00
x86_64 fix x86_64 lrintl asm, again 2013-09-13 01:22:13 -04:00
__cos.c math: use double_t for temporaries to avoid stores on i386 2013-05-15 23:08:52 +00:00
__cosdf.c math: use double_t for temporaries to avoid stores on i386 2013-05-15 23:08:52 +00:00
__cosl.c math: long double trigonometric cleanup (cosl, sinl, sincosl, tanl) 2013-09-05 11:30:08 +00:00
__expo2.c clean up __expo2.c, use a slightly better k constant 2012-03-13 16:38:22 +01:00
__expo2f.c clean up __expo2.c, use a slightly better k constant 2012-03-13 16:38:22 +01:00
__fpclassify.c math: cosmetic cleanup (use explicit union instead of fshape and dshape) 2013-09-05 11:30:09 +00:00
__fpclassifyf.c math: cosmetic cleanup (use explicit union instead of fshape and dshape) 2013-09-05 11:30:09 +00:00
__fpclassifyl.c math: support invalid ld80 representations in fpclassify 2013-09-05 18:05:07 +00:00
__invtrigl.c math: long double inverse trigonometric cleanup (acosl, asinl, atanl, atan2l) 2013-09-05 11:30:07 +00:00
__invtrigl.h math: long double inverse trigonometric cleanup (acosl, asinl, atanl, atan2l) 2013-09-05 11:30:07 +00:00
__log1p.h math: use double_t for temporaries to avoid stores on i386 2013-05-15 23:08:52 +00:00
__log1pf.h math: use double_t for temporaries to avoid stores on i386 2013-05-15 23:08:52 +00:00
__polevll.c fix loads of missing const in new libm, and some global vars (?!) in powl 2012-03-18 01:58:28 -04:00
__rem_pio2.c math: remove STRICT_ASSIGN macro 2013-09-06 18:35:55 +00:00
__rem_pio2_large.c math: remove STRICT_ASSIGN macro 2013-09-06 18:35:55 +00:00
__rem_pio2f.c math: remove STRICT_ASSIGN macro 2013-09-06 18:35:55 +00:00
__rem_pio2l.c math: long double trigonometric cleanup (cosl, sinl, sincosl, tanl) 2013-09-05 11:30:08 +00:00
__signbit.c remove a fixme comment 2012-03-20 20:08:35 +01:00
__signbitf.c remove a fixme comment 2012-03-20 20:08:35 +01:00
__signbitl.c long double cleanup, initial commit 2013-09-05 11:30:07 +00:00
__sin.c math: use double_t for temporaries to avoid stores on i386 2013-05-15 23:08:52 +00:00
__sindf.c math: use double_t for temporaries to avoid stores on i386 2013-05-15 23:08:52 +00:00
__sinl.c math: long double trigonometric cleanup (cosl, sinl, sincosl, tanl) 2013-09-05 11:30:08 +00:00
__tan.c math: tan cleanups 2013-05-18 12:34:00 +00:00
__tandf.c math: tan cleanups 2013-05-18 12:34:00 +00:00
__tanl.c math: long double trigonometric cleanup (cosl, sinl, sincosl, tanl) 2013-09-05 11:30:08 +00:00
acos.c math: use double_t for temporaries to avoid stores on i386 2013-05-15 23:08:52 +00:00
acosf.c math: use double_t for temporaries to avoid stores on i386 2013-05-15 23:08:52 +00:00
acosh.c math: use sqrtl if FLT_EVAL_METHOD==2 in acosh and acoshf 2013-10-07 18:41:03 +00:00
acoshf.c math: use sqrtl if FLT_EVAL_METHOD==2 in acosh and acoshf 2013-10-07 18:41:03 +00:00
acoshl.c math: fix acoshf on negative values 2013-09-05 12:26:26 +00:00
acosl.c math: long double inverse trigonometric cleanup (acosl, asinl, atanl, atan2l) 2013-09-05 11:30:07 +00:00
asin.c math: fix asin, atan, log1p, tanh to raise underflow on subnormal 2013-08-15 10:14:46 +00:00
asinf.c math: fix asin, atan, log1p, tanh to raise underflow on subnormal 2013-08-15 10:14:46 +00:00
asinh.c math: use 0x1p-120f and 0x1p120f for tiny and huge values 2012-12-16 20:28:43 +01:00
asinhf.c math: rewrite inverse hyperbolic functions to be simpler/smaller 2012-12-11 23:06:20 +01:00
asinhl.c math: long double fix (use ldshape union) 2013-09-05 11:30:08 +00:00
asinl.c math: long double inverse trigonometric cleanup (acosl, asinl, atanl, atan2l) 2013-09-05 11:30:07 +00:00
atan.c math: fix asin, atan, log1p, tanh to raise underflow on subnormal 2013-08-15 10:14:46 +00:00
atan2.c math: clean up atan2.c 2013-08-15 14:05:19 +00:00
atan2f.c math: clean up atan2.c 2013-08-15 14:05:19 +00:00
atan2l.c math: long double inverse trigonometric cleanup (acosl, asinl, atanl, atan2l) 2013-09-05 11:30:07 +00:00
atanf.c math: fix asin, atan, log1p, tanh to raise underflow on subnormal 2013-08-15 10:14:46 +00:00
atanh.c math: fix atanh (overflow and underflow issues) 2013-09-05 16:57:46 +00:00
atanhf.c math: fix atanh (overflow and underflow issues) 2013-09-05 16:57:46 +00:00
atanhl.c math: fix atanh (overflow and underflow issues) 2013-09-05 16:57:46 +00:00
atanl.c math: long double inverse trigonometric cleanup (acosl, asinl, atanl, atan2l) 2013-09-05 11:30:07 +00:00
cbrt.c math: cbrt cleanup and long double fix 2013-09-05 11:30:08 +00:00
cbrtf.c math: cbrt cleanup and long double fix 2013-09-05 11:30:08 +00:00
cbrtl.c math: cbrt cleanup and long double fix 2013-09-05 11:30:08 +00:00
ceil.c math: rewrite rounding functions (ceil, floor, trunc, round, rint) 2013-09-05 11:30:07 +00:00
ceilf.c math: rewrite rounding functions (ceil, floor, trunc, round, rint) 2013-09-05 11:30:07 +00:00
ceill.c math: rewrite rounding functions (ceil, floor, trunc, round, rint) 2013-09-05 11:30:07 +00:00
copysign.c math: cosmetic cleanup (use explicit union instead of fshape and dshape) 2013-09-05 11:30:09 +00:00
copysignf.c math: cosmetic cleanup (use explicit union instead of fshape and dshape) 2013-09-05 11:30:09 +00:00
copysignl.c long double cleanup, initial commit 2013-09-05 11:30:07 +00:00
cos.c math: sin cos cleanup 2013-05-18 14:40:22 +00:00
cosf.c math: sin cos cleanup 2013-05-18 14:40:22 +00:00
cosh.c math: finished cosh.c cleanup 2012-12-16 19:23:51 +01:00
coshf.c math: finished cosh.c cleanup 2012-12-16 19:23:51 +01:00
coshl.c math: long double fix (use ldshape union) 2013-09-05 11:30:08 +00:00
cosl.c math: long double trigonometric cleanup (cosl, sinl, sincosl, tanl) 2013-09-05 11:30:08 +00:00
erf.c math: use double_t for temporaries to avoid stores on i386 2013-05-15 23:08:52 +00:00
erff.c math: use double_t for temporaries to avoid stores on i386 2013-05-15 23:08:52 +00:00
erfl.c math: remove code duplication in erfl found by clang analyzer 2013-10-04 18:10:17 +00:00
exp.c math: remove STRICT_ASSIGN macro 2013-09-06 18:35:55 +00:00
exp2.c math: remove STRICT_ASSIGN macro 2013-09-06 18:35:55 +00:00
exp2f.c math: remove STRICT_ASSIGN from exp2f (see previous commit) 2013-09-06 20:05:25 +00:00
exp2l.c math: fix underflow in exp*.c and long double handling in exp2l 2013-09-05 11:30:08 +00:00
exp10.c support alternate glibc name pow10 for exp10 2012-05-01 00:07:37 -04:00
exp10f.c math: use float constants in exp10f.c 2012-11-18 03:52:29 +01:00
exp10l.c math: fix long double constants in exp10l.c 2012-11-12 23:13:28 +01:00
expf.c math: remove STRICT_ASSIGN macro 2013-09-06 18:35:55 +00:00
expl.c math: fix underflow in exp*.c and long double handling in exp2l 2013-09-05 11:30:08 +00:00
expm1.c math: remove STRICT_ASSIGN macro 2013-09-06 18:35:55 +00:00
expm1f.c math: remove STRICT_ASSIGN macro 2013-09-06 18:35:55 +00:00
expm1l.c math: fix exception behaviour of expm1l.c on inf and nan 2012-11-12 23:41:48 +01:00
fabs.c math: cosmetic cleanup (use explicit union instead of fshape and dshape) 2013-09-05 11:30:09 +00:00
fabsf.c math: cosmetic cleanup (use explicit union instead of fshape and dshape) 2013-09-05 11:30:09 +00:00
fabsl.c long double cleanup, initial commit 2013-09-05 11:30:07 +00:00
fdim.c remove libm.h includes when math.h and float.h are enough 2012-03-13 19:51:14 +01:00
fdimf.c remove libm.h includes when math.h and float.h are enough 2012-03-13 19:51:14 +01:00
fdiml.c remove libm.h includes when math.h and float.h are enough 2012-03-13 19:51:14 +01:00
floor.c math: rewrite rounding functions (ceil, floor, trunc, round, rint) 2013-09-05 11:30:07 +00:00
floorf.c math: rewrite rounding functions (ceil, floor, trunc, round, rint) 2013-09-05 11:30:07 +00:00
floorl.c math: rewrite rounding functions (ceil, floor, trunc, round, rint) 2013-09-05 11:30:07 +00:00
fma.c math: remove *_WORD64 macros from libm.h 2013-09-05 11:30:08 +00:00
fmaf.c math: add fma TODO comments about the underflow issue 2013-05-19 14:43:32 +00:00
fmal.c math: fix remaining old long double code (erfl, fmal, lgammal, scalbnl) 2013-09-05 11:30:08 +00:00
fmax.c remove libm.h includes when math.h and float.h are enough 2012-03-13 19:51:14 +01:00
fmaxf.c remove libm.h includes when math.h and float.h are enough 2012-03-13 19:51:14 +01:00
fmaxl.c remove libm.h includes when math.h and float.h are enough 2012-03-13 19:51:14 +01:00
fmin.c remove libm.h includes when math.h and float.h are enough 2012-03-13 19:51:14 +01:00
fminf.c remove libm.h includes when math.h and float.h are enough 2012-03-13 19:51:14 +01:00
fminl.c remove libm.h includes when math.h and float.h are enough 2012-03-13 19:51:14 +01:00
fmod.c math: rewrite remainder functions (remainder, remquo, fmod, modf) 2013-09-05 11:30:07 +00:00
fmodf.c math: rewrite remainder functions (remainder, remquo, fmod, modf) 2013-09-05 11:30:07 +00:00
fmodl.c math: rewrite remainder functions (remainder, remquo, fmod, modf) 2013-09-05 11:30:07 +00:00
frexp.c first commit of the new libm! 2012-03-13 01:17:53 -04:00
frexpf.c first commit of the new libm! 2012-03-13 01:17:53 -04:00
frexpl.c math: long double fix (use ldshape union) 2013-09-05 11:30:08 +00:00
hypot.c math: rewrite hypot 2013-09-05 11:30:07 +00:00
hypotf.c math: rewrite hypot 2013-09-05 11:30:07 +00:00
hypotl.c math: rewrite hypot 2013-09-05 11:30:07 +00:00
ilogb.c math: ilogb cleanup 2013-09-05 11:30:07 +00:00
ilogbf.c math: ilogb cleanup 2013-09-05 11:30:07 +00:00
ilogbl.c math: ilogb cleanup 2013-09-05 11:30:07 +00:00
j0.c math: use double_t for temporaries to avoid stores on i386 2013-05-15 23:08:52 +00:00
j0f.c math: use double_t for temporaries to avoid stores on i386 2013-05-15 23:08:52 +00:00
j1.c math: use double_t for temporaries to avoid stores on i386 2013-05-15 23:08:52 +00:00
j1f.c math: use double_t for temporaries to avoid stores on i386 2013-05-15 23:08:52 +00:00
jn.c math: bessel cleanup (jn.c and jnf.c) 2013-01-01 22:20:45 +01:00
jnf.c math: bessel cleanup (jn.c and jnf.c) 2013-01-01 22:20:45 +01:00
ldexp.c remove libm.h includes when math.h and float.h are enough 2012-03-13 19:51:14 +01:00
ldexpf.c remove libm.h includes when math.h and float.h are enough 2012-03-13 19:51:14 +01:00
ldexpl.c remove libm.h includes when math.h and float.h are enough 2012-03-13 19:51:14 +01:00
lgamma.c math: remove comment about aliasing lgamma as gamma 2012-03-27 22:12:20 +02:00
lgamma_r.c math: remove libc.h include from libm.h 2013-09-05 14:03:10 +00:00
lgammaf.c math: remove comment about aliasing lgamma as gamma 2012-03-27 22:12:20 +02:00
lgammaf_r.c math: remove libc.h include from libm.h 2013-09-05 14:03:10 +00:00
lgammal.c math: remove a useless assignment in lgammal found by clang analyzer 2013-10-04 18:08:16 +00:00
llrint.c make lrint and llrint functions work without fenv support 2012-03-18 20:40:43 +01:00
llrintf.c make lrint and llrint functions work without fenv support 2012-03-18 20:40:43 +01:00
llrintl.c math: use '#pragma STDC FENV_ACCESS ON' when fenv is accessed 2012-11-13 13:34:45 +01:00
llround.c simplify lround and llround functions 2012-03-18 20:52:33 +01:00
llroundf.c simplify lround and llround functions 2012-03-18 20:52:33 +01:00
llroundl.c simplify lround and llround functions 2012-03-18 20:52:33 +01:00
log.c code cleanup of named constants 2012-03-19 23:41:19 +01:00
log1p.c math: remove STRICT_ASSIGN macro 2013-09-06 18:35:55 +00:00
log1pf.c math: remove STRICT_ASSIGN macro 2013-09-06 18:35:55 +00:00
log1pl.c math: raise exception flags in log1pl.c on <= -1 arguments 2012-11-13 00:21:09 +01:00
log2.c code cleanup of named constants 2012-03-19 23:41:19 +01:00
log2f.c code cleanup of named constants 2012-03-19 23:41:19 +01:00
log2l.c math: raise flags in logl.c on <= 0 arguments 2012-11-13 00:49:55 +01:00
log10.c code cleanup of named constants 2012-03-19 23:41:19 +01:00
log10f.c code cleanup of named constants 2012-03-19 23:41:19 +01:00
log10l.c use scalbn or *2.0 instead of ldexp, fix fmal 2012-03-19 22:57:58 +01:00
logb.c math: fix logb(-0.0) in downward rounding mode 2013-09-05 11:30:07 +00:00
logbf.c math: fix logb(-0.0) in downward rounding mode 2013-09-05 11:30:07 +00:00
logbl.c math: fix logb(-0.0) in downward rounding mode 2013-09-05 11:30:07 +00:00
logf.c code cleanup of named constants 2012-03-19 23:41:19 +01:00
logl.c math: raise flags in logl.c on <= 0 arguments 2012-11-13 00:49:55 +01:00
lrint.c math: use '#pragma STDC FENV_ACCESS ON' when fenv is accessed 2012-11-13 13:34:45 +01:00
lrintf.c make lrint and llrint functions work without fenv support 2012-03-18 20:40:43 +01:00
lrintl.c math: use '#pragma STDC FENV_ACCESS ON' when fenv is accessed 2012-11-13 13:34:45 +01:00
lround.c simplify lround and llround functions 2012-03-18 20:52:33 +01:00
lroundf.c simplify lround and llround functions 2012-03-18 20:52:33 +01:00
lroundl.c simplify lround and llround functions 2012-03-18 20:52:33 +01:00
modf.c math: rewrite remainder functions (remainder, remquo, fmod, modf) 2013-09-05 11:30:07 +00:00
modff.c math: rewrite remainder functions (remainder, remquo, fmod, modf) 2013-09-05 11:30:07 +00:00
modfl.c math: remove an unused variable from modfl 2013-10-06 02:09:40 +00:00
nan.c implement nan, nanf, nanl 2012-03-13 01:55:25 -04:00
nanf.c implement nan, nanf, nanl 2012-03-13 01:55:25 -04:00
nanl.c implement nan, nanf, nanl 2012-03-13 01:55:25 -04:00
nearbyint.c math: use '#pragma STDC FENV_ACCESS ON' when fenv is accessed 2012-11-13 13:34:45 +01:00
nearbyintf.c math: use '#pragma STDC FENV_ACCESS ON' when fenv is accessed 2012-11-13 13:34:45 +01:00
nearbyintl.c math: use '#pragma STDC FENV_ACCESS ON' when fenv is accessed 2012-11-13 13:34:45 +01:00
nextafter.c math: cosmetic cleanup (use explicit union instead of fshape and dshape) 2013-09-05 11:30:09 +00:00
nextafterf.c math: cosmetic cleanup (use explicit union instead of fshape and dshape) 2013-09-05 11:30:09 +00:00
nextafterl.c long double cleanup, initial commit 2013-09-05 11:30:07 +00:00
nexttoward.c math: cosmetic cleanup (use explicit union instead of fshape and dshape) 2013-09-05 11:30:09 +00:00
nexttowardf.c math: cosmetic cleanup (use explicit union instead of fshape and dshape) 2013-09-05 11:30:09 +00:00
nexttowardl.c remove libm.h includes when math.h and float.h are enough 2012-03-13 19:51:14 +01:00
pow.c math: fix pow(x,-1) to raise underflow properly 2013-08-15 15:13:24 +00:00
powf.c math: fix pow(0,-inf) to raise divbyzero flag 2013-08-15 10:08:45 +00:00
powl.c math: fix a regression in powl and do some cleanups 2012-03-27 22:49:37 +02:00
remainder.c math: rewrite remainder functions (remainder, remquo, fmod, modf) 2013-09-05 11:30:07 +00:00
remainderf.c math: rewrite remainder functions (remainder, remquo, fmod, modf) 2013-09-05 11:30:07 +00:00
remainderl.c remove libm.h includes when math.h and float.h are enough 2012-03-13 19:51:14 +01:00
remquo.c math: rewrite remainder functions (remainder, remquo, fmod, modf) 2013-09-05 11:30:07 +00:00
remquof.c math: rewrite remainder functions (remainder, remquo, fmod, modf) 2013-09-05 11:30:07 +00:00
remquol.c math: rewrite remainder functions (remainder, remquo, fmod, modf) 2013-09-05 11:30:07 +00:00
rint.c math: rewrite rounding functions (ceil, floor, trunc, round, rint) 2013-09-05 11:30:07 +00:00
rintf.c math: rewrite rounding functions (ceil, floor, trunc, round, rint) 2013-09-05 11:30:07 +00:00
rintl.c math: rewrite rounding functions (ceil, floor, trunc, round, rint) 2013-09-05 11:30:07 +00:00
round.c math: rewrite rounding functions (ceil, floor, trunc, round, rint) 2013-09-05 11:30:07 +00:00
roundf.c math: rewrite rounding functions (ceil, floor, trunc, round, rint) 2013-09-05 11:30:07 +00:00
roundl.c math: rewrite rounding functions (ceil, floor, trunc, round, rint) 2013-09-05 11:30:07 +00:00
scalb.c remove libm.h includes when math.h and float.h are enough 2012-03-13 19:51:14 +01:00
scalbf.c math cleanup: use 1.0f instead of (float)1.0 2012-03-13 20:24:23 +01:00
scalbln.c remove libm.h includes when math.h and float.h are enough 2012-03-13 19:51:14 +01:00
scalblnf.c remove libm.h includes when math.h and float.h are enough 2012-03-13 19:51:14 +01:00
scalblnl.c remove libm.h includes when math.h and float.h are enough 2012-03-13 19:51:14 +01:00
scalbn.c math: use float_t and double_t in scalbnf and scalbn 2013-09-05 11:30:08 +00:00
scalbnf.c math: use float_t and double_t in scalbnf and scalbn 2013-09-05 11:30:08 +00:00
scalbnl.c math: fix remaining old long double code (erfl, fmal, lgammal, scalbnl) 2013-09-05 11:30:08 +00:00
signgam.c math: remove libc.h include from libm.h 2013-09-05 14:03:10 +00:00
significand.c add significand[fl] math functions 2012-08-13 14:51:43 -04:00
significandf.c add significand[fl] math functions 2012-08-13 14:51:43 -04:00
sin.c math: sin cos cleanup 2013-05-18 14:40:22 +00:00
sincos.c math: sin cos cleanup 2013-05-18 14:40:22 +00:00
sincosf.c math: sin cos cleanup 2013-05-18 14:40:22 +00:00
sincosl.c math: long double trigonometric cleanup (cosl, sinl, sincosl, tanl) 2013-09-05 11:30:08 +00:00
sinf.c math: sin cos cleanup 2013-05-18 14:40:22 +00:00
sinh.c math: fix asin, atan, log1p, tanh to raise underflow on subnormal 2013-08-15 10:14:46 +00:00
sinhf.c math: sinh.c cleanup similar to the cosh one 2012-12-16 19:49:55 +01:00
sinhl.c math: long double fix (use ldshape union) 2013-09-05 11:30:08 +00:00
sinl.c math: long double trigonometric cleanup (cosl, sinl, sincosl, tanl) 2013-09-05 11:30:08 +00:00
sqrt.c code cleanup of named constants 2012-03-19 23:41:19 +01:00
sqrtf.c code cleanup of named constants 2012-03-19 23:41:19 +01:00
sqrtl.c math: long double fix (use ldshape union) 2013-09-05 11:30:08 +00:00
tan.c math: tan cleanups 2013-05-18 12:34:00 +00:00
tanf.c math: tan cleanups 2013-05-18 12:34:00 +00:00
tanh.c math: fix asin, atan, log1p, tanh to raise underflow on subnormal 2013-08-15 10:14:46 +00:00
tanhf.c math: fix asin, atan, log1p, tanh to raise underflow on subnormal 2013-08-15 10:14:46 +00:00
tanhl.c math: long double fix (use ldshape union) 2013-09-05 11:30:08 +00:00
tanl.c math: long double trigonometric cleanup (cosl, sinl, sincosl, tanl) 2013-09-05 11:30:08 +00:00
tgamma.c math: fix tgamma to raise underflow for large negative values 2013-08-15 10:13:02 +00:00
tgammaf.c math: add a non-dummy tgamma implementation 2012-12-12 01:43:43 +01:00
tgammal.c math: tgammal.c fixes 2012-12-16 20:22:17 +01:00
trunc.c math: rewrite rounding functions (ceil, floor, trunc, round, rint) 2013-09-05 11:30:07 +00:00
truncf.c math: rewrite rounding functions (ceil, floor, trunc, round, rint) 2013-09-05 11:30:07 +00:00
truncl.c math: rewrite rounding functions (ceil, floor, trunc, round, rint) 2013-09-05 11:30:07 +00:00