casinl.c 379 B

1234567891011121314151617181920
  1. #include "libm.h"
  2. #if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
  3. long double complex casinl(long double complex z)
  4. {
  5. return casin(z);
  6. }
  7. #else
  8. // FIXME
  9. long double complex casinl(long double complex z)
  10. {
  11. long double complex w;
  12. long double x, y;
  13. x = creall(z);
  14. y = cimagl(z);
  15. w = CMPLXL(1.0 - (x - y)*(x + y), -2.0*x*y);
  16. return clogl(CMPLXL(-y, x) + csqrtl(w));
  17. }
  18. #endif