Martin Storsjo : msvcrt: Fix the fallback implementation of asinh for large negative values.

Alexandre Julliard julliard at winehq.org
Thu Apr 25 16:39:26 CDT 2019


Module: wine
Branch: master
Commit: fc1107382b7f965103476babee74e74854f167e6
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=fc1107382b7f965103476babee74e74854f167e6

Author: Martin Storsjo <martin at martin.st>
Date:   Tue Apr 23 10:00:04 2019 +0300

msvcrt: Fix the fallback implementation of asinh for large negative values.

Signed-off-by: Martin Storsjo <martin at martin.st>
Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/msvcrt/math.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c
index c893c83..21f1f9b 100644
--- a/dlls/msvcrt/math.c
+++ b/dlls/msvcrt/math.c
@@ -3063,7 +3063,10 @@ double CDECL MSVCR120_asinh(double x)
 #ifdef HAVE_ASINH
     return asinh(x);
 #else
-    if (!isfinite(x*x+1)) return log(2) + log(x);
+    if (!isfinite(x*x+1)) {
+      if (x > 0) return log(2) + log(x);
+      else return -log(2) - log(-x);
+    }
     return log(x + sqrt(x*x+1));
 #endif
 }




More information about the wine-cvs mailing list