Hi,
To speed things up, i would like to do it as shown in the attached patch, is 
that ok with you?
(NOTE: on ARM, double == long double)
commit f80874fdd29e66bef2d28843656be84344031c39
Author: André Hentschel <n...@dawncrow.de>
Date:   Fri Aug 15 00:03:11 2014 +0200

    softmath: Add acoshl

diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index ca92c6a..3f34dec 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -227,7 +227,7 @@ src_libmingwex=\
   math/log2l.S          math/nearbyint.S   math/nearbyintf.S     math/nearbyintl.S    \
   math/remainderl.S     math/remquo.S      math/remquof.S        math/remquol.S       \
   math/scalbnl.S        math/sinl_internal.S  math/tanl.S        math/trunc.S         math/truncf.S        \
-  math/acoshl.c         math/acosl.c       \
+  math/acosl.c          \
   math/asinhl.c         math/asinl.c       math/atan2l.c         \
   math/atanhl.c         math/atanl.c       math/cbrt.c           \
   math/cbrtf.c          math/cbrtl.c       math/cephes_emath.c   math/copysign.c      math/copysignf.c     \
@@ -296,37 +296,37 @@ src_libmingwex=\
 
 # these only go into the 64 bit version:
 src_libmingwex64=\
-  math/acosf.c              math/acosh.c              math/acoshf.c             math/asinf.c              math/asinh.c              \
-  math/asinhf.c             math/atan2f.c             math/atanf.c              math/atanh.c              math/atanhf.c             \
-  math/cos.c                math/cosf.c               math/cossin.c             math/exp.c                math/exp2.S               \
-  math/exp2f.S              math/expm1.c              math/expm1f.c             math/fmod.c               math/fmodf.c              \
-  math/ilogb.S              math/ilogbf.S             math/ldexp.c              math/log1p.S              math/log1pf.S             \
-  math/log2.S               math/log2f.S              math/logb.c               math/logbf.c              math/pow.c                \
-  math/remainder.S          math/remainderf.S         math/scalbn.S             math/scalbnf.S            math/sin.c                \
-  math/sinf.c               math/tanf.c
+  math/acosf.c              math/acosh.c              math/acoshf.c             math/acoshl.c             math/asinf.c              \
+  math/asinh.c              math/asinhf.c             math/atan2f.c             math/atanf.c              math/atanh.c              \
+  math/atanhf.c             math/cos.c                math/cosf.c               math/cossin.c             math/exp.c                \
+  math/exp2.S               math/exp2f.S              math/expm1.c              math/expm1f.c             math/fmod.c               \
+  math/fmodf.c              math/ilogb.S              math/ilogbf.S             math/ldexp.c              math/log1p.S              \
+  math/log1pf.S             math/log2.S               math/log2f.S              math/logb.c               math/logbf.c              \
+  math/pow.c                math/remainder.S          math/remainderf.S         math/scalbn.S             math/scalbnf.S            \
+  math/sin.c                math/sinf.c               math/tanf.c
 
 # these only go into the 32 bit version:
 src_libmingwex32=\
-  math/acosf.c              math/acosh.c              math/acoshf.c             math/asinf.c              math/asinh.c              \
-  math/asinhf.c             math/atan2f.c             math/atanf.c              math/atanh.c              math/atanhf.c             \
-  math/cos.c                math/cosf.c               math/cossin.c             math/exp.c                math/exp2.S               \
-  math/exp2f.S              math/expm1.c              math/expm1f.c             math/fmod.c               math/fmodf.c              \
-  math/ilogb.S              math/ilogbf.S             math/ldexp.c              math/log1p.S              math/log1pf.S             \
-  math/log2.S               math/log2f.S              math/logb.c               math/logbf.c              math/pow.c                \
-  math/remainder.S          math/remainderf.S         math/scalbn.S             math/scalbnf.S            math/sin.c                \
-  math/sinf.c               math/tanf.c
+  math/acosf.c              math/acosh.c              math/acoshf.c             math/acoshl.c             math/asinf.c              \
+  math/asinh.c              math/asinhf.c             math/atan2f.c             math/atanf.c              math/atanh.c              \
+  math/atanhf.c             math/cos.c                math/cosf.c               math/cossin.c             math/exp.c                \
+  math/exp2.S               math/exp2f.S              math/expm1.c              math/expm1f.c             math/fmod.c               \
+  math/fmodf.c              math/ilogb.S              math/ilogbf.S             math/ldexp.c              math/log1p.S              \
+  math/log1pf.S             math/log2.S               math/log2f.S              math/logb.c               math/logbf.c              \
+  math/pow.c                math/remainder.S          math/remainderf.S         math/scalbn.S             math/scalbnf.S            \
+  math/sin.c                math/sinf.c               math/tanf.c
 
 # these only go into the ARM32 version:
 src_libmingwexarm32=\
   math/softmath/e_fmod.c    math/softmath/e_fmodf.c   math/softmath/e_powf.c    \
