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