Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
860c1578
Commit
860c1578
authored
Jul 12, 2017
by
Alex Henrie
Committed by
Alexandre Julliard
Jul 13, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcr120: Add atanh.
Signed-off-by:
Alex Henrie
<
alexhenrie24@gmail.com
>
Signed-off-by:
Piotr Caban
<
piotr@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
f1dad148
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
88 additions
and
12 deletions
+88
-12
configure
configure
+2
-0
configure.ac
configure.ac
+2
-0
api-ms-win-crt-math-l1-1-0.spec
...pi-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec
+3
-3
msvcr120.spec
dlls/msvcr120/msvcr120.spec
+3
-3
msvcr120_app.spec
dlls/msvcr120_app/msvcr120_app.spec
+3
-3
math.c
dlls/msvcrt/math.c
+66
-0
ucrtbase.spec
dlls/ucrtbase/ucrtbase.spec
+3
-3
config.h.in
include/config.h.in
+6
-0
No files found.
configure
View file @
860c1578
...
...
@@ -17410,6 +17410,8 @@ for ac_func in \
acoshf
\
asinh
\
asinhf
\
atanh
\
atanhf
\
cbrt
\
cbrtf
\
erf
\
...
...
configure.ac
View file @
860c1578
...
...
@@ -2598,6 +2598,8 @@ AC_CHECK_FUNCS(\
acoshf \
asinh \
asinhf \
atanh \
atanhf \
cbrt \
cbrtf \
erf \
...
...
dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec
View file @
860c1578
...
...
@@ -136,9 +136,9 @@
@ cdecl atan2(double double) ucrtbase.atan2
@ cdecl -arch=arm,x86_64 atan2f(float float) ucrtbase.atan2f
@ cdecl -arch=arm,x86_64 atanf(float) ucrtbase.atanf
@
stub
atanh
@
stub
atanhf
@
stub
atanhl
@
cdecl atanh(double) ucrtbase.
atanh
@
cdecl atanhf(float) ucrtbase.
atanhf
@
cdecl atanhl(double) ucrtbase.
atanhl
@ stub cabs
@ stub cabsf
@ stub cabsl
...
...
dlls/msvcr120/msvcr120.spec
View file @
860c1578
...
...
@@ -2025,9 +2025,9 @@
@ cdecl -arch=arm,x86_64 atanf(float) MSVCRT_atanf
@ cdecl atan2(double double) MSVCRT_atan2
@ cdecl -arch=arm,x86_64 atan2f(float float) MSVCRT_atan2f
@
stub
atanh
@
stub
atanhf
@
stub
atanhl
@
cdecl atanh(double) MSVCR120_
atanh
@
cdecl atanhf(float) MSVCR120_
atanhf
@
cdecl atanhl(double) MSVCR120_
atanhl
@ cdecl -private atexit(ptr) MSVCRT_atexit # not imported to avoid conflicts with Mingw
@ cdecl atof(str) MSVCRT_atof
@ cdecl atoi(str) MSVCRT_atoi
...
...
dlls/msvcr120_app/msvcr120_app.spec
View file @
860c1578
...
...
@@ -1691,9 +1691,9 @@
@ cdecl -arch=arm,x86_64 atanf(float) msvcr120.atanf
@ cdecl atan2(double double) msvcr120.atan2
@ cdecl -arch=arm,x86_64 atan2f(float float) msvcr120.atan2f
@
stub
atanh
@
stub
atanhf
@
stub
atanhl
@
cdecl atanh(double) msvcr120.
atanh
@
cdecl atanhf(float) msvcr120.
atanhf
@
cdecl atanhl(double) msvcr120.
atanhl
@ cdecl -private atexit(ptr) msvcr120.atexit
@ cdecl atof(str) msvcr120.atof
@ cdecl atoi(str) msvcr120.atoi
...
...
dlls/msvcrt/math.c
View file @
860c1578
...
...
@@ -2944,6 +2944,72 @@ LDOUBLE CDECL MSVCR120_acoshl(LDOUBLE x)
}
/*********************************************************************
* atanh (MSVCR120.@)
*/
double
CDECL
MSVCR120_atanh
(
double
x
)
{
double
ret
;
if
(
x
>
1
||
x
<
-
1
)
{
MSVCRT_fenv_t
env
;
*
MSVCRT__errno
()
=
MSVCRT_EDOM
;
/* on Linux atanh returns -NAN in this case */
MSVCRT_fegetenv
(
&
env
);
env
.
status
|=
MSVCRT__SW_INVALID
;
MSVCRT_fesetenv
(
&
env
);
return
NAN
;
}
#ifdef HAVE_ATANH
ret
=
atanh
(
x
);
#else
if
(
-
1e-6
<
x
&&
x
<
1e-6
)
ret
=
x
+
x
*
x
*
x
/
3
;
else
ret
=
(
log
(
1
+
x
)
-
log
(
1
-
x
))
/
2
;
#endif
if
(
!
isfinite
(
ret
))
*
MSVCRT__errno
()
=
MSVCRT_ERANGE
;
return
ret
;
}
/*********************************************************************
* atanhf (MSVCR120.@)
*/
float
CDECL
MSVCR120_atanhf
(
float
x
)
{
#ifdef HAVE_ATANHF
double
ret
;
if
(
x
>
1
||
x
<
-
1
)
{
MSVCRT_fenv_t
env
;
*
MSVCRT__errno
()
=
MSVCRT_EDOM
;
MSVCRT_fegetenv
(
&
env
);
env
.
status
|=
MSVCRT__SW_INVALID
;
MSVCRT_fesetenv
(
&
env
);
return
NAN
;
}
ret
=
atanhf
(
x
);
if
(
!
isfinite
(
ret
))
*
MSVCRT__errno
()
=
MSVCRT_ERANGE
;
return
ret
;
#else
return
MSVCR120_atanh
(
x
);
#endif
}
/*********************************************************************
* atanhl (MSVCR120.@)
*/
LDOUBLE
CDECL
MSVCR120_atanhl
(
LDOUBLE
x
)
{
return
MSVCR120_atanh
(
x
);
}
/*********************************************************************
* _scalb (MSVCRT.@)
* scalbn (MSVCR120.@)
* scalbln (MSVCR120.@)
...
...
dlls/ucrtbase/ucrtbase.spec
View file @
860c1578
...
...
@@ -2167,9 +2167,9 @@
@ cdecl atan2(double double) MSVCRT_atan2
@ cdecl -arch=arm,x86_64 atan2f(float float) MSVCRT_atan2f
@ cdecl -arch=arm,x86_64 atanf(float) MSVCRT_atanf
@
stub
atanh
@
stub
atanhf
@
stub
atanhl
@
cdecl atanh(double) MSVCR120_
atanh
@
cdecl atanhf(float) MSVCR120_
atanhf
@
cdecl atanhl(double) MSVCR120_
atanhl
@ cdecl atof(str) MSVCRT_atof
@ cdecl atoi(str) MSVCRT_atoi
@ cdecl atol(str) ntdll.atol
...
...
include/config.h.in
View file @
860c1578
...
...
@@ -50,6 +50,12 @@
/* Define to 1 if you have the <asm/user.h> header file. */
#undef HAVE_ASM_USER_H
/* Define to 1 if you have the `atanh' function. */
#undef HAVE_ATANH
/* Define to 1 if you have the `atanhf' function. */
#undef HAVE_ATANHF
/* Define to 1 if you have the <AudioToolbox/AudioConverter.h> header file. */
#undef HAVE_AUDIOTOOLBOX_AUDIOCONVERTER_H
...
...
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