mq_notify: block all (application) signals in the worker thread
[musl] / src / complex / cacoshl.c
index 6534255..3a284be 100644 (file)
@@ -1,4 +1,4 @@
-#include "libm.h"
+#include "complex_impl.h"
 
 #if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
 long double complex cacoshl(long double complex z)
@@ -8,7 +8,10 @@ long double complex cacoshl(long double complex z)
 #else
 long double complex cacoshl(long double complex z)
 {
+       int zineg = signbit(cimagl(z));
+
        z = cacosl(z);
-       return CMPLXL(-cimagl(z), creall(z));
+       if (zineg) return CMPLXL(cimagl(z), -creall(z));
+       else       return CMPLXL(-cimagl(z), creall(z));
 }
 #endif