-  math/softmath/acosf.c     math/softmath/acosh.c     math/softmath/acoshf.c    math/softmath/asinf.c     math/softmath/asinh.c     \
-  math/softmath/asinhf.c    math/softmath/atan2f.c    math/softmath/atanf.c     math/softmath/atanh.c     math/softmath/atanhf.c    \
-  math/softmath/cos.c       math/softmath/cosf.c      math/softmath/exp.c       math/softmath/exp2.c      math/softmath/exp2f.c     \
-  math/softmath/expm1.c     math/softmath/expm1f.c    math/softmath/fmod.c      math/softmath/fmodf.c     math/softmath/ilogb.c     \
-  math/softmath/ilogbf.c    math/softmath/ldexp.c     math/softmath/log1p.c     math/softmath/log1pf.c    math/softmath/log2.c      \
-  math/softmath/log2f.c     math/softmath/logb.c      math/softmath/logbf.c     math/softmath/pow.c       math/softmath/remainder.c \
-  math/softmath/remainderf.c math/softmath/scalbn.c   math/softmath/scalbnf.c   math/softmath/sin.c       math/softmath/sincos.c    \
-  math/softmath/sincosf.c   math/softmath/sinf.c      math/softmath/tanf.c
+  math/softmath/acosf.c     math/softmath/acosh.c     math/softmath/acoshf.c    math/softmath/acoshl.c    math/softmath/asinf.c     \
+  math/softmath/asinh.c     math/softmath/asinhf.c    math/softmath/atan2f.c    math/softmath/atanf.c     math/softmath/atanh.c     \
+  math/softmath/atanhf.c    math/softmath/cos.c       math/softmath/cosf.c      math/softmath/exp.c       math/softmath/exp2.c      \
+  math/softmath/exp2f.c     math/softmath/expm1.c     math/softmath/expm1f.c    math/softmath/fmod.c      math/softmath/fmodf.c     \
+  math/softmath/ilogb.c     math/softmath/ilogbf.c    math/softmath/ldexp.c     math/softmath/log1p.c     math/softmath/log1pf.c    \
+  math/softmath/log2.c      math/softmath/log2f.c     math/softmath/logb.c      math/softmath/logbf.c     math/softmath/pow.c       \
+  math/softmath/remainder.c math/softmath/remainderf.c math/softmath/scalbn.c   math/softmath/scalbnf.c   math/softmath/sin.c       \
+  math/softmath/sincos.c    math/softmath/sincosf.c   math/softmath/sinf.c      math/softmath/tanf.c
 
 
 # These intrinsics are target independent:
diff --git a/mingw-w64-crt/math/softmath/acoshl.c b/mingw-w64-crt/math/softmath/acoshl.c
new file mode 100644
index 0000000..64d2033
--- /dev/null
+++ b/mingw-w64-crt/math/softmath/acoshl.c
@@ -0,0 +1,54 @@
+/*
+ This Software is provided under the Zope Public License (ZPL) Version 2.1.
+
+ Copyright (c) 2014 by the mingw-w64 project
+
+ See the AUTHORS file for the list of contributors to the mingw-w64 project.
+
+ This license has been certified as open source. It has also been designated
+ as GPL compatible by the Free Software Foundation (FSF).
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+   1. Redistributions in source code must retain the accompanying copyright
+      notice, this list of conditions, and the following disclaimer.
+   2. Redistributions in binary form must reproduce the accompanying
+      copyright notice, this list of conditions, and the following disclaimer
+      in the documentation and/or other materials provided with the
+      distribution.
+   3. Names of the copyright holders must not be used to endorse or promote
+      products derived from this software without prior written permission
+      from the copyright holders.
+   4. The right to distribute this software or to use it for any purpose does
+      not give you the right to use Servicemarks (sm) or Trademarks (tm) of
+      the copyright holders.  Use of them is covered by separate agreement
+      with the copyright holders.
+   5. If any files are modified, you must cause the modified files to carry
+      prominent notices stating that you changed the files and the date of
+      any change.
+
+ Disclaimer
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED
+ OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+ EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#include "softmath_private.h"
+
+long double acoshl(long double x)
+{
+#if defined(__arm__) || defined(_ARM_)
+    return acosh(x);
+#else
+#error Not supported on your platform yet
+#endif
+}
------------------------------------------------------------------------------
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to