1 #include "complex_impl.h" 2 3 // FIXME 4 5 /* asin(z) = -i log(i z + sqrt(1 - z*z)) */ 6 casin(double complex z)7double complex casin(double complex z) 8 { 9 double complex w; 10 double x, y; 11 12 x = creal(z); 13 y = cimag(z); 14 w = CMPLX(1.0 - (x - y)*(x + y), -2.0*x*y); 15 double complex r = clog(CMPLX(-y, x) + csqrt(w)); 16 return CMPLX(cimag(r), -creal(r)); 17 } 18