xref: /aosp_15_r20/external/musl/src/complex/cacosh.c (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker #include "complex_impl.h"
2*c9945492SAndroid Build Coastguard Worker 
3*c9945492SAndroid Build Coastguard Worker /* acosh(z) = ±i acos(z) */
4*c9945492SAndroid Build Coastguard Worker 
cacosh(double complex z)5*c9945492SAndroid Build Coastguard Worker double complex cacosh(double complex z)
6*c9945492SAndroid Build Coastguard Worker {
7*c9945492SAndroid Build Coastguard Worker 	int zineg = signbit(cimag(z));
8*c9945492SAndroid Build Coastguard Worker 
9*c9945492SAndroid Build Coastguard Worker 	z = cacos(z);
10*c9945492SAndroid Build Coastguard Worker 	if (zineg) return CMPLX(cimag(z), -creal(z));
11*c9945492SAndroid Build Coastguard Worker 	else       return CMPLX(-cimag(z), creal(z));
12*c9945492SAndroid Build Coastguard Worker }
13