s_scalbn.c: Add missing float.h include
This caused LDBL_MANT_DIG to not be defined and therefore the scalbnl
alias was not being emitted for double==long double platforms.
Fixes: 760b2ffc
("Update scalbn* functions to the musl versions")
Reported by: Jenkins
This commit is contained in:
parent
e152c88273
commit
f5542795b9
@ -7,3 +7,4 @@ __FBSDID("$FreeBSD$");
|
||||
*/
|
||||
#define scalbn ldexp
|
||||
#include "../../msun/src/s_scalbn.c"
|
||||
#undef scalbn
|
||||
|
@ -1,3 +1,4 @@
|
||||
#include <float.h>
|
||||
#include <math.h>
|
||||
#include <stdint.h>
|
||||
|
||||
@ -32,7 +33,7 @@ double scalbn(double x, int n)
|
||||
return x;
|
||||
}
|
||||
|
||||
#if (LDBL_MANT_DIG == 53)
|
||||
#if (LDBL_MANT_DIG == 53) && !defined(scalbn)
|
||||
__weak_reference(scalbn, ldexpl);
|
||||
__weak_reference(scalbn, scalbnl);
|
||||
#endif
|
||||
|
@ -8,13 +8,7 @@
|
||||
* manipulation rather than by actually performing an
|
||||
* exponentiation or a multiplication.
|
||||
*/
|
||||
|
||||
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
|
||||
long double scalbnl(long double x, int n)
|
||||
{
|
||||
return scalbn(x, n);
|
||||
}
|
||||
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
|
||||
#if (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
|
||||
long double scalbnl(long double x, int n)
|
||||
{
|
||||
union IEEEl2bits u;
|
||||
@ -42,6 +36,6 @@ long double scalbnl(long double x, int n)
|
||||
u.xbits.expsign = 0x3fff + n;
|
||||
return x * u.e;
|
||||
}
|
||||
__strong_reference(scalbnl, ldexpl);
|
||||
#endif
|
||||
|
||||
__strong_reference(scalbnl, ldexpl);
|
||||
|
Loading…
Reference in New Issue
Block a user