Alexandre Julliard : msvcrt: Import fabs() from musl.
Module: wine Branch: master Commit: 44e122e04e2f37ef11cded89ab3a8fd2369b2b03 URL: https://source.winehq.org/git/wine.git/?a=commit;h=44e122e04e2f37ef11cded89a... Author: Alexandre Julliard <julliard(a)winehq.org> Date: Tue Nov 17 09:58:19 2020 +0100 msvcrt: Import fabs() from musl. Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/msvcrt/math.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c index 069a2f7f387..f5e933fc188 100644 --- a/dlls/msvcrt/math.c +++ b/dlls/msvcrt/math.c @@ -717,10 +717,14 @@ float CDECL MSVCRT_ceilf( float x ) /********************************************************************* * fabsf (MSVCRT.@) + * + * Copied from musl: src/math/fabsf.c */ float CDECL MSVCRT_fabsf( float x ) { - return fabsf(x); + union { float f; UINT32 i; } u = { x }; + u.i &= 0x7fffffff; + return u.f; } /********************************************************************* @@ -1610,10 +1614,14 @@ float CDECL MSVCRT_fmaf( float x, float y, float z ) /********************************************************************* * fabs (MSVCRT.@) + * + * Copied from musl: src/math/fabsf.c */ double CDECL MSVCRT_fabs( double x ) { - return fabs(x); + union { double f; UINT64 i; } u = { x }; + u.i &= ~0ull >> 1; + return u.f; } /*********************************************************************
participants (1)
-
Alexandre Julliard