Commit 854a3cab authored by Piotr Caban's avatar Piotr Caban Committed by Alexandre Julliard

msvcrt: Import neabyint implementation from musl.

parent 2caca437
......@@ -19640,7 +19640,6 @@ for ac_func in \
log1pf \
log2 \
log2f \
nearbyint \
nexttoward \
nexttowardf \
remainder \
......
......@@ -2680,7 +2680,6 @@ AC_CHECK_FUNCS(\
log1pf \
log2 \
log2f \
nearbyint \
nexttoward \
nexttowardf \
remainder \
......
......@@ -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;
}
/*********************************************************************
......
......@@ -548,18 +548,6 @@ static float CDECL unix_modff( float x, float *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
*/
static double CDECL unix_nextafter(double num, double next)
......@@ -834,7 +822,6 @@ static const struct unix_funcs funcs =
unix_logbf,
unix_modf,
unix_modff,
unix_nearbyint,
unix_nextafter,
unix_nextafterf,
unix_nexttoward,
......
......@@ -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);
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment