You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Rebase against 611c15953e8297ac1762abfb5aeca6665985fc0f.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
From 24730a3c3015b70bbf0685653c44dcbd768f4fd5 Mon Sep 17 00:00:00 2001
|
||||
From 94ca142c68870be4e9dcb898fdc01d574de68e33 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Fri, 10 Apr 2015 07:51:16 +0200
|
||||
Subject: msvcrt: Calculate sinh/cosh/exp/pow with higher precision. (v2)
|
||||
@@ -9,7 +9,7 @@ Based on a patch by Zheng Chen.
|
||||
1 file changed, 59 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c
|
||||
index 079446d04ed..924e3432881 100644
|
||||
index 2001d44a0b4..04b14788919 100644
|
||||
--- a/dlls/msvcrt/math.c
|
||||
+++ b/dlls/msvcrt/math.c
|
||||
@@ -59,6 +59,61 @@ static MSVCRT_matherr_func MSVCRT_default_matherr_func = NULL;
|
||||
@@ -74,16 +74,16 @@ index 079446d04ed..924e3432881 100644
|
||||
void msvcrt_init_math(void)
|
||||
{
|
||||
sse2_supported = sse2_enabled = IsProcessorFeaturePresent( PF_XMMI64_INSTRUCTIONS_AVAILABLE );
|
||||
@@ -398,7 +453,7 @@ double CDECL MSVCRT_cos( double x )
|
||||
@@ -399,7 +454,7 @@ double CDECL MSVCRT_cos( double x )
|
||||
double CDECL MSVCRT_cosh( double x )
|
||||
{
|
||||
if (!isfinite(x)) *MSVCRT__errno() = MSVCRT_EDOM;
|
||||
if (isnan(x)) *MSVCRT__errno() = MSVCRT_EDOM;
|
||||
- return cosh(x);
|
||||
+ return precise_cosh(x);
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
@@ -406,7 +461,7 @@ double CDECL MSVCRT_cosh( double x )
|
||||
@@ -407,7 +462,7 @@ double CDECL MSVCRT_cosh( double x )
|
||||
*/
|
||||
double CDECL MSVCRT_exp( double x )
|
||||
{
|
||||
@@ -92,7 +92,7 @@ index 079446d04ed..924e3432881 100644
|
||||
if (isnan(x)) *MSVCRT__errno() = MSVCRT_EDOM;
|
||||
else if (isfinite(x) && !isfinite(ret)) *MSVCRT__errno() = MSVCRT_ERANGE;
|
||||
return ret;
|
||||
@@ -447,7 +502,7 @@ double CDECL MSVCRT_log10( double x )
|
||||
@@ -448,7 +503,7 @@ double CDECL MSVCRT_log10( double x )
|
||||
double CDECL MSVCRT_pow( double x, double y )
|
||||
{
|
||||
/* FIXME: If x < 0 and y is not integral, set EDOM */
|
||||
@@ -101,10 +101,10 @@ index 079446d04ed..924e3432881 100644
|
||||
if (!isfinite(z)) *MSVCRT__errno() = MSVCRT_EDOM;
|
||||
return z;
|
||||
}
|
||||
@@ -467,7 +522,7 @@ double CDECL MSVCRT_sin( double x )
|
||||
@@ -468,7 +523,7 @@ double CDECL MSVCRT_sin( double x )
|
||||
double CDECL MSVCRT_sinh( double x )
|
||||
{
|
||||
if (!isfinite(x)) *MSVCRT__errno() = MSVCRT_EDOM;
|
||||
if (isnan(x)) *MSVCRT__errno() = MSVCRT_EDOM;
|
||||
- return sinh(x);
|
||||
+ return precise_sinh(x);
|
||||
}
|
||||
|
Reference in New Issue
Block a user