casinf.c 281 B

123456789101112131415
  1. #include "complex_impl.h"
  2. // FIXME
  3. float complex casinf(float complex z)
  4. {
  5. float complex w;
  6. float x, y;
  7. x = crealf(z);
  8. y = cimagf(z);
  9. w = CMPLXF(1.0 - (x - y)*(x + y), -2.0*x*y);
  10. float complex r = clogf(CMPLXF(-y, x) + csqrtf(w));
  11. return CMPLXF(cimagf(r), -crealf(r));
  12. }