| #include "libm.h" | |
| #if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024 | |
| long double complex casinl(long double complex z) { | |
| return casin(z); | |
| } | |
| #else | |
| // FIXME | |
| long double complex casinl(long double complex z) { | |
| long double complex w; | |
| long double x, y; | |
| x = creall(z); | |
| y = cimagl(z); | |
| w = CMPLXL(1.0 - (x - y) * (x + y), -2.0 * x * y); | |
| return clogl(CMPLXL(-y, x) + csqrtl(w)); | |
| } | |
| #endif |