summaryrefslogtreecommitdiff
path: root/system/musl/complex-math.patch
diff options
context:
space:
mode:
Diffstat (limited to 'system/musl/complex-math.patch')
-rw-r--r--system/musl/complex-math.patch59
1 files changed, 0 insertions, 59 deletions
diff --git a/system/musl/complex-math.patch b/system/musl/complex-math.patch
deleted file mode 100644
index fff4b59c1..000000000
--- a/system/musl/complex-math.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From ae2a01da2e388535da243b3d974aef74a3c06ae0 Mon Sep 17 00:00:00 2001
-From: Rich Felker <dalias@aerifal.cx>
-Date: Mon, 9 Apr 2018 12:33:17 -0400
-Subject: fix wrong result in casin and many related complex functions
-
-the factor of -i noted in the comment at the top of casin.c was
-omitted from the actual code, yielding a result rotated 90 degrees and
-propagating into errors in other functions defined in terms of casin.
-
-implement multiplication by -i as a rotation of the real and imaginary
-parts of the result, rather than by actual multiplication, since the
-latter cannot be optimized without knowledge that the operand is
-finite. here, the rotation is the actual intent, anyway.
----
- src/complex/casin.c | 3 ++-
- src/complex/casinf.c | 3 ++-
- src/complex/casinl.c | 3 ++-
- 3 files changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/src/complex/casin.c b/src/complex/casin.c
-index dfdda98..01ed618 100644
---- a/src/complex/casin.c
-+++ b/src/complex/casin.c
-@@ -12,5 +12,6 @@ double complex casin(double complex z)
- x = creal(z);
- y = cimag(z);
- w = CMPLX(1.0 - (x - y)*(x + y), -2.0*x*y);
-- return clog(CMPLX(-y, x) + csqrt(w));
-+ double complex r = clog(CMPLX(-y, x) + csqrt(w));
-+ return CMPLX(cimag(r), -creal(r));
- }
-diff --git a/src/complex/casinf.c b/src/complex/casinf.c
-index 93f0e33..4fcb76f 100644
---- a/src/complex/casinf.c
-+++ b/src/complex/casinf.c
-@@ -10,5 +10,6 @@ float complex casinf(float complex z)
- x = crealf(z);
- y = cimagf(z);
- w = CMPLXF(1.0 - (x - y)*(x + y), -2.0*x*y);
-- return clogf(CMPLXF(-y, x) + csqrtf(w));
-+ float complex r = clogf(CMPLXF(-y, x) + csqrtf(w));
-+ return CMPLXF(cimagf(r), -crealf(r));
- }
-diff --git a/src/complex/casinl.c b/src/complex/casinl.c
-index 0916c60..3b7ceba 100644
---- a/src/complex/casinl.c
-+++ b/src/complex/casinl.c
-@@ -15,6 +15,7 @@ long double complex casinl(long double complex z)
- x = creall(z);
- y = cimagl(z);
- w = CMPLXL(1.0 - (x - y)*(x + y), -2.0*x*y);
-- return clogl(CMPLXL(-y, x) + csqrtl(w));
-+ long double complex r = clogl(CMPLXL(-y, x) + csqrtl(w));
-+ return CMPLXL(cimagl(r), -creall(r));
- }
- #endif
---
-cgit v0.11.2
-