xref: /aosp_15_r20/external/musl/src/complex/casinl.c (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1 #include "complex_impl.h"
2 
3 #if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
casinl(long double complex z)4 long double complex casinl(long double complex z)
5 {
6 	return casin(z);
7 }
8 #else
9 // FIXME
casinl(long double complex z)10 long double complex casinl(long double complex z)
11 {
12 	long double complex w;
13 	long double x, y;
14 
15 	x = creall(z);
16 	y = cimagl(z);
17 	w = CMPLXL(1.0 - (x - y)*(x + y), -2.0*x*y);
18 	long double complex r = clogl(CMPLXL(-y, x) + csqrtl(w));
19 	return CMPLXL(cimagl(r), -creall(r));
20 }
21 #endif
22