1
0
mirror of https://github.com/wine-mirror/wine synced 2024-07-08 20:06:18 +00:00

msvcrt: Import neabyint implementation from musl.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Piotr Caban 2021-05-14 16:11:48 +02:00 committed by Alexandre Julliard
parent 2caca43733
commit 854a3cab4c
6 changed files with 11 additions and 21 deletions

1
configure vendored
View File

@ -19640,7 +19640,6 @@ for ac_func in \
log1pf \
log2 \
log2f \
nearbyint \
nexttoward \
nexttowardf \
remainder \

View File

@ -2680,7 +2680,6 @@ AC_CHECK_FUNCS(\
log1pf \
log2 \
log2f \
nearbyint \
nexttoward \
nexttowardf \
remainder \

View File

@ -3418,10 +3418,19 @@ double CDECL _yn(int n, double x)
/*********************************************************************
* _nearbyint (MSVCR120.@)
*
* Based on musl: src/math/nearbyteint.c
*/
double CDECL nearbyint(double num)
double CDECL nearbyint(double x)
{
return unix_funcs->nearbyint( num );
fenv_t env;
fegetenv(&env);
_control87(_MCW_EM, _MCW_EM);
x = rint(x);
feclearexcept(FE_INEXACT);
feupdateenv(&env);
return x;
}
/*********************************************************************

View File

@ -547,18 +547,6 @@ static float CDECL unix_modff( float x, float *iptr )
return modff( x, iptr );
}
/*********************************************************************
* nearbyint
*/
static double CDECL unix_nearbyint(double num)
{
#ifdef HAVE_NEARBYINT
return nearbyint(num);
#else
return num >= 0 ? floor(num + 0.5) : ceil(num - 0.5);
#endif
}
/*********************************************************************
* nextafter
*/
@ -834,7 +822,6 @@ static const struct unix_funcs funcs =
unix_logbf,
unix_modf,
unix_modff,
unix_nearbyint,
unix_nextafter,
unix_nextafterf,
unix_nexttoward,

View File

@ -72,7 +72,6 @@ struct unix_funcs
float (CDECL *logbf)(float x);
double (CDECL *modf)(double x, double *iptr);
float (CDECL *modff)(float x, float *iptr);
double (CDECL *nearbyint)(double num);
double (CDECL *nextafter)(double x, double y);
float (CDECL *nextafterf)(float x, float y);
double (CDECL *nexttoward)(double x, double y);

View File

@ -501,9 +501,6 @@
/* Define if MTLDevice protocol has registryID property. */
#undef HAVE_MTLDEVICE_REGISTRYID
/* Define to 1 if you have the `nearbyint' function. */
#undef HAVE_NEARBYINT
/* Define to 1 if you have the <netdb.h> header file. */
#undef HAVE_NETDB_H