diff options
Diffstat (limited to 'src/complex/cacosh.c')
-rw-r--r-- | src/complex/cacosh.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/complex/cacosh.c b/src/complex/cacosh.c new file mode 100644 index 0000000..76127f7 --- /dev/null +++ b/src/complex/cacosh.c @@ -0,0 +1,12 @@ +#include "complex_impl.h" + +/* acosh(z) = i acos(z) */ + +double complex cacosh(double complex z) +{ + int zineg = signbit(cimag(z)); + + z = cacos(z); + if (zineg) return CMPLX(cimag(z), -creal(z)); + else return CMPLX(-cimag(z), creal(z)); +} |