Mercurial > mxe-octave
changeset 6354:9d1395334e68
mingw-w64: Handle negative zero input for cacosh (bug #49091).
* src/mingw-w64-complex-inverse-trig.patch: Handle negative zero input for
cacosh.
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Fri, 05 Aug 2022 19:32:03 +0200 |
parents | 2e45c970becf |
children | 947f8511e9d1 |
files | src/mingw-w64-complex-inverse-trig.patch |
diffstat | 1 files changed, 35 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/mingw-w64-complex-inverse-trig.patch Wed Aug 03 16:37:58 2022 -0400 +++ b/src/mingw-w64-complex-inverse-trig.patch Fri Aug 05 19:32:03 2022 +0200 @@ -67,7 +67,7 @@ + /* For large z, z + sqrt(z*z - 1) is approximately 2*z. + Use that approximation to avoid overflow when squaring. + Additionally, use symmetries to perform the calculation in the positive -+ half plain. */ ++ half plane. */ + __real__ x = __real__ z; + __imag__ x = __FLT_ABI(fabs) (__imag__ z); + x = __FLT_ABI(clog) (x); @@ -86,3 +86,37 @@ -- 2.35.3.windows.1 +From 9fcac91fc50120a5e6acfa94ba0a917c7faf2306 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Markus=20M=C3=BCtzel?= <markus.muetzel@gmx.de> +Date: Fri, 5 Aug 2022 18:36:49 +0200 +Subject: [PATCH] cacosh: Handle negative zero input + +--- + mingw-w64-crt/complex/cacosh.def.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/mingw-w64-crt/complex/cacosh.def.h b/mingw-w64-crt/complex/cacosh.def.h +index 1f03befae..addf2958e 100644 +--- a/mingw-w64-crt/complex/cacosh.def.h ++++ b/mingw-w64-crt/complex/cacosh.def.h +@@ -106,7 +106,7 @@ __FLT_ABI(cacosh) (__FLT_TYPE __complex__ z) + + x = __FLT_ABI(csqrt) (x); + +- if (__real__ z < __FLT_CST(0.0)) ++ if (__FLT_ABI(signbit) (__real__ z)) + x = -x; + + __real__ x += __real__ z; +@@ -114,7 +114,7 @@ __FLT_ABI(cacosh) (__FLT_TYPE __complex__ z) + + ret = __FLT_ABI(clog) (x); + +- if (__real__ ret < __FLT_CST(0.0)) ++ if (__FLT_ABI(signbit) (__real__ ret)) + ret = -ret; + + return ret; +-- +2.35.3.windows.1 +