Index: fusl/src/complex/cacos.c |
diff --git a/fusl/src/complex/cacos.c b/fusl/src/complex/cacos.c |
new file mode 100644 |
index 0000000000000000000000000000000000000000..27c356364c8c6ffe438767352195e791ed03a23f |
--- /dev/null |
+++ b/fusl/src/complex/cacos.c |
@@ -0,0 +1,11 @@ |
+#include "libm.h" |
+ |
+// FIXME: Hull et al. "Implementing the complex arcsine and arccosine functions using exception handling" 1997 |
+ |
+/* acos(z) = pi/2 - asin(z) */ |
+ |
+double complex cacos(double complex z) |
+{ |
+ z = casin(z); |
+ return CMPLX(M_PI_2 - creal(z), -cimag(z)); |
+} |