This is tracking issue to refactor all higher math functions in single and double precision currently implemented in LLVM libc to be header-only. Status: - [x] acos - [x] acos #148409 - [x] acosf16 #148412 - [x] acosf #148411 - [x] acosh - [x] acoshf16 #148568 - [x] acoshf #148418 - [ ] acospi - [ ] acospi - [x] acospif #183661 - [x] acospif16 #148574 - [x] asin - [x] asin #148578 - [x] asinf16 #150800 - [x] asinf #150697 - [x] asinh - [x] asinhf16 #150849 - [x] asinhf #150843 - [ ] asinpi - [ ] asinpi - [x] asinpif #181511 - [x] asinpif16 #178103 - [x] atan - [x] atan #150852 - [x] atanf16 #150868 - [x] atanf #150854 - [x] atan2 - [x] atan2 #150968 - [x] atan2f128 #151012 - [x] atan2f #150993 - [ ] atan2l - [ ] ~atan2pi~ - [x] atanh - [x] atanhf16 #151779 - [x] atanhf #151399 - [ ] ~atanpi~ - [x] atanpif16 #178105 - [x] bf16add #181016 - [x] bf16addf #181017 - [x] bf16addf128 #181018 - [x] bf16addl #181019 - [x] bf16div #181022 - [x] bf16divf #181023 - [x] bf16divf128 #181024 - [x] bf16divl #181025 - [x] bf16mul #182017 - [x] bf16mul - [x] bf16mulf - [x] bf16mulf128 - [x] bf16mull - [x] bf16sub #182114 - [x] bf16sub - [x] bf16subf - [x] bf16subf128 - [x] bf16subl - [x] bf16fma - [x] bf16fma #181625 - [x] bf16fmaf #181626 - [x] bf16fmaf128 #181627 - [x] bf16fmal #181628 - [x] cbrt - [x] cbrt #151837 - [x] cbrtf #151846 - [x] ceil #182120 - [x] ceil - [x] ceilbf16 - [x] ceilf - [x] ceilf128 - [x] ceilf16 - [x] ceill - [ ] ~compoundn~ - [x] copysign #182136 - [x] copysign - [x] copysignbf16 - [x] copysignf - [x] copysignf128 - [x] copysignf16 - [x] copysignl - [x] cos - [x] cos #151883 - [x] cosf16 #152871 - [x] cosf #152069 - [x] cosh - [x] coshf16 #153582 - [x] coshf #153427 - [x] cospi - [x] cospif16 #154222 - [x] cospif #154215 - [x] dadd #182141 - [x] daddf128 - [x] daddl - [x] ddiv #182148 - [x] ddivf128 - [x] ddivl - [x] dmul #182150 - [x] dmulf128 - [x] dmull - [x] dsqrt - [x] dsqrtf128 - [x] dsqrtl #154868 - [x] dsub #182159 - [x] dsubf128 - [x] dsubl - [X] erff #148413 - [ ] ~erfc~ - [X] exp #148091 - [X] expf #143790 - [x] expf16 #147428 - [x] frexpf128 #147822 - [x] frexpf16 #147889 - [x] frexpf #147893 - [x] ldexpf128 #147895 - [x] ldexpf16 #147901 - [x] ldexpf #147906 - [x] exp10 - [X] exp10 #148400 - [x] exp10f16 #148408 - [x] exp10f #148405 - [x] exp10m1 - [x] exp10m1f16 #161119 - [x] exp10m1f #159897 - [x] exp2 - [x] exp2f16 #161993 - [x] exp2f #161992 - [x] exp2 #161297 - [x] exp2m1 - [x] exp2m1f16 #162019 - [x] exp2m1f #162017 - [x] expm1 - [x] expm1f16 #162132 - [x] expm1f #162131 - [x] expm1 #162127 - [x] f16add #181744 - [x] f16add - [x] f16addf - [x] f16addf128 - [x] f16addl - [x] f16div #181744 - [x] f16div - [x] f16divf - [x] f16divf128 - [x] f16divl - [x] f16mul #181744 - [x] f16mul - [x] f16mulf - [x] f16mulf128 - [x] f16mull - [x] f16sub #181744 - [x] f16sub - [x] f16subf - [x] f16subf128 - [x] f16subl - [ ] fabs #182172 - [ ] fabs - [ ] fabsbf16 - [ ] fabsf - [ ] fabsf128 - [ ] fabsf16 - [ ] fabsl - [x] fadd #182193 - [x] fadd - [x] faddf128 - [x] faddl - [x] fdim #182188 - [x] fdim - [x] fdimbf16 - [x] fdimf - [x] fdimf128 - [x] fdimf16 - [x] fdiml - [ ] fdiv #182191 - [ ] fdiv - [ ] fdivf128 - [ ] fdivl - [x] floor #182184 - [x] floor - [x] floorbf16 - [x] floorf - [x] floorf128 - [x] floorf16 - [x] floorl - [x] fma #175313 - [x] dfmaf128 #175315 - [x] dfmal #175316 - [x] f16fmaf128 #175318 - [x] f16fmaf #175319 - [x] f16fma #175320 - [x] f16fmal #175324 - [x] ffmaf128 #175325 - [x] ffma #175304 - [x] ffmal #175326 - [x] fmaf16 #163977 - [x] fmaf #163970 - [x] fma #163968 - [x] fmax https://github.com/llvm/llvm-project/issues/182164 - [x] fmax - [x] fmaxbf16 - [x] fmaxf - [x] fmaxf128 - [x] fmaxf16 - [x] fmaxl - [x] fmaximum_mag_num https://github.com/llvm/llvm-project/issues/182168 - [x] fmaximum_mag_num - [x] fmaximum_mag_numbf16 - [x] fmaximum_mag_numf - [x] f16sqrt #175327 - [x] f16sqrtf128 #175328 - [x] f16sqrtf #175329 - [x] f16sqrt #175330 - [x] f16sqrtl #175331 - [x] fsqrt #175332 - [x] fsqrtf128 #175333 - [x] fsqrt #175334 - [x] fsqrtl #175335 - [x] hypot #175336 - [x] hypotf16 #175337 - [x] hypotf #175338 - [x] hypot #175339 - [x] lgamma #175340 - [x] lgamma #175341 - [x] lgamma_r #175343 - [x] log #175344 - [x] ilogbf128 #175345 - [x] ilogbf16 #175346 - [x] ilogbf #175347 - [x] ilogb #175348 - [x] ilogbl #175349 - [x] llogbf128 #175350 - [x] llogbf16 #175351 - [x] llogbf #175354 - [x] llogb #175360 - [x] llogbl #175361 - [x] logbf128 #175362 - [x] logbf16 #175363 - [x] logbf #175364 - [x] logb #175365 - [x] logbl #175366 - [x] logf16 #175367 - [x] logf #175368 - [x] log #175369 - [x] log10 #176506 - [x] log10f16 #176510 - [x] log10f #176511 - [x] log10 #176089 - [ ] ~log10p1~ - [x] log1p #176507 - [x] log1p #176089 - [x] log1pf #176512 - [x] log2 #176508 - [x] log2f16 #176513 - [x] log2f #176514 - [x] log2 #176089 - [ ] ~log2p1~ - [ ] ~logp1~ - [x] pow #176509 - [x] pow #176516 - [x] powf #176517 - [ ] powi - [ ] powi - [ ] powif - [ ] ~pown~ - [ ] ~powr~ - [ ] ~rootn~ - [x] rsqrt - [x] rsqrtf - [x] rsqrtf16 - [x] sin - [x] sin #175200 - [x] sinf16 #178062 - [x] sinf #177963 - [x] sincos #177637 - [x] sincosf #177640 - [x] sincos #177638 - [x] sinh #177642 - [x] sinhf16 #177645 - [x] sinhf #177644 - [x] sinh #177643 - [x] sinpi #176475 - [ ] sinpi - [x] sinpif #176477 - [x] sinpif16 #176476 - [x] sqrt #177647 - [x] sqrtf128 #177652 - [x] sqrtf16 #177651 - [x] sqrtf #177649 - [x] sqrt #177648 - [ ] sqrtl - [x] tan - [x] tanf16 #181523 - [x] tanf https://github.com/llvm/llvm-project/pull/177730 - [x] tan https://github.com/llvm/llvm-project/pull/177224 - [x] tanh #178491 - [x] tanhf16 #178492 - [x] tanhf #178493 - [ ] tanh - [x] tanpif16 #181207 - [ ] ~tgamma~ - [ ] ~tgamma~ - [ ] ~tgammaf~ - [x] canonicalize - [x] canonicalize #181466 - [x] canonicalizebf16 - [x] canonicalizef - [x] canonicalizef128 - [x] canonicalizef16 - [x] canonicalizel @lntue
This is tracking issue to refactor all higher math functions in single and double precision currently implemented in LLVM libc to be header-only.
Status:
acos
acosh
acospi
acospifmath function #183661asin
asinh
asinpi
asinpiffunction #181511asinpif16to Header Only. #178103atan
atan2
atan2piatanh
atanpiatanpif16to Header Only. #178105bf16add [libc][math] Refactor
bf16addto Header Only. #181016bf16addfto Header Only. #181017bf16addf128to Header Only. #181018bf16addlto Header Only. #181019bf16div [libc][math] Refactor
bf16divto Header Only. #181022bf16divfto Header Only. #181023bf16divf128to Header Only. #181024bf16divlto Header Only. #181025bf16mul [libc][math] Refactor bf16mul Math Functions to Header Only #182017
bf16sub [libc][math] Refactor bf16sub Math Functions to Header Only #182114
bf16fma
bf16fmato Header Only. #181625bf16fmafto Header Only. #181626bf16fmaf128to Header Only. #181627bf16fmalto Header Only. #181628cbrt
ceil [libc][math] Refactor ceil Math Functions to Header Only #182120
compoundncopysign [libc][math] Refactor copysign Math Functions to Header Only #182136
cos
cosh
cospi
dadd [libc][math] Refactor dadd Math Functions to Header Only #182141
ddiv [libc][math] Refactor ddiv Math Functions to Header Only #182148
dmul [libc][math] Refactor dmul Math Functions to Header Only #182150
dsqrt
dsub [libc][math] Refactor dsub Math Functions to Header Only #182159
erff [libc][math] Refactor erff implementation to header-only in src/__support/math folder. #148413
erfcexp [libc][math] Refactor exp implementation to header-only in src/__support/math folder. #148091
exp10
exp10m1
exp2
exp2m1
expm1
f16add [libc][math] Tracking Issue - Refactor float16 operations Math Functions to Header Only #181744
f16div [libc][math] Tracking Issue - Refactor float16 operations Math Functions to Header Only #181744
f16mul [libc][math] Tracking Issue - Refactor float16 operations Math Functions to Header Only #181744
f16sub [libc][math] Tracking Issue - Refactor float16 operations Math Functions to Header Only #181744
fabs [libc][math] Refactor fabs Math Functions to Header Only #182172
fadd [libc][math] Refactor floor Math Functions to Header Only #182193
fdim [libc][math] Refactor fdim Math Functions to Header Only #182188
fdiv [libc][math] Refactor fdiv Math Functions to Header Only #182191
floor [libc][math] Refactor fadd Math Functions to Header Only #182184
fma [libc][math] Tracking Issue - Refactor
FMAMath Functions to Header Only #175313dfmaf128to Header Only #175315dfmalto Header Only. #175316f16fmaf128to Header Only. #175318f16fmafto Header Only. #175319f16fmato Header Only. #175320f16fmalto Header Only. #175324ffmaf128to Header Only. #175325ffmalto Header Only. #175326fmax [libc][math] Refactor fmax Math Functions to Header Only #182164
fmaximum_mag_num [libc][math] Refactor fmaximum_mag_num Math Functions to Header Only #182168
f16sqrt [libc][math] Tracking Issue - Refactor
f16sqrtMath Functions to Header Only. #175327f16sqrtf128to Header Only. #175328f16sqrtfto Header Only. #175329f16sqrtto Header Only. #175330f16sqrtlto Header Only. #175331fsqrt [libc][math] Tracking Issue - Refactor
fsqrtMath Functions to Header Only. #175332fsqrtf128to Header Only. #175333fsqrtto Header Only. #175334fsqrtlto Header Only. #175335hypot [libc][math] Tracking Issue - Refactor
hypotMath Functions to Header Only. #175336hypotf16to Header Only. #175337hypotfto Header Only. #175338hypotto Header Only. #175339lgamma [libc][math] Tracking Issue - Refactor
lgammaMath Functions to Header Only. #175340lgammato Header Only. #175341lgamma_rto Header Only. #175343log [libc][math] Tracking Issue - Refactor
logMath Functions to Header Only. #175344ilogbf128to Header Only. #175345ilogbf16to Header Only. #175346ilogbfto Header Only. #175347ilogbto Header Only. #175348ilogblto Header Only. #175349llogbf128to Header Only. #175350llogbf16to Header Only. #175351llogbfto Header Only. #175354llogbto Header Only. #175360llogblto Header Only. #175361logbf128to Header Only. #175362logbf16to Header Only. #175363logbfto Header Only. #175364logbto Header Only. #175365logblto Header Only. #175366logf16to Header Only. #175367logfto Header Only. #175368logto Header Only. #175369log10 [libc][math] Tracking Issue - Refactor
log10Math Functions to Header Only. #176506log10f16to Header Only. #176510log10fto Header Only. #176511log10p1log1p [libc][math] Tracking Issue - Refactor
log1pMath Functions to Header Only. #176507log1pfto Header Only. #176512log2 [libc][math] Tracking Issue - Refactor
log2Math Functions to Header Only. #176508log2f16to Header Only. #176513log2fto Header Only. #176514log2p1logp1pow [libc][math] Tracking Issue - Refactor
powMath Functions to Header Only. #176509powto Header Only. #176516powfto Header Only. #176517powi
pownpowrrootnrsqrt
sin
sincos [libc][math] Tracking Issue - Refactor
sincosMath Functions to Header Only. #177637sincosfto Header Only. #177640sincosto Header Only. #177638sinh [libc][math] Tracking Issue - Refactor
sinhMath Functions to Header Only. #177642sinhf16to Header Only. #177645sinhfto Header Only. #177644sinhto Header Only. #177643sinpi [libc][math] Tracking Issue - Refactor
sinpiMath Functions to Header Only. #176475sinpifto Header Only. #176477sinpif16to Header Only in src/__support/math folder. #176476sqrt [libc][math] Tracking Issue - Refactor
sqrtMath Functions to Header Only. #177647sqrtf128to Header Only. #177652sqrtf16to Header Only. #177651sqrtfto Header Only. #177649sqrtto Header Only. #177648tan
tanh [libc][math] Tracking Issue - Refactor
tanhMath Functions to Header Only. #178491tanhf16to Header Only. #178492tanhfto Header Only. #178493tanpif16 [libc][math] Refactor
tanpif16to Header Only. #181207tgammatgammatgammafcanonicalize
canonicalizeMath Functions to Header Only #181466@lntue