zdiv.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /* zdiv.f -- translated by f2c (version 20100827).
  2. This file no longer depends on f2c.
  3. */
  4. #include "slatec-internal.hpp"
  5. int zdiv_(double const *ar, double const *ai, double const *br,
  6. double const *bi, double *cr, double *ci)
  7. {
  8. double ca, cb, cc, cd, bm;
  9. /* ***BEGIN PROLOGUE ZDIV */
  10. /* ***SUBSIDIARY */
  11. /* ***PURPOSE Subsidiary to ZBESH, ZBESI, ZBESJ, ZBESK, ZBESY, ZAIRY and */
  12. /* ZBIRY */
  13. /* ***LIBRARY SLATEC */
  14. /* ***TYPE ALL (ZDIV-A) */
  15. /* ***AUTHOR Amos, D. E., (SNL) */
  16. /* ***DESCRIPTION */
  17. /* DOUBLE PRECISION COMPLEX DIVIDE C=A/B. */
  18. /* ***SEE ALSO ZAIRY, ZBESH, ZBESI, ZBESJ, ZBESK, ZBESY, ZBIRY */
  19. /* ***ROUTINES CALLED ZABS */
  20. /* ***REVISION HISTORY (YYMMDD) */
  21. /* 830501 DATE WRITTEN */
  22. /* 910415 Prologue converted to Version 4.0 format. (BAB) */
  23. /* ***END PROLOGUE ZDIV */
  24. /* ***FIRST EXECUTABLE STATEMENT ZDIV */
  25. bm = 1. / zabs_(br, bi);
  26. cc = *br * bm;
  27. cd = *bi * bm;
  28. ca = (*ar * cc + *ai * cd) * bm;
  29. cb = (*ai * cc - *ar * cd) * bm;
  30. *cr = ca;
  31. *ci = cb;
  32. return 0;
  33. } /* zdiv_ */