xref: /aosp_15_r20/external/musl/src/complex/casinf.c (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker #include "complex_impl.h"
2*c9945492SAndroid Build Coastguard Worker 
3*c9945492SAndroid Build Coastguard Worker // FIXME
4*c9945492SAndroid Build Coastguard Worker 
casinf(float complex z)5*c9945492SAndroid Build Coastguard Worker float complex casinf(float complex z)
6*c9945492SAndroid Build Coastguard Worker {
7*c9945492SAndroid Build Coastguard Worker 	float complex w;
8*c9945492SAndroid Build Coastguard Worker 	float x, y;
9*c9945492SAndroid Build Coastguard Worker 
10*c9945492SAndroid Build Coastguard Worker 	x = crealf(z);
11*c9945492SAndroid Build Coastguard Worker 	y = cimagf(z);
12*c9945492SAndroid Build Coastguard Worker 	w = CMPLXF(1.0 - (x - y)*(x + y), -2.0*x*y);
13*c9945492SAndroid Build Coastguard Worker 	float complex r = clogf(CMPLXF(-y, x) + csqrtf(w));
14*c9945492SAndroid Build Coastguard Worker 	return CMPLXF(cimagf(r), -crealf(r));
15*c9945492SAndroid Build Coastguard Worker }
16