msvcrt: Use the remainder()/remainderf() implementation from the bundled musl library.

This commit is contained in:
Alexandre Julliard 2023-03-31 15:38:53 +02:00
parent 64eed89a53
commit 3b1e2a7bfd
2 changed files with 14 additions and 16 deletions

View file

@ -2325,9 +2325,9 @@
@ cdecl rand()
@ cdecl rand_s(ptr)
@ cdecl realloc(ptr long)
@ cdecl remainder(double double)
@ cdecl remainderf(float float)
@ cdecl remainderl(double double) remainder
@ cdecl remainder(double double) MSVCRT_remainder
@ cdecl remainderf(float float) MSVCRT_remainderf
@ cdecl remainderl(double double) MSVCRT_remainder
@ cdecl remove(str)
@ cdecl remquo(double double ptr)
@ cdecl remquof(float float ptr)

View file

@ -3350,36 +3350,34 @@ float CDECL _scalbf(float num, __msvcrt_long power)
return ldexp(num, power);
}
#if _MSVCR_VER>=120
#if _MSVCR_VER == 120 /* other versions call remainder() directly */
/*********************************************************************
* remainder (MSVCR120.@)
*
* Copied from musl: src/math/remainder.c
*/
double CDECL remainder(double x, double y)
double CDECL MSVCRT_remainder(double x, double y)
{
int q;
#if _MSVCR_VER == 120 && defined(__x86_64__)
#ifdef __x86_64__
if (isnan(x) || isnan(y)) *_errno() = EDOM;
#endif
return remquo(x, y, &q);
return remainder(x, y);
}
/*********************************************************************
* remainderf (MSVCR120.@)
*
* Copied from musl: src/math/remainderf.c
*/
float CDECL remainderf(float x, float y)
float CDECL MSVCRT_remainderf(float x, float y)
{
int q;
#if _MSVCR_VER == 120 && defined(__x86_64__)
#ifdef __x86_64__
if (isnan(x) || isnan(y)) *_errno() = EDOM;
#endif
return remquof(x, y, &q);
return remainderf(x, y);
}
#endif /* _MSVCR_VER == 120 */
#if _MSVCR_VER>=120
/*********************************************************************
* _except1 (MSVCR120.@)
* TODO: