Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
e2924faf
Commit
e2924faf
authored
Mar 31, 2023
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcrt: Use the acosh()/acoshf() implementation from the bundled musl library.
parent
6e9dd141
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
13 additions
and
33 deletions
+13
-33
msvcr120.spec
dlls/msvcr120/msvcr120.spec
+3
-3
math.c
dlls/msvcrt/math.c
+4
-24
ucrtbase.spec
dlls/ucrtbase/ucrtbase.spec
+6
-6
No files found.
dlls/msvcr120/msvcr120.spec
View file @
e2924faf
...
@@ -2012,9 +2012,9 @@
...
@@ -2012,9 +2012,9 @@
@ cdecl abs(long)
@ cdecl abs(long)
@ cdecl acos(double)
@ cdecl acos(double)
@ cdecl -arch=!i386 acosf(float)
@ cdecl -arch=!i386 acosf(float)
@ cdecl acosh(double)
@ cdecl acosh(double)
MSVCRT_acosh
@ cdecl acoshf(float)
@ cdecl acoshf(float)
MSVCRT_acoshf
@ cdecl acoshl(double) acosh
@ cdecl acoshl(double)
MSVCRT_
acosh
@ cdecl asctime(ptr)
@ cdecl asctime(ptr)
@ cdecl asctime_s(ptr long ptr)
@ cdecl asctime_s(ptr long ptr)
@ cdecl asin(double) MSVCRT_asin
@ cdecl asin(double) MSVCRT_asin
...
...
dlls/msvcrt/math.c
View file @
e2924faf
...
@@ -3349,50 +3349,30 @@ int CDECL _fdpcomp(float x, float y)
...
@@ -3349,50 +3349,30 @@ int CDECL _fdpcomp(float x, float y)
/*********************************************************************
/*********************************************************************
* acosh (MSVCR120.@)
* acosh (MSVCR120.@)
*
* Copied from musl: src/math/acosh.c
*/
*/
double
CDECL
acosh
(
double
x
)
double
CDECL
MSVCRT_
acosh
(
double
x
)
{
{
int
e
=
*
(
UINT64
*
)
&
x
>>
52
&
0x7ff
;
if
(
x
<
1
)
if
(
x
<
1
)
{
{
*
_errno
()
=
EDOM
;
*
_errno
()
=
EDOM
;
feraiseexcept
(
FE_INVALID
);
feraiseexcept
(
FE_INVALID
);
return
NAN
;
return
NAN
;
}
}
return
acosh
(
x
);
if
(
e
<
0x3ff
+
1
)
/* |x| < 2, up to 2ulp error in [1,1.125] */
return
log1p
(
x
-
1
+
sqrt
((
x
-
1
)
*
(
x
-
1
)
+
2
*
(
x
-
1
)));
if
(
e
<
0x3ff
+
26
)
/* |x| < 0x1p26 */
return
log
(
2
*
x
-
1
/
(
x
+
sqrt
(
x
*
x
-
1
)));
/* |x| >= 0x1p26 or nan */
return
log
(
x
)
+
0
.
693147180559945309417232121458176568
;
}
}
/*********************************************************************
/*********************************************************************
* acoshf (MSVCR120.@)
* acoshf (MSVCR120.@)
*
* Copied from musl: src/math/acoshf.c
*/
*/
float
CDECL
acoshf
(
float
x
)
float
CDECL
MSVCRT_
acoshf
(
float
x
)
{
{
UINT32
a
=
*
(
UINT32
*
)
&
x
&
0x7fffffff
;
if
(
x
<
1
)
if
(
x
<
1
)
{
{
*
_errno
()
=
EDOM
;
*
_errno
()
=
EDOM
;
feraiseexcept
(
FE_INVALID
);
feraiseexcept
(
FE_INVALID
);
return
NAN
;
return
NAN
;
}
}
return
acoshf
(
x
);
if
(
a
<
0x3f800000
+
(
1
<<
23
))
/* |x| < 2, up to 2ulp error in [1,1.125] */
return
log1pf
(
x
-
1
+
sqrtf
((
x
-
1
)
*
(
x
-
1
)
+
2
*
(
x
-
1
)));
if
(
*
(
UINT32
*
)
&
x
<
0x3f800000
+
(
12
<<
23
))
/* 2 <= x < 0x1p12 */
return
logf
(
2
*
x
-
1
/
(
x
+
sqrtf
(
x
*
x
-
1
)));
/* x >= 0x1p12 or x <= -2 or nan */
return
logf
(
x
)
+
0
.
693147180559945309417232121458176568
f
;
}
}
/*********************************************************************
/*********************************************************************
...
...
dlls/ucrtbase/ucrtbase.spec
View file @
e2924faf
...
@@ -1562,9 +1562,9 @@
...
@@ -1562,9 +1562,9 @@
@ cdecl _o_abort() abort
@ cdecl _o_abort() abort
@ cdecl _o_acos(double) acos
@ cdecl _o_acos(double) acos
@ cdecl -arch=!i386 _o_acosf(float) acosf
@ cdecl -arch=!i386 _o_acosf(float) acosf
@ cdecl _o_acosh(double) acosh
@ cdecl _o_acosh(double)
MSVCRT_
acosh
@ cdecl _o_acoshf(float) acoshf
@ cdecl _o_acoshf(float)
MSVCRT_
acoshf
@ cdecl _o_acoshl(double) acosh
@ cdecl _o_acoshl(double)
MSVCRT_
acosh
@ cdecl _o_asctime(ptr) asctime
@ cdecl _o_asctime(ptr) asctime
@ cdecl _o_asctime_s(ptr long ptr) asctime_s
@ cdecl _o_asctime_s(ptr long ptr) asctime_s
@ cdecl _o_asin(double) MSVCRT_asin
@ cdecl _o_asin(double) MSVCRT_asin
...
@@ -2156,9 +2156,9 @@
...
@@ -2156,9 +2156,9 @@
@ cdecl abs(long)
@ cdecl abs(long)
@ cdecl acos(double)
@ cdecl acos(double)
@ cdecl -arch=!i386 acosf(float)
@ cdecl -arch=!i386 acosf(float)
@ cdecl acosh(double)
@ cdecl acosh(double)
MSVCRT_acosh
@ cdecl acoshf(float)
@ cdecl acoshf(float)
MSVCRT_acoshf
@ cdecl acoshl(double) acosh
@ cdecl acoshl(double)
MSVCRT_
acosh
@ cdecl asctime(ptr)
@ cdecl asctime(ptr)
@ cdecl asctime_s(ptr long ptr)
@ cdecl asctime_s(ptr long ptr)
@ cdecl asin(double) MSVCRT_asin
@ cdecl asin(double) MSVCRT_asin
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment