c8fcb04ad9
These are weak and so can be replaced by other versions in applications that choose to do so, and will give a linker warning when used so that applications that rely on the extra precision can avoid them. Note that since the C/C++ specs only guarantee that long double has precision equal to double, code that actually relies on these functions having greater precision is unportable at best and broken at worst.
283 lines
2.5 KiB
Plaintext
283 lines
2.5 KiB
Plaintext
/*
|
|
* $FreeBSD$
|
|
*/
|
|
|
|
/* 7.0-CURRENT */
|
|
FBSD_1.0 {
|
|
__fe_dfl_env;
|
|
tgamma;
|
|
acos;
|
|
acosf;
|
|
acosh;
|
|
acoshf;
|
|
asin;
|
|
asinf;
|
|
atan2;
|
|
atan2f;
|
|
atanh;
|
|
atanhf;
|
|
cosh;
|
|
coshf;
|
|
exp;
|
|
expf;
|
|
fmod;
|
|
fmodf;
|
|
gamma;
|
|
gamma_r;
|
|
gammaf;
|
|
gammaf_r;
|
|
hypot;
|
|
hypotf;
|
|
j0;
|
|
y0;
|
|
j0f;
|
|
y0f;
|
|
j1;
|
|
y1;
|
|
j1f;
|
|
y1f;
|
|
jn;
|
|
yn;
|
|
jnf;
|
|
ynf;
|
|
lgamma;
|
|
lgamma_r;
|
|
lgammaf;
|
|
lgammaf_r;
|
|
log;
|
|
log10;
|
|
log10f;
|
|
logf;
|
|
pow;
|
|
powf;
|
|
remainder;
|
|
remainderf;
|
|
scalb;
|
|
scalbf;
|
|
sinh;
|
|
sinhf;
|
|
sqrt;
|
|
sqrtf;
|
|
asinh;
|
|
asinhf;
|
|
atan;
|
|
atanf;
|
|
cbrt;
|
|
cbrtf;
|
|
ceil;
|
|
ceilf;
|
|
ceill;
|
|
cimag;
|
|
cimagf;
|
|
cimagl;
|
|
conj;
|
|
conjf;
|
|
conjl;
|
|
copysign;
|
|
copysignf;
|
|
copysignl;
|
|
cos;
|
|
cosf;
|
|
creal;
|
|
crealf;
|
|
creall;
|
|
erf;
|
|
erfc;
|
|
erff;
|
|
erfcf;
|
|
exp2;
|
|
exp2f;
|
|
expm1;
|
|
expm1f;
|
|
fabs;
|
|
fabsf;
|
|
fabsl;
|
|
fdim;
|
|
fdimf;
|
|
fdiml;
|
|
finite;
|
|
finitef;
|
|
floor;
|
|
floorf;
|
|
floorl;
|
|
fma;
|
|
fmaf;
|
|
fmal;
|
|
fmax;
|
|
fmaxf;
|
|
fmaxl;
|
|
fmin;
|
|
fminf;
|
|
fminl;
|
|
frexp;
|
|
frexpf;
|
|
frexpl;
|
|
ilogb;
|
|
ilogbf;
|
|
ilogbl;
|
|
__isfinite;
|
|
__isfinitef;
|
|
__isfinitel;
|
|
isnanf;
|
|
__isnanl;
|
|
__isnormal;
|
|
__isnormalf;
|
|
__isnormall;
|
|
llrint;
|
|
llrintf;
|
|
llround;
|
|
llroundf;
|
|
llroundl;
|
|
log1p;
|
|
log1pf;
|
|
logb;
|
|
logbf;
|
|
lrint;
|
|
lrintf;
|
|
lround;
|
|
lroundf;
|
|
lroundl;
|
|
modff;
|
|
modfl;
|
|
nearbyint;
|
|
nearbyintf;
|
|
nextafter;
|
|
nexttoward;
|
|
nexttowardl;
|
|
nextafterl;
|
|
nextafterf;
|
|
nexttowardf;
|
|
remquo;
|
|
remquof;
|
|
rint;
|
|
rintf;
|
|
round;
|
|
roundf;
|
|
roundl;
|
|
scalbln;
|
|
scalblnf;
|
|
scalblnl;
|
|
scalbn;
|
|
scalbnl;
|
|
scalbnf;
|
|
ldexpf;
|
|
ldexpl;
|
|
__signbit;
|
|
__signbitf;
|
|
__signbitl;
|
|
signgam;
|
|
significand;
|
|
significandf;
|
|
sin;
|
|
sinf;
|
|
tan;
|
|
tanf;
|
|
tanh;
|
|
tanhf;
|
|
trunc;
|
|
truncf;
|
|
truncl;
|
|
cabs;
|
|
cabsf;
|
|
drem;
|
|
dremf;
|
|
};
|
|
|
|
/* First added in 8.0-CURRENT */
|
|
FBSD_1.1 {
|
|
carg;
|
|
cargf;
|
|
csqrt;
|
|
csqrtf;
|
|
logbl;
|
|
nan;
|
|
nanf;
|
|
nanl;
|
|
llrintl;
|
|
lrintl;
|
|
nearbyintl;
|
|
rintl;
|
|
exp2l;
|
|
sinl;
|
|
cosl;
|
|
tanl;
|
|
tgammaf;
|
|
sqrtl;
|
|
hypotl;
|
|
cabsl;
|
|
csqrtl;
|
|
remquol;
|
|
remainderl;
|
|
fmodl;
|
|
acosl;
|
|
asinl;
|
|
atan2l;
|
|
atanl;
|
|
cargl;
|
|
cproj;
|
|
cprojf;
|
|
cprojl;
|
|
};
|
|
|
|
/* First added in 9.0-CURRENT */
|
|
FBSD_1.2 {
|
|
__isnanf;
|
|
cbrtl;
|
|
cexp;
|
|
cexpf;
|
|
log2;
|
|
log2f;
|
|
};
|
|
|
|
/* First added in 10.0-CURRENT */
|
|
FBSD_1.3 {
|
|
feclearexcept;
|
|
fegetexceptflag;
|
|
fetestexcept;
|
|
fegetround;
|
|
fesetround;
|
|
fesetenv;
|
|
acoshl;
|
|
asinhl;
|
|
atanhl;
|
|
cacos;
|
|
cacosf;
|
|
cacosh;
|
|
cacoshf;
|
|
casin;
|
|
casinf;
|
|
casinh;
|
|
casinhf;
|
|
catan;
|
|
catanf;
|
|
catanh;
|
|
catanhf;
|
|
csin;
|
|
csinf;
|
|
csinh;
|
|
csinhf;
|
|
ccos;
|
|
ccosf;
|
|
ccosh;
|
|
ccoshf;
|
|
ctan;
|
|
ctanf;
|
|
ctanh;
|
|
ctanhf;
|
|
expl;
|
|
expm1l;
|
|
log10l;
|
|
log1pl;
|
|
log2l;
|
|
logl;
|
|
# Implemented as weak aliases for imprecise versions
|
|
coshl;
|
|
erfcl;
|
|
erfl;
|
|
lgammal;
|
|
powl;
|
|
sinhl;
|
|
tanhl;
|
|
tgammal;
|
|
};
|