musl/src/math
Szabolcs Nagy af5f6d9556 long double cleanup, initial commit
new ldshape union, ld128 support is kept, code that used the old
ldshape union was rewritten (IEEEl2bits union of freebsd libm is
not touched yet)

ld80 __fpclassifyl no longer tries to handle invalid representation
2013-09-05 11:30:07 +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 i386 atan2.s to raise underflow for subnormal results 2013-08-15 14:18:32 +00:00
x86_64 fix build of x86_64 expl assembly 2013-08-16 00:29:32 -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 code cleanup of named constants 2012-03-19 23:41:19 +01: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 first commit of the new libm! 2012-03-13 01:17:53 -04:00
__fpclassifyf.c first commit of the new libm! 2012-03-13 01:17:53 -04:00
__fpclassifyl.c long double cleanup, initial commit 2013-09-05 11:30:07 +00:00
__invtrigl.c math: clean up inverse trigonometric functions 2012-12-11 23:56:59 +01:00
__invtrigl.h math: clean up inverse trigonometric functions 2012-12-11 23:56:59 +01: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 code cleanup of named constants 2012-03-19 23:41:19 +01:00
__rem_pio2_large.c code cleanup of named constants 2012-03-19 23:41:19 +01:00
__rem_pio2f.c math: fix comment in __rem_pio2f.c 2012-12-12 01:28:22 +01:00
__rem_pio2l.c code cleanup of named constants 2012-03-19 23:41:19 +01: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 code cleanup of named constants 2012-03-19 23:41:19 +01: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: tan cleanups 2013-05-18 12:34:00 +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: rewrite inverse hyperbolic functions to be simpler/smaller 2012-12-11 23:06:20 +01:00
acoshf.c math: rewrite inverse hyperbolic functions to be simpler/smaller 2012-12-11 23:06:20 +01:00
acoshl.c math: rewrite inverse hyperbolic functions to be simpler/smaller 2012-12-11 23:06:20 +01:00
acosl.c math: use 0x1p-120f and 0x1p120f for tiny and huge values 2012-12-16 20:28:43 +01: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: use 0x1p-120f and 0x1p120f for tiny and huge values 2012-12-16 20:28:43 +01:00
asinl.c math: use 0x1p-120f and 0x1p120f for tiny and huge values 2012-12-16 20:28:43 +01: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: clean up atan2.c 2013-08-15 14:05:19 +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: rewrite inverse hyperbolic functions to be simpler/smaller 2012-12-11 23:06:20 +01:00
atanhf.c math: rewrite inverse hyperbolic functions to be simpler/smaller 2012-12-11 23:06:20 +01:00
atanhl.c math: rewrite inverse hyperbolic functions to be simpler/smaller 2012-12-11 23:06:20 +01:00
atanl.c math: clean up atan2.c 2013-08-15 14:05:19 +00:00
cbrt.c first commit of the new libm! 2012-03-13 01:17:53 -04:00
cbrtf.c first commit of the new libm! 2012-03-13 01:17:53 -04:00
cbrtl.c fix a cbrtl.c regression and remove x87 precision setting 2012-03-20 15:17:15 +01:00
ceil.c math: minor cleanups in ceil and floor 2012-03-29 14:09:57 +02:00
ceilf.c math: minor cleanups in ceil and floor 2012-03-29 14:09:57 +02:00
ceill.c math: minor cleanups in ceil and floor 2012-03-29 14:09:57 +02:00
copysign.c first commit of the new libm! 2012-03-13 01:17:53 -04:00
copysignf.c first commit of the new libm! 2012-03-13 01:17:53 -04: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: finished cosh.c cleanup 2012-12-16 19:23:51 +01:00
cosl.c math: sin cos cleanup 2013-05-18 14:40:22 +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 add missing erfcl wrapper for archs where long double is plain double 2013-07-28 11:30:42 -04:00
exp.c math: expf.c cleanup 2012-11-18 03:42:09 +01:00
exp2.c math: cleanup exp2.c exp2f.c and exp2l.c 2012-11-17 23:39:39 +01:00
exp2f.c math: use 0x1p-120f and 0x1p120f for tiny and huge values 2012-12-16 20:28:43 +01:00
exp2l.c math: cleanup exp2.c exp2f.c and exp2l.c 2012-11-17 23:39:39 +01: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: expf.c cleanup 2012-11-18 03:42:09 +01:00
expl.c math: expl.c cleanup 2012-11-18 03:49:16 +01:00
expm1.c code cleanup of named constants 2012-03-19 23:41:19 +01:00
expm1f.c code cleanup of named constants 2012-03-19 23:41:19 +01:00
expm1l.c math: fix exception behaviour of expm1l.c on inf and nan 2012-11-12 23:41:48 +01:00
fabs.c first commit of the new libm! 2012-03-13 01:17:53 -04:00
fabsf.c first commit of the new libm! 2012-03-13 01:17:53 -04: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: minor cleanups in ceil and floor 2012-03-29 14:09:57 +02:00
floorf.c math cleanup: use 1.0f instead of (float)1.0 2012-03-13 20:24:23 +01:00
floorl.c math: minor cleanups in ceil and floor 2012-03-29 14:09:57 +02:00
fma.c math: add fma TODO comments about the underflow issue 2013-05-19 14:43:32 +00:00
fmaf.c math: add fma TODO comments about the underflow issue 2013-05-19 14:43:32 +00:00
fmal.c math: add fma TODO comments about the underflow issue 2013-05-19 14:43:32 +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 don't try to create non-standard denormalization signal 2012-03-19 23:30:45 +01:00
fmodf.c don't try to create non-standard denormalization signal 2012-03-19 23:30:45 +01:00
fmodl.c don't try to create non-standard denormalization signal 2012-03-19 23:30:45 +01: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 first commit of the new libm! 2012-03-13 01:17:53 -04:00
hypot.c math: simplify hypot and hypotf using scalbn 2012-11-13 21:54:32 +01:00
hypotf.c math: simplify hypot and hypotf using scalbn 2012-11-13 21:54:32 +01:00
hypotl.c first commit of the new libm! 2012-03-13 01:17:53 -04:00
ilogb.c math: raise invalid flag in ilogb*.c on +-0, +-inf and nan 2012-11-12 23:58:18 +01:00
ilogbf.c math: raise invalid flag in ilogb*.c on +-0, +-inf and nan 2012-11-12 23:58:18 +01:00
ilogbl.c long double cleanup, initial commit 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 code cleanup of named constants 2012-03-19 23:41:19 +01:00
lgammaf.c math: remove comment about aliasing lgamma as gamma 2012-03-27 22:12:20 +02:00
lgammaf_r.c code cleanup of named constants 2012-03-19 23:41:19 +01:00
lgammal.c math: remove comment about aliasing lgamma as gamma 2012-03-27 22:12:20 +02: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: fix asin, atan, log1p, tanh to raise underflow on subnormal 2013-08-15 10:14:46 +00:00
log1pf.c math: fix asin, atan, log1p, tanh to raise underflow on subnormal 2013-08-15 10:14:46 +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*.c exceptions now that ilogb raises invalid 2012-11-13 00:45:51 +01:00
logbf.c math: fix logb*.c exceptions now that ilogb raises invalid 2012-11-13 00:45:51 +01:00
logbl.c math: fix logb*.c exceptions now that ilogb raises invalid 2012-11-13 00:45:51 +01: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: excess precision fix modf, modff, scalbn, scalbnf 2012-11-13 10:55:35 +01:00
modff.c math: excess precision fix modf, modff, scalbn, scalbnf 2012-11-13 10:55:35 +01:00
modfl.c fix invalid implicit pointer conversion in ld64 modfl 2012-07-02 20:22:50 -04: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: fix nextafter and nexttoward on maxdbl and maxflt input 2012-11-13 10:12:07 +01:00
nextafterf.c math: fix nextafter and nexttoward on maxdbl and maxflt input 2012-11-13 10:12:07 +01:00
nextafterl.c long double cleanup, initial commit 2013-09-05 11:30:07 +00:00
nexttoward.c math: fix nextafter and nexttoward on maxdbl and maxflt input 2012-11-13 10:12:07 +01:00
nexttowardf.c math: fix nextafter and nexttoward on maxdbl and maxflt input 2012-11-13 10:12:07 +01: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 fix remainder*.c: remove useless long double cast 2012-03-19 23:39:47 +01:00
remainderf.c fix remainder*.c: remove useless long double cast 2012-03-19 23:39:47 +01: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: fix remquo.c when x==-y and a subnormal remainder bug as well 2012-05-08 00:22:56 +02:00
remquof.c math: fix remquo.c when x==-y and a subnormal remainder bug as well 2012-05-08 00:22:56 +02:00
remquol.c math: fix remquo.c when x==-y and a subnormal remainder bug as well 2012-05-08 00:22:56 +02:00
rint.c first commit of the new libm! 2012-03-13 01:17:53 -04:00
rintf.c first commit of the new libm! 2012-03-13 01:17:53 -04:00
rintl.c minor rintl.c fix: remove unsupported ldbl format message 2012-03-23 01:26:04 +01:00
round.c remove libm.h includes when math.h and float.h are enough 2012-03-13 19:51:14 +01:00
roundf.c remove libm.h includes when math.h and float.h are enough 2012-03-13 19:51:14 +01:00
roundl.c remove libm.h includes when math.h and float.h are enough 2012-03-13 19:51:14 +01: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: minor scalbn*.c simplification 2013-08-15 10:07:46 +00:00
scalbnf.c math: minor scalbn*.c simplification 2013-08-15 10:07:46 +00:00
scalbnl.c math: minor scalbn*.c simplification 2013-08-15 10:07:46 +00:00
signgam.c make signgam a weak alias for an internal symbol 2012-03-16 21:18:48 -04: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: sin cos cleanup 2013-05-18 14:40:22 +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: sinh.c cleanup similar to the cosh one 2012-12-16 19:49:55 +01:00
sinl.c math: sin cos cleanup 2013-05-18 14:40:22 +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 add C stub for sqrtl (already implemented in asm on i386 and x86_64) 2012-04-30 21:32:19 -04: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: tanh.c cleanup similar to sinh, cosh 2012-12-16 19:52:42 +01:00
tanl.c math: sin cos cleanup 2013-05-18 14:40:22 +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 first commit of the new libm! 2012-03-13 01:17:53 -04:00
truncf.c math cleanup: use 1.0f instead of 1.0F 2012-03-13 21:11:46 +01:00
truncl.c first commit of the new libm! 2012-03-13 01:17:53 -04:00