glibc/sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist

1151 lines
25 KiB
Plaintext
Raw Normal View History

2022-07-19 01:22:06 +00:00
GLIBC_2.36 __clog10 F
GLIBC_2.36 __clog10f F
GLIBC_2.36 __clog10l F
GLIBC_2.36 __finite F
GLIBC_2.36 __finitef F
GLIBC_2.36 __finitel F
GLIBC_2.36 __fpclassify F
GLIBC_2.36 __fpclassifyf F
GLIBC_2.36 __fpclassifyl F
GLIBC_2.36 __iseqsig F
GLIBC_2.36 __iseqsigf F
GLIBC_2.36 __iseqsigl F
GLIBC_2.36 __issignaling F
GLIBC_2.36 __issignalingf F
GLIBC_2.36 __issignalingl F
GLIBC_2.36 __signbit F
GLIBC_2.36 __signbitf F
GLIBC_2.36 __signbitl F
GLIBC_2.36 __signgam D 0x4
GLIBC_2.36 acos F
GLIBC_2.36 acosf F
GLIBC_2.36 acosf128 F
GLIBC_2.36 acosf32 F
GLIBC_2.36 acosf32x F
GLIBC_2.36 acosf64 F
GLIBC_2.36 acosf64x F
GLIBC_2.36 acosh F
GLIBC_2.36 acoshf F
GLIBC_2.36 acoshf128 F
GLIBC_2.36 acoshf32 F
GLIBC_2.36 acoshf32x F
GLIBC_2.36 acoshf64 F
GLIBC_2.36 acoshf64x F
GLIBC_2.36 acoshl F
GLIBC_2.36 acosl F
GLIBC_2.36 asin F
GLIBC_2.36 asinf F
GLIBC_2.36 asinf128 F
GLIBC_2.36 asinf32 F
GLIBC_2.36 asinf32x F
GLIBC_2.36 asinf64 F
GLIBC_2.36 asinf64x F
GLIBC_2.36 asinh F
GLIBC_2.36 asinhf F
GLIBC_2.36 asinhf128 F
GLIBC_2.36 asinhf32 F
GLIBC_2.36 asinhf32x F
GLIBC_2.36 asinhf64 F
GLIBC_2.36 asinhf64x F
GLIBC_2.36 asinhl F
GLIBC_2.36 asinl F
GLIBC_2.36 atan F
GLIBC_2.36 atan2 F
GLIBC_2.36 atan2f F
GLIBC_2.36 atan2f128 F
GLIBC_2.36 atan2f32 F
GLIBC_2.36 atan2f32x F
GLIBC_2.36 atan2f64 F
GLIBC_2.36 atan2f64x F
GLIBC_2.36 atan2l F
GLIBC_2.36 atanf F
GLIBC_2.36 atanf128 F
GLIBC_2.36 atanf32 F
GLIBC_2.36 atanf32x F
GLIBC_2.36 atanf64 F
GLIBC_2.36 atanf64x F
GLIBC_2.36 atanh F
GLIBC_2.36 atanhf F
GLIBC_2.36 atanhf128 F
GLIBC_2.36 atanhf32 F
GLIBC_2.36 atanhf32x F
GLIBC_2.36 atanhf64 F
GLIBC_2.36 atanhf64x F
GLIBC_2.36 atanhl F
GLIBC_2.36 atanl F
GLIBC_2.36 cabs F
GLIBC_2.36 cabsf F
GLIBC_2.36 cabsf128 F
GLIBC_2.36 cabsf32 F
GLIBC_2.36 cabsf32x F
GLIBC_2.36 cabsf64 F
GLIBC_2.36 cabsf64x F
GLIBC_2.36 cabsl F
GLIBC_2.36 cacos F
GLIBC_2.36 cacosf F
GLIBC_2.36 cacosf128 F
GLIBC_2.36 cacosf32 F
GLIBC_2.36 cacosf32x F
GLIBC_2.36 cacosf64 F
GLIBC_2.36 cacosf64x F
GLIBC_2.36 cacosh F
GLIBC_2.36 cacoshf F
GLIBC_2.36 cacoshf128 F
GLIBC_2.36 cacoshf32 F
GLIBC_2.36 cacoshf32x F
GLIBC_2.36 cacoshf64 F
GLIBC_2.36 cacoshf64x F
GLIBC_2.36 cacoshl F
GLIBC_2.36 cacosl F
GLIBC_2.36 canonicalize F
GLIBC_2.36 canonicalizef F
GLIBC_2.36 canonicalizef128 F
GLIBC_2.36 canonicalizef32 F
GLIBC_2.36 canonicalizef32x F
GLIBC_2.36 canonicalizef64 F
GLIBC_2.36 canonicalizef64x F
GLIBC_2.36 canonicalizel F
GLIBC_2.36 carg F
GLIBC_2.36 cargf F
GLIBC_2.36 cargf128 F
GLIBC_2.36 cargf32 F
GLIBC_2.36 cargf32x F
GLIBC_2.36 cargf64 F
GLIBC_2.36 cargf64x F
GLIBC_2.36 cargl F
GLIBC_2.36 casin F
GLIBC_2.36 casinf F
GLIBC_2.36 casinf128 F
GLIBC_2.36 casinf32 F
GLIBC_2.36 casinf32x F
GLIBC_2.36 casinf64 F
GLIBC_2.36 casinf64x F
GLIBC_2.36 casinh F
GLIBC_2.36 casinhf F
GLIBC_2.36 casinhf128 F
GLIBC_2.36 casinhf32 F
GLIBC_2.36 casinhf32x F
GLIBC_2.36 casinhf64 F
GLIBC_2.36 casinhf64x F
GLIBC_2.36 casinhl F
GLIBC_2.36 casinl F
GLIBC_2.36 catan F
GLIBC_2.36 catanf F
GLIBC_2.36 catanf128 F
GLIBC_2.36 catanf32 F
GLIBC_2.36 catanf32x F
GLIBC_2.36 catanf64 F
GLIBC_2.36 catanf64x F
GLIBC_2.36 catanh F
GLIBC_2.36 catanhf F
GLIBC_2.36 catanhf128 F
GLIBC_2.36 catanhf32 F
GLIBC_2.36 catanhf32x F
GLIBC_2.36 catanhf64 F
GLIBC_2.36 catanhf64x F
GLIBC_2.36 catanhl F
GLIBC_2.36 catanl F
GLIBC_2.36 cbrt F
GLIBC_2.36 cbrtf F
GLIBC_2.36 cbrtf128 F
GLIBC_2.36 cbrtf32 F
GLIBC_2.36 cbrtf32x F
GLIBC_2.36 cbrtf64 F
GLIBC_2.36 cbrtf64x F
GLIBC_2.36 cbrtl F
GLIBC_2.36 ccos F
GLIBC_2.36 ccosf F
GLIBC_2.36 ccosf128 F
GLIBC_2.36 ccosf32 F
GLIBC_2.36 ccosf32x F
GLIBC_2.36 ccosf64 F
GLIBC_2.36 ccosf64x F
GLIBC_2.36 ccosh F
GLIBC_2.36 ccoshf F
GLIBC_2.36 ccoshf128 F
GLIBC_2.36 ccoshf32 F
GLIBC_2.36 ccoshf32x F
GLIBC_2.36 ccoshf64 F
GLIBC_2.36 ccoshf64x F
GLIBC_2.36 ccoshl F
GLIBC_2.36 ccosl F
GLIBC_2.36 ceil F
GLIBC_2.36 ceilf F
GLIBC_2.36 ceilf128 F
GLIBC_2.36 ceilf32 F
GLIBC_2.36 ceilf32x F
GLIBC_2.36 ceilf64 F
GLIBC_2.36 ceilf64x F
GLIBC_2.36 ceill F
GLIBC_2.36 cexp F
GLIBC_2.36 cexpf F
GLIBC_2.36 cexpf128 F
GLIBC_2.36 cexpf32 F
GLIBC_2.36 cexpf32x F
GLIBC_2.36 cexpf64 F
GLIBC_2.36 cexpf64x F
GLIBC_2.36 cexpl F
GLIBC_2.36 cimag F
GLIBC_2.36 cimagf F
GLIBC_2.36 cimagf128 F
GLIBC_2.36 cimagf32 F
GLIBC_2.36 cimagf32x F
GLIBC_2.36 cimagf64 F
GLIBC_2.36 cimagf64x F
GLIBC_2.36 cimagl F
GLIBC_2.36 clog F
GLIBC_2.36 clog10 F
GLIBC_2.36 clog10f F
GLIBC_2.36 clog10f128 F
GLIBC_2.36 clog10f32 F
GLIBC_2.36 clog10f32x F
GLIBC_2.36 clog10f64 F
GLIBC_2.36 clog10f64x F
GLIBC_2.36 clog10l F
GLIBC_2.36 clogf F
GLIBC_2.36 clogf128 F
GLIBC_2.36 clogf32 F
GLIBC_2.36 clogf32x F
GLIBC_2.36 clogf64 F
GLIBC_2.36 clogf64x F
GLIBC_2.36 clogl F
GLIBC_2.36 conj F
GLIBC_2.36 conjf F
GLIBC_2.36 conjf128 F
GLIBC_2.36 conjf32 F
GLIBC_2.36 conjf32x F
GLIBC_2.36 conjf64 F
GLIBC_2.36 conjf64x F
GLIBC_2.36 conjl F
GLIBC_2.36 copysign F
GLIBC_2.36 copysignf F
GLIBC_2.36 copysignf128 F
GLIBC_2.36 copysignf32 F
GLIBC_2.36 copysignf32x F
GLIBC_2.36 copysignf64 F
GLIBC_2.36 copysignf64x F
GLIBC_2.36 copysignl F
GLIBC_2.36 cos F
GLIBC_2.36 cosf F
GLIBC_2.36 cosf128 F
GLIBC_2.36 cosf32 F
GLIBC_2.36 cosf32x F
GLIBC_2.36 cosf64 F
GLIBC_2.36 cosf64x F
GLIBC_2.36 cosh F
GLIBC_2.36 coshf F
GLIBC_2.36 coshf128 F
GLIBC_2.36 coshf32 F
GLIBC_2.36 coshf32x F
GLIBC_2.36 coshf64 F
GLIBC_2.36 coshf64x F
GLIBC_2.36 coshl F
GLIBC_2.36 cosl F
GLIBC_2.36 cpow F
GLIBC_2.36 cpowf F
GLIBC_2.36 cpowf128 F
GLIBC_2.36 cpowf32 F
GLIBC_2.36 cpowf32x F
GLIBC_2.36 cpowf64 F
GLIBC_2.36 cpowf64x F
GLIBC_2.36 cpowl F
GLIBC_2.36 cproj F
GLIBC_2.36 cprojf F
GLIBC_2.36 cprojf128 F
GLIBC_2.36 cprojf32 F
GLIBC_2.36 cprojf32x F
GLIBC_2.36 cprojf64 F
GLIBC_2.36 cprojf64x F
GLIBC_2.36 cprojl F
GLIBC_2.36 creal F
GLIBC_2.36 crealf F
GLIBC_2.36 crealf128 F
GLIBC_2.36 crealf32 F
GLIBC_2.36 crealf32x F
GLIBC_2.36 crealf64 F
GLIBC_2.36 crealf64x F
GLIBC_2.36 creall F
GLIBC_2.36 csin F
GLIBC_2.36 csinf F
GLIBC_2.36 csinf128 F
GLIBC_2.36 csinf32 F
GLIBC_2.36 csinf32x F
GLIBC_2.36 csinf64 F
GLIBC_2.36 csinf64x F
GLIBC_2.36 csinh F
GLIBC_2.36 csinhf F
GLIBC_2.36 csinhf128 F
GLIBC_2.36 csinhf32 F
GLIBC_2.36 csinhf32x F
GLIBC_2.36 csinhf64 F
GLIBC_2.36 csinhf64x F
GLIBC_2.36 csinhl F
GLIBC_2.36 csinl F
GLIBC_2.36 csqrt F
GLIBC_2.36 csqrtf F
GLIBC_2.36 csqrtf128 F
GLIBC_2.36 csqrtf32 F
GLIBC_2.36 csqrtf32x F
GLIBC_2.36 csqrtf64 F
GLIBC_2.36 csqrtf64x F
GLIBC_2.36 csqrtl F
GLIBC_2.36 ctan F
GLIBC_2.36 ctanf F
GLIBC_2.36 ctanf128 F
GLIBC_2.36 ctanf32 F
GLIBC_2.36 ctanf32x F
GLIBC_2.36 ctanf64 F
GLIBC_2.36 ctanf64x F
GLIBC_2.36 ctanh F
GLIBC_2.36 ctanhf F
GLIBC_2.36 ctanhf128 F
GLIBC_2.36 ctanhf32 F
GLIBC_2.36 ctanhf32x F
GLIBC_2.36 ctanhf64 F
GLIBC_2.36 ctanhf64x F
GLIBC_2.36 ctanhl F
GLIBC_2.36 ctanl F
GLIBC_2.36 daddl F
GLIBC_2.36 ddivl F
GLIBC_2.36 dfmal F
GLIBC_2.36 dmull F
GLIBC_2.36 drem F
GLIBC_2.36 dremf F
GLIBC_2.36 dreml F
GLIBC_2.36 dsqrtl F
GLIBC_2.36 dsubl F
GLIBC_2.36 erf F
GLIBC_2.36 erfc F
GLIBC_2.36 erfcf F
GLIBC_2.36 erfcf128 F
GLIBC_2.36 erfcf32 F
GLIBC_2.36 erfcf32x F
GLIBC_2.36 erfcf64 F
GLIBC_2.36 erfcf64x F
GLIBC_2.36 erfcl F
GLIBC_2.36 erff F
GLIBC_2.36 erff128 F
GLIBC_2.36 erff32 F
GLIBC_2.36 erff32x F
GLIBC_2.36 erff64 F
GLIBC_2.36 erff64x F
GLIBC_2.36 erfl F
GLIBC_2.36 exp F
GLIBC_2.36 exp10 F
GLIBC_2.36 exp10f F
GLIBC_2.36 exp10f128 F
GLIBC_2.36 exp10f32 F
GLIBC_2.36 exp10f32x F
GLIBC_2.36 exp10f64 F
GLIBC_2.36 exp10f64x F
GLIBC_2.36 exp10l F
GLIBC_2.36 exp2 F
GLIBC_2.36 exp2f F
GLIBC_2.36 exp2f128 F
GLIBC_2.36 exp2f32 F
GLIBC_2.36 exp2f32x F
GLIBC_2.36 exp2f64 F
GLIBC_2.36 exp2f64x F
GLIBC_2.36 exp2l F
GLIBC_2.36 expf F
GLIBC_2.36 expf128 F
GLIBC_2.36 expf32 F
GLIBC_2.36 expf32x F
GLIBC_2.36 expf64 F
GLIBC_2.36 expf64x F
GLIBC_2.36 expl F
GLIBC_2.36 expm1 F
GLIBC_2.36 expm1f F
GLIBC_2.36 expm1f128 F
GLIBC_2.36 expm1f32 F
GLIBC_2.36 expm1f32x F
GLIBC_2.36 expm1f64 F
GLIBC_2.36 expm1f64x F
GLIBC_2.36 expm1l F
GLIBC_2.36 f32addf128 F
GLIBC_2.36 f32addf32x F
GLIBC_2.36 f32addf64 F
GLIBC_2.36 f32addf64x F
GLIBC_2.36 f32divf128 F
GLIBC_2.36 f32divf32x F
GLIBC_2.36 f32divf64 F
GLIBC_2.36 f32divf64x F
GLIBC_2.36 f32fmaf128 F
GLIBC_2.36 f32fmaf32x F
GLIBC_2.36 f32fmaf64 F
GLIBC_2.36 f32fmaf64x F
GLIBC_2.36 f32mulf128 F
GLIBC_2.36 f32mulf32x F
GLIBC_2.36 f32mulf64 F
GLIBC_2.36 f32mulf64x F
GLIBC_2.36 f32sqrtf128 F
GLIBC_2.36 f32sqrtf32x F
GLIBC_2.36 f32sqrtf64 F
GLIBC_2.36 f32sqrtf64x F
GLIBC_2.36 f32subf128 F
GLIBC_2.36 f32subf32x F
GLIBC_2.36 f32subf64 F
GLIBC_2.36 f32subf64x F
GLIBC_2.36 f32xaddf128 F
GLIBC_2.36 f32xaddf64 F
GLIBC_2.36 f32xaddf64x F
GLIBC_2.36 f32xdivf128 F
GLIBC_2.36 f32xdivf64 F
GLIBC_2.36 f32xdivf64x F
GLIBC_2.36 f32xfmaf128 F
GLIBC_2.36 f32xfmaf64 F
GLIBC_2.36 f32xfmaf64x F
GLIBC_2.36 f32xmulf128 F
GLIBC_2.36 f32xmulf64 F
GLIBC_2.36 f32xmulf64x F
GLIBC_2.36 f32xsqrtf128 F
GLIBC_2.36 f32xsqrtf64 F
GLIBC_2.36 f32xsqrtf64x F
GLIBC_2.36 f32xsubf128 F
GLIBC_2.36 f32xsubf64 F
GLIBC_2.36 f32xsubf64x F
GLIBC_2.36 f64addf128 F
GLIBC_2.36 f64addf64x F
GLIBC_2.36 f64divf128 F
GLIBC_2.36 f64divf64x F
GLIBC_2.36 f64fmaf128 F
GLIBC_2.36 f64fmaf64x F
GLIBC_2.36 f64mulf128 F
GLIBC_2.36 f64mulf64x F
GLIBC_2.36 f64sqrtf128 F
GLIBC_2.36 f64sqrtf64x F
GLIBC_2.36 f64subf128 F
GLIBC_2.36 f64subf64x F
GLIBC_2.36 f64xaddf128 F
GLIBC_2.36 f64xdivf128 F
GLIBC_2.36 f64xfmaf128 F
GLIBC_2.36 f64xmulf128 F
GLIBC_2.36 f64xsqrtf128 F
GLIBC_2.36 f64xsubf128 F
GLIBC_2.36 fabs F
GLIBC_2.36 fabsf F
GLIBC_2.36 fabsf128 F
GLIBC_2.36 fabsf32 F
GLIBC_2.36 fabsf32x F
GLIBC_2.36 fabsf64 F
GLIBC_2.36 fabsf64x F
GLIBC_2.36 fabsl F
GLIBC_2.36 fadd F
GLIBC_2.36 faddl F
GLIBC_2.36 fdim F
GLIBC_2.36 fdimf F
GLIBC_2.36 fdimf128 F
GLIBC_2.36 fdimf32 F
GLIBC_2.36 fdimf32x F
GLIBC_2.36 fdimf64 F
GLIBC_2.36 fdimf64x F
GLIBC_2.36 fdiml F
GLIBC_2.36 fdiv F
GLIBC_2.36 fdivl F
GLIBC_2.36 feclearexcept F
GLIBC_2.36 fedisableexcept F
GLIBC_2.36 feenableexcept F
GLIBC_2.36 fegetenv F
GLIBC_2.36 fegetexcept F
GLIBC_2.36 fegetexceptflag F
GLIBC_2.36 fegetmode F
GLIBC_2.36 fegetround F
GLIBC_2.36 feholdexcept F
GLIBC_2.36 feraiseexcept F
GLIBC_2.36 fesetenv F
GLIBC_2.36 fesetexcept F
GLIBC_2.36 fesetexceptflag F
GLIBC_2.36 fesetmode F
GLIBC_2.36 fesetround F
GLIBC_2.36 fetestexcept F
GLIBC_2.36 fetestexceptflag F
GLIBC_2.36 feupdateenv F
GLIBC_2.36 ffma F
GLIBC_2.36 ffmal F
GLIBC_2.36 finite F
GLIBC_2.36 finitef F
GLIBC_2.36 finitel F
GLIBC_2.36 floor F
GLIBC_2.36 floorf F
GLIBC_2.36 floorf128 F
GLIBC_2.36 floorf32 F
GLIBC_2.36 floorf32x F
GLIBC_2.36 floorf64 F
GLIBC_2.36 floorf64x F
GLIBC_2.36 floorl F
GLIBC_2.36 fma F
GLIBC_2.36 fmaf F
GLIBC_2.36 fmaf128 F
GLIBC_2.36 fmaf32 F
GLIBC_2.36 fmaf32x F
GLIBC_2.36 fmaf64 F
GLIBC_2.36 fmaf64x F
GLIBC_2.36 fmal F
GLIBC_2.36 fmax F
GLIBC_2.36 fmaxf F
GLIBC_2.36 fmaxf128 F
GLIBC_2.36 fmaxf32 F
GLIBC_2.36 fmaxf32x F
GLIBC_2.36 fmaxf64 F
GLIBC_2.36 fmaxf64x F
GLIBC_2.36 fmaximum F
GLIBC_2.36 fmaximum_mag F
GLIBC_2.36 fmaximum_mag_num F
GLIBC_2.36 fmaximum_mag_numf F
GLIBC_2.36 fmaximum_mag_numf128 F
GLIBC_2.36 fmaximum_mag_numf32 F
GLIBC_2.36 fmaximum_mag_numf32x F
GLIBC_2.36 fmaximum_mag_numf64 F
GLIBC_2.36 fmaximum_mag_numf64x F
GLIBC_2.36 fmaximum_mag_numl F
GLIBC_2.36 fmaximum_magf F
GLIBC_2.36 fmaximum_magf128 F
GLIBC_2.36 fmaximum_magf32 F
GLIBC_2.36 fmaximum_magf32x F
GLIBC_2.36 fmaximum_magf64 F
GLIBC_2.36 fmaximum_magf64x F
GLIBC_2.36 fmaximum_magl F
GLIBC_2.36 fmaximum_num F
GLIBC_2.36 fmaximum_numf F
GLIBC_2.36 fmaximum_numf128 F
GLIBC_2.36 fmaximum_numf32 F
GLIBC_2.36 fmaximum_numf32x F
GLIBC_2.36 fmaximum_numf64 F
GLIBC_2.36 fmaximum_numf64x F
GLIBC_2.36 fmaximum_numl F
GLIBC_2.36 fmaximumf F
GLIBC_2.36 fmaximumf128 F
GLIBC_2.36 fmaximumf32 F
GLIBC_2.36 fmaximumf32x F
GLIBC_2.36 fmaximumf64 F
GLIBC_2.36 fmaximumf64x F
GLIBC_2.36 fmaximuml F
GLIBC_2.36 fmaxl F
GLIBC_2.36 fmaxmag F
GLIBC_2.36 fmaxmagf F
GLIBC_2.36 fmaxmagf128 F
GLIBC_2.36 fmaxmagf32 F
GLIBC_2.36 fmaxmagf32x F
GLIBC_2.36 fmaxmagf64 F
GLIBC_2.36 fmaxmagf64x F
GLIBC_2.36 fmaxmagl F
GLIBC_2.36 fmin F
GLIBC_2.36 fminf F
GLIBC_2.36 fminf128 F
GLIBC_2.36 fminf32 F
GLIBC_2.36 fminf32x F
GLIBC_2.36 fminf64 F
GLIBC_2.36 fminf64x F
GLIBC_2.36 fminimum F
GLIBC_2.36 fminimum_mag F
GLIBC_2.36 fminimum_mag_num F
GLIBC_2.36 fminimum_mag_numf F
GLIBC_2.36 fminimum_mag_numf128 F
GLIBC_2.36 fminimum_mag_numf32 F
GLIBC_2.36 fminimum_mag_numf32x F
GLIBC_2.36 fminimum_mag_numf64 F
GLIBC_2.36 fminimum_mag_numf64x F
GLIBC_2.36 fminimum_mag_numl F
GLIBC_2.36 fminimum_magf F
GLIBC_2.36 fminimum_magf128 F
GLIBC_2.36 fminimum_magf32 F
GLIBC_2.36 fminimum_magf32x F
GLIBC_2.36 fminimum_magf64 F
GLIBC_2.36 fminimum_magf64x F
GLIBC_2.36 fminimum_magl F
GLIBC_2.36 fminimum_num F
GLIBC_2.36 fminimum_numf F
GLIBC_2.36 fminimum_numf128 F
GLIBC_2.36 fminimum_numf32 F
GLIBC_2.36 fminimum_numf32x F
GLIBC_2.36 fminimum_numf64 F
GLIBC_2.36 fminimum_numf64x F
GLIBC_2.36 fminimum_numl F
GLIBC_2.36 fminimumf F
GLIBC_2.36 fminimumf128 F
GLIBC_2.36 fminimumf32 F
GLIBC_2.36 fminimumf32x F
GLIBC_2.36 fminimumf64 F
GLIBC_2.36 fminimumf64x F
GLIBC_2.36 fminimuml F
GLIBC_2.36 fminl F
GLIBC_2.36 fminmag F
GLIBC_2.36 fminmagf F
GLIBC_2.36 fminmagf128 F
GLIBC_2.36 fminmagf32 F
GLIBC_2.36 fminmagf32x F
GLIBC_2.36 fminmagf64 F
GLIBC_2.36 fminmagf64x F
GLIBC_2.36 fminmagl F
GLIBC_2.36 fmod F
GLIBC_2.36 fmodf F
GLIBC_2.36 fmodf128 F
GLIBC_2.36 fmodf32 F
GLIBC_2.36 fmodf32x F
GLIBC_2.36 fmodf64 F
GLIBC_2.36 fmodf64x F
GLIBC_2.36 fmodl F
GLIBC_2.36 fmul F
GLIBC_2.36 fmull F
GLIBC_2.36 frexp F
GLIBC_2.36 frexpf F
GLIBC_2.36 frexpf128 F
GLIBC_2.36 frexpf32 F
GLIBC_2.36 frexpf32x F
GLIBC_2.36 frexpf64 F
GLIBC_2.36 frexpf64x F
GLIBC_2.36 frexpl F
GLIBC_2.36 fromfp F
GLIBC_2.36 fromfpf F
GLIBC_2.36 fromfpf128 F
GLIBC_2.36 fromfpf32 F
GLIBC_2.36 fromfpf32x F
GLIBC_2.36 fromfpf64 F
GLIBC_2.36 fromfpf64x F
GLIBC_2.36 fromfpl F
GLIBC_2.36 fromfpx F
GLIBC_2.36 fromfpxf F
GLIBC_2.36 fromfpxf128 F
GLIBC_2.36 fromfpxf32 F
GLIBC_2.36 fromfpxf32x F
GLIBC_2.36 fromfpxf64 F
GLIBC_2.36 fromfpxf64x F
GLIBC_2.36 fromfpxl F
GLIBC_2.36 fsqrt F
GLIBC_2.36 fsqrtl F
GLIBC_2.36 fsub F
GLIBC_2.36 fsubl F
GLIBC_2.36 gamma F
GLIBC_2.36 gammaf F
GLIBC_2.36 gammal F
GLIBC_2.36 getpayload F
GLIBC_2.36 getpayloadf F
GLIBC_2.36 getpayloadf128 F
GLIBC_2.36 getpayloadf32 F
GLIBC_2.36 getpayloadf32x F
GLIBC_2.36 getpayloadf64 F
GLIBC_2.36 getpayloadf64x F
GLIBC_2.36 getpayloadl F
GLIBC_2.36 hypot F
GLIBC_2.36 hypotf F
GLIBC_2.36 hypotf128 F
GLIBC_2.36 hypotf32 F
GLIBC_2.36 hypotf32x F
GLIBC_2.36 hypotf64 F
GLIBC_2.36 hypotf64x F
GLIBC_2.36 hypotl F
GLIBC_2.36 ilogb F
GLIBC_2.36 ilogbf F
GLIBC_2.36 ilogbf128 F
GLIBC_2.36 ilogbf32 F
GLIBC_2.36 ilogbf32x F
GLIBC_2.36 ilogbf64 F
GLIBC_2.36 ilogbf64x F
GLIBC_2.36 ilogbl F
GLIBC_2.36 j0 F
GLIBC_2.36 j0f F
GLIBC_2.36 j0f128 F
GLIBC_2.36 j0f32 F
GLIBC_2.36 j0f32x F
GLIBC_2.36 j0f64 F
GLIBC_2.36 j0f64x F
GLIBC_2.36 j0l F
GLIBC_2.36 j1 F
GLIBC_2.36 j1f F
GLIBC_2.36 j1f128 F
GLIBC_2.36 j1f32 F
GLIBC_2.36 j1f32x F
GLIBC_2.36 j1f64 F
GLIBC_2.36 j1f64x F
GLIBC_2.36 j1l F
GLIBC_2.36 jn F
GLIBC_2.36 jnf F
GLIBC_2.36 jnf128 F
GLIBC_2.36 jnf32 F
GLIBC_2.36 jnf32x F
GLIBC_2.36 jnf64 F
GLIBC_2.36 jnf64x F
GLIBC_2.36 jnl F
GLIBC_2.36 ldexp F
GLIBC_2.36 ldexpf F
GLIBC_2.36 ldexpf128 F
GLIBC_2.36 ldexpf32 F
GLIBC_2.36 ldexpf32x F
GLIBC_2.36 ldexpf64 F
GLIBC_2.36 ldexpf64x F
GLIBC_2.36 ldexpl F
GLIBC_2.36 lgamma F
GLIBC_2.36 lgamma_r F
GLIBC_2.36 lgammaf F
GLIBC_2.36 lgammaf128 F
GLIBC_2.36 lgammaf128_r F
GLIBC_2.36 lgammaf32 F
GLIBC_2.36 lgammaf32_r F
GLIBC_2.36 lgammaf32x F
GLIBC_2.36 lgammaf32x_r F
GLIBC_2.36 lgammaf64 F
GLIBC_2.36 lgammaf64_r F
GLIBC_2.36 lgammaf64x F
GLIBC_2.36 lgammaf64x_r F
GLIBC_2.36 lgammaf_r F
GLIBC_2.36 lgammal F
GLIBC_2.36 lgammal_r F
GLIBC_2.36 llogb F
GLIBC_2.36 llogbf F
GLIBC_2.36 llogbf128 F
GLIBC_2.36 llogbf32 F
GLIBC_2.36 llogbf32x F
GLIBC_2.36 llogbf64 F
GLIBC_2.36 llogbf64x F
GLIBC_2.36 llogbl F
GLIBC_2.36 llrint F
GLIBC_2.36 llrintf F
GLIBC_2.36 llrintf128 F
GLIBC_2.36 llrintf32 F
GLIBC_2.36 llrintf32x F
GLIBC_2.36 llrintf64 F
GLIBC_2.36 llrintf64x F
GLIBC_2.36 llrintl F
GLIBC_2.36 llround F
GLIBC_2.36 llroundf F
GLIBC_2.36 llroundf128 F
GLIBC_2.36 llroundf32 F
GLIBC_2.36 llroundf32x F
GLIBC_2.36 llroundf64 F
GLIBC_2.36 llroundf64x F
GLIBC_2.36 llroundl F
GLIBC_2.36 log F
GLIBC_2.36 log10 F
GLIBC_2.36 log10f F
GLIBC_2.36 log10f128 F
GLIBC_2.36 log10f32 F
GLIBC_2.36 log10f32x F
GLIBC_2.36 log10f64 F
GLIBC_2.36 log10f64x F
GLIBC_2.36 log10l F
GLIBC_2.36 log1p F
GLIBC_2.36 log1pf F
GLIBC_2.36 log1pf128 F
GLIBC_2.36 log1pf32 F
GLIBC_2.36 log1pf32x F
GLIBC_2.36 log1pf64 F
GLIBC_2.36 log1pf64x F
GLIBC_2.36 log1pl F
GLIBC_2.36 log2 F
GLIBC_2.36 log2f F
GLIBC_2.36 log2f128 F
GLIBC_2.36 log2f32 F
GLIBC_2.36 log2f32x F
GLIBC_2.36 log2f64 F
GLIBC_2.36 log2f64x F
GLIBC_2.36 log2l F
GLIBC_2.36 logb F
GLIBC_2.36 logbf F
GLIBC_2.36 logbf128 F
GLIBC_2.36 logbf32 F
GLIBC_2.36 logbf32x F
GLIBC_2.36 logbf64 F
GLIBC_2.36 logbf64x F
GLIBC_2.36 logbl F
GLIBC_2.36 logf F
GLIBC_2.36 logf128 F
GLIBC_2.36 logf32 F
GLIBC_2.36 logf32x F
GLIBC_2.36 logf64 F
GLIBC_2.36 logf64x F
GLIBC_2.36 logl F
GLIBC_2.36 lrint F
GLIBC_2.36 lrintf F
GLIBC_2.36 lrintf128 F
GLIBC_2.36 lrintf32 F
GLIBC_2.36 lrintf32x F
GLIBC_2.36 lrintf64 F
GLIBC_2.36 lrintf64x F
GLIBC_2.36 lrintl F
GLIBC_2.36 lround F
GLIBC_2.36 lroundf F
GLIBC_2.36 lroundf128 F
GLIBC_2.36 lroundf32 F
GLIBC_2.36 lroundf32x F
GLIBC_2.36 lroundf64 F
GLIBC_2.36 lroundf64x F
GLIBC_2.36 lroundl F
GLIBC_2.36 modf F
GLIBC_2.36 modff F
GLIBC_2.36 modff128 F
GLIBC_2.36 modff32 F
GLIBC_2.36 modff32x F
GLIBC_2.36 modff64 F
GLIBC_2.36 modff64x F
GLIBC_2.36 modfl F
GLIBC_2.36 nan F
GLIBC_2.36 nanf F
GLIBC_2.36 nanf128 F
GLIBC_2.36 nanf32 F
GLIBC_2.36 nanf32x F
GLIBC_2.36 nanf64 F
GLIBC_2.36 nanf64x F
GLIBC_2.36 nanl F
GLIBC_2.36 nearbyint F
GLIBC_2.36 nearbyintf F
GLIBC_2.36 nearbyintf128 F
GLIBC_2.36 nearbyintf32 F
GLIBC_2.36 nearbyintf32x F
GLIBC_2.36 nearbyintf64 F
GLIBC_2.36 nearbyintf64x F
GLIBC_2.36 nearbyintl F
GLIBC_2.36 nextafter F
GLIBC_2.36 nextafterf F
GLIBC_2.36 nextafterf128 F
GLIBC_2.36 nextafterf32 F
GLIBC_2.36 nextafterf32x F
GLIBC_2.36 nextafterf64 F
GLIBC_2.36 nextafterf64x F
GLIBC_2.36 nextafterl F
GLIBC_2.36 nextdown F
GLIBC_2.36 nextdownf F
GLIBC_2.36 nextdownf128 F
GLIBC_2.36 nextdownf32 F
GLIBC_2.36 nextdownf32x F
GLIBC_2.36 nextdownf64 F
GLIBC_2.36 nextdownf64x F
GLIBC_2.36 nextdownl F
GLIBC_2.36 nexttoward F
GLIBC_2.36 nexttowardf F
GLIBC_2.36 nexttowardl F
GLIBC_2.36 nextup F
GLIBC_2.36 nextupf F
GLIBC_2.36 nextupf128 F
GLIBC_2.36 nextupf32 F
GLIBC_2.36 nextupf32x F
GLIBC_2.36 nextupf64 F
GLIBC_2.36 nextupf64x F
GLIBC_2.36 nextupl F
GLIBC_2.36 pow F
GLIBC_2.36 powf F
GLIBC_2.36 powf128 F
GLIBC_2.36 powf32 F
GLIBC_2.36 powf32x F
GLIBC_2.36 powf64 F
GLIBC_2.36 powf64x F
GLIBC_2.36 powl F
GLIBC_2.36 remainder F
GLIBC_2.36 remainderf F
GLIBC_2.36 remainderf128 F
GLIBC_2.36 remainderf32 F
GLIBC_2.36 remainderf32x F
GLIBC_2.36 remainderf64 F
GLIBC_2.36 remainderf64x F
GLIBC_2.36 remainderl F
GLIBC_2.36 remquo F
GLIBC_2.36 remquof F
GLIBC_2.36 remquof128 F
GLIBC_2.36 remquof32 F
GLIBC_2.36 remquof32x F
GLIBC_2.36 remquof64 F
GLIBC_2.36 remquof64x F
GLIBC_2.36 remquol F
GLIBC_2.36 rint F
GLIBC_2.36 rintf F
GLIBC_2.36 rintf128 F
GLIBC_2.36 rintf32 F
GLIBC_2.36 rintf32x F
GLIBC_2.36 rintf64 F
GLIBC_2.36 rintf64x F
GLIBC_2.36 rintl F
GLIBC_2.36 round F
GLIBC_2.36 roundeven F
GLIBC_2.36 roundevenf F
GLIBC_2.36 roundevenf128 F
GLIBC_2.36 roundevenf32 F
GLIBC_2.36 roundevenf32x F
GLIBC_2.36 roundevenf64 F
GLIBC_2.36 roundevenf64x F
GLIBC_2.36 roundevenl F
GLIBC_2.36 roundf F
GLIBC_2.36 roundf128 F
GLIBC_2.36 roundf32 F
GLIBC_2.36 roundf32x F
GLIBC_2.36 roundf64 F
GLIBC_2.36 roundf64x F
GLIBC_2.36 roundl F
GLIBC_2.36 scalb F
GLIBC_2.36 scalbf F
GLIBC_2.36 scalbl F
GLIBC_2.36 scalbln F
GLIBC_2.36 scalblnf F
GLIBC_2.36 scalblnf128 F
GLIBC_2.36 scalblnf32 F
GLIBC_2.36 scalblnf32x F
GLIBC_2.36 scalblnf64 F
GLIBC_2.36 scalblnf64x F
GLIBC_2.36 scalblnl F
GLIBC_2.36 scalbn F
GLIBC_2.36 scalbnf F
GLIBC_2.36 scalbnf128 F
GLIBC_2.36 scalbnf32 F
GLIBC_2.36 scalbnf32x F
GLIBC_2.36 scalbnf64 F
GLIBC_2.36 scalbnf64x F
GLIBC_2.36 scalbnl F
GLIBC_2.36 setpayload F
GLIBC_2.36 setpayloadf F
GLIBC_2.36 setpayloadf128 F
GLIBC_2.36 setpayloadf32 F
GLIBC_2.36 setpayloadf32x F
GLIBC_2.36 setpayloadf64 F
GLIBC_2.36 setpayloadf64x F
GLIBC_2.36 setpayloadl F
GLIBC_2.36 setpayloadsig F
GLIBC_2.36 setpayloadsigf F
GLIBC_2.36 setpayloadsigf128 F
GLIBC_2.36 setpayloadsigf32 F
GLIBC_2.36 setpayloadsigf32x F
GLIBC_2.36 setpayloadsigf64 F
GLIBC_2.36 setpayloadsigf64x F
GLIBC_2.36 setpayloadsigl F
GLIBC_2.36 signgam D 0x4
GLIBC_2.36 significand F
GLIBC_2.36 significandf F
GLIBC_2.36 significandl F
GLIBC_2.36 sin F
GLIBC_2.36 sincos F
GLIBC_2.36 sincosf F
GLIBC_2.36 sincosf128 F
GLIBC_2.36 sincosf32 F
GLIBC_2.36 sincosf32x F
GLIBC_2.36 sincosf64 F
GLIBC_2.36 sincosf64x F
GLIBC_2.36 sincosl F
GLIBC_2.36 sinf F
GLIBC_2.36 sinf128 F
GLIBC_2.36 sinf32 F
GLIBC_2.36 sinf32x F
GLIBC_2.36 sinf64 F
GLIBC_2.36 sinf64x F
GLIBC_2.36 sinh F
GLIBC_2.36 sinhf F
GLIBC_2.36 sinhf128 F
GLIBC_2.36 sinhf32 F
GLIBC_2.36 sinhf32x F
GLIBC_2.36 sinhf64 F
GLIBC_2.36 sinhf64x F
GLIBC_2.36 sinhl F
GLIBC_2.36 sinl F
GLIBC_2.36 sqrt F
GLIBC_2.36 sqrtf F
GLIBC_2.36 sqrtf128 F
GLIBC_2.36 sqrtf32 F
GLIBC_2.36 sqrtf32x F
GLIBC_2.36 sqrtf64 F
GLIBC_2.36 sqrtf64x F
GLIBC_2.36 sqrtl F
GLIBC_2.36 tan F
GLIBC_2.36 tanf F
GLIBC_2.36 tanf128 F
GLIBC_2.36 tanf32 F
GLIBC_2.36 tanf32x F
GLIBC_2.36 tanf64 F
GLIBC_2.36 tanf64x F
GLIBC_2.36 tanh F
GLIBC_2.36 tanhf F
GLIBC_2.36 tanhf128 F
GLIBC_2.36 tanhf32 F
GLIBC_2.36 tanhf32x F
GLIBC_2.36 tanhf64 F
GLIBC_2.36 tanhf64x F
GLIBC_2.36 tanhl F
GLIBC_2.36 tanl F
GLIBC_2.36 tgamma F
GLIBC_2.36 tgammaf F
GLIBC_2.36 tgammaf128 F
GLIBC_2.36 tgammaf32 F
GLIBC_2.36 tgammaf32x F
GLIBC_2.36 tgammaf64 F
GLIBC_2.36 tgammaf64x F
GLIBC_2.36 tgammal F
GLIBC_2.36 totalorder F
GLIBC_2.36 totalorderf F
GLIBC_2.36 totalorderf128 F
GLIBC_2.36 totalorderf32 F
GLIBC_2.36 totalorderf32x F
GLIBC_2.36 totalorderf64 F
GLIBC_2.36 totalorderf64x F
GLIBC_2.36 totalorderl F
GLIBC_2.36 totalordermag F
GLIBC_2.36 totalordermagf F
GLIBC_2.36 totalordermagf128 F
GLIBC_2.36 totalordermagf32 F
GLIBC_2.36 totalordermagf32x F
GLIBC_2.36 totalordermagf64 F
GLIBC_2.36 totalordermagf64x F
GLIBC_2.36 totalordermagl F
GLIBC_2.36 trunc F
GLIBC_2.36 truncf F
GLIBC_2.36 truncf128 F
GLIBC_2.36 truncf32 F
GLIBC_2.36 truncf32x F
GLIBC_2.36 truncf64 F
GLIBC_2.36 truncf64x F
GLIBC_2.36 truncl F
GLIBC_2.36 ufromfp F
GLIBC_2.36 ufromfpf F
GLIBC_2.36 ufromfpf128 F
GLIBC_2.36 ufromfpf32 F
GLIBC_2.36 ufromfpf32x F
GLIBC_2.36 ufromfpf64 F
GLIBC_2.36 ufromfpf64x F
GLIBC_2.36 ufromfpl F
GLIBC_2.36 ufromfpx F
GLIBC_2.36 ufromfpxf F
GLIBC_2.36 ufromfpxf128 F
GLIBC_2.36 ufromfpxf32 F
GLIBC_2.36 ufromfpxf32x F
GLIBC_2.36 ufromfpxf64 F
GLIBC_2.36 ufromfpxf64x F
GLIBC_2.36 ufromfpxl F
GLIBC_2.36 y0 F
GLIBC_2.36 y0f F
GLIBC_2.36 y0f128 F
GLIBC_2.36 y0f32 F
GLIBC_2.36 y0f32x F
GLIBC_2.36 y0f64 F
GLIBC_2.36 y0f64x F
GLIBC_2.36 y0l F
GLIBC_2.36 y1 F
GLIBC_2.36 y1f F
GLIBC_2.36 y1f128 F
GLIBC_2.36 y1f32 F
GLIBC_2.36 y1f32x F
GLIBC_2.36 y1f64 F
GLIBC_2.36 y1f64x F
GLIBC_2.36 y1l F
GLIBC_2.36 yn F
GLIBC_2.36 ynf F
GLIBC_2.36 ynf128 F
GLIBC_2.36 ynf32 F
GLIBC_2.36 ynf32x F
GLIBC_2.36 ynf64 F
GLIBC_2.36 ynf64x F
GLIBC_2.36 ynl F
Implement C23 exp2m1, exp10m1 C23 adds various <math.h> function families originally defined in TS 18661-4. Add the exp2m1 and exp10m1 functions (exp2(x)-1 and exp10(x)-1, like expm1). As with other such functions, these use type-generic templates that could be replaced with faster and more accurate type-specific implementations in future. Test inputs are copied from those for expm1, plus some additions close to the overflow threshold (copied from exp2 and exp10) and also some near the underflow threshold. exp2m1 has the unusual property of having an input (M_MAX_EXP) where whether the function overflows (under IEEE semantics) depends on the rounding mode. Although these could reasonably be XFAILed in the testsuite (as we do in some cases for arguments very close to a function's overflow threshold when an error of a few ulps in the implementation can result in the implementation not agreeing with an ideal one on whether overflow takes place - the testsuite isn't smart enough to handle this automatically), since these functions aren't required to be correctly rounding, I made the implementation check for and handle this case specially. The Makefile ordering expected by lint-makefiles for the new functions is a bit peculiar, but I implemented it in this patch so that the test passes; I don't know why log2 also needed moving in one Makefile variable setting when it didn't in my previous patches, but the failure showed a different place was expected for that function as well. The powerpc64le IFUNC setup seems not to be as self-contained as one might hope; it shouldn't be necessary to add IFUNCs for new functions such as these simply to get them building, but without setting up IFUNCs for the new functions, there were undefined references to __GI___expm1f128 (that IFUNC machinery results in no such function being defined, but doesn't stop include/math.h from doing the redirection resulting in the exp2m1f128 and exp10m1f128 implementations expecting to call it). Tested for x86_64 and x86, and with build-many-glibcs.py.
2024-06-17 16:31:49 +00:00
GLIBC_2.40 exp10m1 F
GLIBC_2.40 exp10m1f F
GLIBC_2.40 exp10m1f128 F
GLIBC_2.40 exp10m1f32 F
GLIBC_2.40 exp10m1f32x F
GLIBC_2.40 exp10m1f64 F
GLIBC_2.40 exp10m1f64x F
GLIBC_2.40 exp10m1l F
GLIBC_2.40 exp2m1 F
GLIBC_2.40 exp2m1f F
GLIBC_2.40 exp2m1f128 F
GLIBC_2.40 exp2m1f32 F
GLIBC_2.40 exp2m1f32x F
GLIBC_2.40 exp2m1f64 F
GLIBC_2.40 exp2m1f64x F
GLIBC_2.40 exp2m1l F
GLIBC_2.40 log10p1 F
GLIBC_2.40 log10p1f F
GLIBC_2.40 log10p1f128 F
GLIBC_2.40 log10p1f32 F
GLIBC_2.40 log10p1f32x F
GLIBC_2.40 log10p1f64 F
GLIBC_2.40 log10p1f64x F
GLIBC_2.40 log10p1l F
GLIBC_2.40 log2p1 F
GLIBC_2.40 log2p1f F
GLIBC_2.40 log2p1f128 F
GLIBC_2.40 log2p1f32 F
GLIBC_2.40 log2p1f32x F
GLIBC_2.40 log2p1f64 F
GLIBC_2.40 log2p1f64x F
GLIBC_2.40 log2p1l F
GLIBC_2.40 logp1 F
GLIBC_2.40 logp1f F
GLIBC_2.40 logp1f128 F
GLIBC_2.40 logp1f32 F
GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1f64x F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif128 F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif128 F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif128 F
GLIBC_2.41 atan2pif32 F
GLIBC_2.41 atan2pif32x F
GLIBC_2.41 atan2pif64 F
GLIBC_2.41 atan2pif64x F
GLIBC_2.41 atan2pil F
GLIBC_2.41 atanpi F
GLIBC_2.41 atanpif F
GLIBC_2.41 atanpif128 F
GLIBC_2.41 atanpif32 F
GLIBC_2.41 atanpif32x F
GLIBC_2.41 atanpif64 F
GLIBC_2.41 atanpif64x F
GLIBC_2.41 atanpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F
GLIBC_2.41 cospif32 F
GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospif64x F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif128 F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif128 F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpif64x F
GLIBC_2.41 tanpil F
Implement C23 pown C23 adds various <math.h> function families originally defined in TS 18661-4. Add the pown functions, which are like pow but with an integer exponent. That exponent has type long long int in C23; it was intmax_t in TS 18661-4, and as with other interfaces changed after their initial appearance in the TS, I don't think we need to support the original version of the interface. The test inputs are based on the subset of test inputs for pow that use integer exponents that fit in long long. As the first such template implementation that saves and restores the rounding mode internally (to avoid possible issues with directed rounding and intermediate overflows or underflows in the wrong rounding mode), support also needed to be added for using SET_RESTORE_ROUND* in such template function implementations. This required math-type-macros-float128.h to include <fenv_private.h>, so it can tell whether SET_RESTORE_ROUNDF128 is defined. In turn, the include order with <fenv_private.h> included before <math_private.h> broke loongarch builds, showing up that sysdeps/loongarch/math_private.h is really a fenv_private.h file (maybe implemented internally before the consistent split of those headers in 2018?) and needed to be renamed to fenv_private.h to avoid errors with duplicate macro definitions if <math_private.h> is included after <fenv_private.h>. The underlying implementation uses __ieee754_pow functions (called more than once in some cases, where the exponent does not fit in the floating type). I expect a custom implementation for a given format, that only handles integer exponents but handles larger exponents directly, could be faster and more accurate in some cases. I encourage searching for worst cases for ulps error for these implementations (necessarily non-exhaustively, given the size of the input space). Tested for x86_64 and x86, and with build-many-glibcs.py.
2025-03-27 10:44:44 +00:00
GLIBC_2.42 pown F
GLIBC_2.42 pownf F
GLIBC_2.42 pownf128 F
GLIBC_2.42 pownf32 F
GLIBC_2.42 pownf32x F
GLIBC_2.42 pownf64 F
GLIBC_2.42 pownf64x F
GLIBC_2.42 pownl F
Implement C23 powr C23 adds various <math.h> function families originally defined in TS 18661-4. Add the powr functions, which are like pow, but with simpler handling of special cases (based on exp(y*log(x)), so negative x and 0^0 are domain errors, powers of -0 are always +0 or +Inf never -0 or -Inf, and 1^+-Inf and Inf^0 are also domain errors, while NaN^0 and 1^NaN are NaN). The test inputs are taken from those for pow, with appropriate adjustments (including removing all tests that would be domain errors from those in auto-libm-test-in and adding some more such tests in libm-test-powr.inc). The underlying implementation uses __ieee754_pow functions after dealing with all special cases that need to be handled differently. It might be a little faster (avoiding a wrapper and redundant checks for special cases) to have an underlying implementation built separately for both pow and powr with compile-time conditionals for special-case handling, but I expect the benefit of that would be limited given that both functions will end up needing to use the same logic for computing pow outside of special cases. My understanding is that powr(negative, qNaN) should raise "invalid": that the rule on "invalid" for an argument outside the domain of the function takes precedence over a quiet NaN argument producing a quiet NaN result with no exceptions raised (for rootn it's explicit that the 0th root of qNaN raises "invalid"). I've raised this on the WG14 reflector to confirm the intent. Tested for x86_64 and x86, and with build-many-glibcs.py.
2025-03-14 15:58:11 +00:00
GLIBC_2.42 powr F
GLIBC_2.42 powrf F
GLIBC_2.42 powrf128 F
GLIBC_2.42 powrf32 F
GLIBC_2.42 powrf32x F
GLIBC_2.42 powrf64 F
GLIBC_2.42 powrf64x F
GLIBC_2.42 powrl F
GLIBC_2.42 rsqrt F
GLIBC_2.42 rsqrtf F
GLIBC_2.42 rsqrtf128 F
GLIBC_2.42 rsqrtf32 F
GLIBC_2.42 rsqrtf32x F
GLIBC_2.42 rsqrtf64 F
GLIBC_2.42 rsqrtf64x F
GLIBC_2.42 rsqrtl F