Daniel Lehman : msvcr120: Add asinh.
Alexandre Julliard
julliard at wine.codeweavers.com
Thu Mar 31 11:42:56 CDT 2016
Module: wine
Branch: master
Commit: e084240415f8f1b31362b1519675b4613d4afded
URL: http://source.winehq.org/git/wine.git/?a=commit;h=e084240415f8f1b31362b1519675b4613d4afded
Author: Daniel Lehman <dlehman at esri.com>
Date: Mon Mar 28 12:00:35 2016 -0700
msvcr120: Add asinh.
Signed-off-by: Daniel Lehman <dlehman at esri.com>
Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
configure | 2 ++
configure.ac | 2 ++
.../api-ms-win-crt-math-l1-1-0.spec | 6 ++--
dlls/msvcr120/msvcr120.spec | 6 ++--
dlls/msvcr120_app/msvcr120_app.spec | 6 ++--
dlls/msvcrt/math.c | 34 ++++++++++++++++++++++
dlls/ucrtbase/ucrtbase.spec | 6 ++--
include/config.h.in | 6 ++++
8 files changed, 56 insertions(+), 12 deletions(-)
diff --git a/configure b/configure
index c1abf1f..27afbc0 100755
--- a/configure
+++ b/configure
@@ -16858,6 +16858,8 @@ $as_echo "#define HAVE_ISNAN 1" >>confdefs.h
fi
for ac_func in \
+ asinh \
+ asinhf \
cbrt \
cbrtf \
erf \
diff --git a/configure.ac b/configure.ac
index c89aa08..20478df 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2516,6 +2516,8 @@ then
fi
AC_CHECK_FUNCS(\
+ asinh \
+ asinhf \
cbrt \
cbrtf \
erf \
diff --git a/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec b/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec
index 1ea4f2d..fcfc8b4 100644
--- a/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec
+++ b/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec
@@ -129,9 +129,9 @@
@ stub acoshl
@ cdecl asin(double) ucrtbase.asin
@ cdecl -arch=arm,x86_64 asinf(float) ucrtbase.asinf
-@ stub asinh
-@ stub asinhf
-@ stub asinhl
+@ cdecl asinh(double double) ucrtbase.asinh
+@ cdecl asinhf(float float) ucrtbase.asinhf
+@ cdecl asinhl(double double) ucrtbase.asinhl
@ cdecl atan(double) ucrtbase.atan
@ cdecl atan2(double double) ucrtbase.atan2
@ cdecl -arch=arm,x86_64 atan2f(float float) ucrtbase.atan2f
diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index dee7fd5..dc0c266 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -2018,9 +2018,9 @@
@ cdecl asctime_s(ptr long ptr) MSVCRT_asctime_s
@ cdecl asin(double) MSVCRT_asin
@ cdecl -arch=arm,x86_64 asinf(float) MSVCRT_asinf
-@ stub asinh
-@ stub asinhf
-@ stub asinhl
+@ cdecl asinh(double double) MSVCR120_asinh
+@ cdecl asinhf(float float) MSVCR120_asinhf
+@ cdecl asinhl(double double) MSVCR120_asinhl
@ cdecl atan(double) MSVCRT_atan
@ cdecl -arch=arm,x86_64 atanf(float) MSVCRT_atanf
@ cdecl atan2(double double) MSVCRT_atan2
diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec
index f5dba67..c7810cd 100644
--- a/dlls/msvcr120_app/msvcr120_app.spec
+++ b/dlls/msvcr120_app/msvcr120_app.spec
@@ -1684,9 +1684,9 @@
@ cdecl asctime_s(ptr long ptr) msvcr120.asctime_s
@ cdecl asin(double) msvcr120.asin
@ cdecl -arch=arm,x86_64 asinf(float) msvcr120.asinf
-@ stub asinh
-@ stub asinhf
-@ stub asinhl
+@ cdecl asinh(double double) msvcr120.asinh
+@ cdecl asinhf(float float) msvcr120.asinhf
+@ cdecl asinhl(double double) msvcr120.asinhl
@ cdecl atan(double) msvcr120.atan
@ cdecl -arch=arm,x86_64 atanf(float) msvcr120.atanf
@ cdecl atan2(double double) msvcr120.atan2
diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c
index 0a3f2da..4150cfc 100644
--- a/dlls/msvcrt/math.c
+++ b/dlls/msvcrt/math.c
@@ -2743,3 +2743,37 @@ double CDECL MSVCR120_fmin(double x, double y)
return signbit(x) ? x : y;
return x<y ? x : y;
}
+
+/*********************************************************************
+ * asinh (MSVCR120.@)
+ */
+double CDECL MSVCR120_asinh(double x)
+{
+#ifdef HAVE_ASINH
+ return asinh(x);
+#else
+ FIXME( "not implemented\n" );
+ return 0.0;
+#endif
+}
+
+/*********************************************************************
+ * asinhf (MSVCR120.@)
+ */
+float CDECL MSVCR120_asinhf(float x)
+{
+#ifdef HAVE_ASINHF
+ return asinhf(x);
+#else
+ FIXME( "not implemented\n" );
+ return 0.0f;
+#endif
+}
+
+/*********************************************************************
+ * asinhl (MSVCR120.@)
+ */
+LDOUBLE CDECL MSVCR120_asinhl(LDOUBLE x)
+{
+ return MSVCR120_asinh(x);
+}
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index 3bbab33..16bc133 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -2160,9 +2160,9 @@
@ cdecl asctime_s(ptr long ptr) MSVCRT_asctime_s
@ cdecl asin(double) MSVCRT_asin
@ cdecl -arch=arm,x86_64 asinf(float) MSVCRT_asinf
-@ stub asinh
-@ stub asinhf
-@ stub asinhl
+@ cdecl asinh(double double) MSVCR120_asinh
+@ cdecl asinhf(float float) MSVCR120_asinhf
+@ cdecl asinhl(double double) MSVCR120_asinhl
@ cdecl atan(double) MSVCRT_atan
@ cdecl atan2(double double) MSVCRT_atan2
@ cdecl -arch=arm,x86_64 atan2f(float float) MSVCRT_atan2f
diff --git a/include/config.h.in b/include/config.h.in
index 86da1a5..cb0ddd6 100644
--- a/include/config.h.in
+++ b/include/config.h.in
@@ -32,6 +32,12 @@
/* Define to 1 if you have the `asctime_r' function. */
#undef HAVE_ASCTIME_R
+/* Define to 1 if you have the `asinh' function. */
+#undef HAVE_ASINH
+
+/* Define to 1 if you have the `asinhf' function. */
+#undef HAVE_ASINHF
+
/* Define to 1 if you have the <asm/types.h> header file. */
#undef HAVE_ASM_TYPES_H
More information about the wine-cvs
mailing list