You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

cladiv.f 2.3 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. *> \brief \b CLADIV performs complex division in real arithmetic, avoiding unnecessary overflow.
  2. *
  3. * =========== DOCUMENTATION ===========
  4. *
  5. * Online html documentation available at
  6. * http://www.netlib.org/lapack/explore-html/
  7. *
  8. *> \htmlonly
  9. *> Download CLADIV + dependencies
  10. *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/cladiv.f">
  11. *> [TGZ]</a>
  12. *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/cladiv.f">
  13. *> [ZIP]</a>
  14. *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cladiv.f">
  15. *> [TXT]</a>
  16. *> \endhtmlonly
  17. *
  18. * Definition:
  19. * ===========
  20. *
  21. * COMPLEX FUNCTION CLADIV( X, Y )
  22. *
  23. * .. Scalar Arguments ..
  24. * COMPLEX X, Y
  25. * ..
  26. *
  27. *
  28. *> \par Purpose:
  29. * =============
  30. *>
  31. *> \verbatim
  32. *>
  33. *> CLADIV := X / Y, where X and Y are complex. The computation of X / Y
  34. *> will not overflow on an intermediary step unless the results
  35. *> overflows.
  36. *> \endverbatim
  37. *
  38. * Arguments:
  39. * ==========
  40. *
  41. *> \param[in] X
  42. *> \verbatim
  43. *> X is COMPLEX
  44. *> \endverbatim
  45. *>
  46. *> \param[in] Y
  47. *> \verbatim
  48. *> Y is COMPLEX
  49. *> The complex scalars X and Y.
  50. *> \endverbatim
  51. *
  52. * Authors:
  53. * ========
  54. *
  55. *> \author Univ. of Tennessee
  56. *> \author Univ. of California Berkeley
  57. *> \author Univ. of Colorado Denver
  58. *> \author NAG Ltd.
  59. *
  60. *> \ingroup complexOTHERauxiliary
  61. *
  62. * =====================================================================
  63. COMPLEX FUNCTION CLADIV( X, Y )
  64. *
  65. * -- LAPACK auxiliary routine --
  66. * -- LAPACK is a software package provided by Univ. of Tennessee, --
  67. * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
  68. *
  69. * .. Scalar Arguments ..
  70. COMPLEX X, Y
  71. * ..
  72. *
  73. * =====================================================================
  74. *
  75. * .. Local Scalars ..
  76. REAL ZI, ZR
  77. * ..
  78. * .. External Subroutines ..
  79. EXTERNAL SLADIV
  80. * ..
  81. * .. Intrinsic Functions ..
  82. INTRINSIC AIMAG, CMPLX, REAL
  83. * ..
  84. * .. Executable Statements ..
  85. *
  86. CALL SLADIV( REAL( X ), AIMAG( X ), REAL( Y ), AIMAG( Y ), ZR,
  87. $ ZI )
  88. CLADIV = CMPLX( ZR, ZI )
  89. *
  90. RETURN
  91. *
  92. * End of CLADIV
  93. *
  94. END