Alexandre Julliard : msvcrt: Reimplement _finite().
Alexandre Julliard
julliard at winehq.org
Mon Nov 16 15:28:57 CST 2020
Module: wine
Branch: master
Commit: 9f088d019bc838946b1a500e41a34c48aae93469
URL: https://source.winehq.org/git/wine.git/?a=commit;h=9f088d019bc838946b1a500e41a34c48aae93469
Author: Alexandre Julliard <julliard at winehq.org>
Date: Mon Nov 16 12:17:52 2020 +0100
msvcrt: Reimplement _finite().
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/msvcrt/math.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c
index aa0c6f2f3de..94a20e663fe 100644
--- a/dlls/msvcrt/math.c
+++ b/dlls/msvcrt/math.c
@@ -235,7 +235,8 @@ int CDECL MSVCRT__fpclassf( float num )
*/
int CDECL MSVCRT__finitef( float num )
{
- return finitef(num) != 0; /* See comment for _isnan() */
+ union { float f; UINT32 i; } u = { num };
+ return (u.i & 0x7fffffff) < 0x7f800000;
}
/*********************************************************************
@@ -2138,7 +2139,8 @@ double CDECL MSVCRT__copysign(double num, double sign)
*/
int CDECL MSVCRT__finite(double num)
{
- return isfinite(num) != 0; /* See comment for _isnan() */
+ union { double f; UINT64 i; } u = { num };
+ return (u.i & ~0ull >> 1) < 0x7ffull << 52;
}
/*********************************************************************
More information about the wine-cvs
mailing list