calgo_683 Module

CALGO 683

Algorithm 683.

Procedures:

  • cexint: Exponential integral

Private procedures:

  • psixn: Digamma function for a positive integer

Author

Donald E. Amos

History

  • 1987-05-15 - Donald E. Amos
    • Original code.
  • 1999-12-28 - Donald E. Amos
  • YYYY-mm-dd - Alan Miller
  • 2025-06-05 - Rodrigo Castro (GitHub: rodpcastro)
    • Removed procedures cexqad and fqcex, which were originally used for testing.
  • 2025-06-06 - Rodrigo Castro (GitHub: rodpcastro)
    • Created abstract interface for single-variable function, which is used by g8 and gaus8.
    • Replaced dp (double precision) by wp (working precision).
    • Fixed typo at gaus8:
      • anib = LOG10(DBLE(RADIX(0.0_wp))) * k / 0.30102000_wp
      • to anib = LOG10(DBLE(RADIX(0.0_wp))) * k / 0.30103000_wp.
  • 2025-07-27 - Rodrigo Castro (GitHub: rodpcastro)
    • Removed procedures g8 and gaus8, which were originally used for testing.
    • Turned psixn into a private function.

References

  1. Donald E. Amos. 1990. Algorithms 683: a portable FORTRAN subroutine for exponential integrals of a complex argument. ACM Trans. Math. Softw. 16, 2 (June 1990), 178–182. https://doi.org/10.1145/78928.78934

Uses

  • module~~calgo_683~~UsesGraph module~calgo_683 calgo_683 module~csf_kinds csf_kinds module~calgo_683->module~csf_kinds iso_fortran_env iso_fortran_env module~csf_kinds->iso_fortran_env

Used by

  • module~~calgo_683~~UsedByGraph module~calgo_683 calgo_683 module~csf_exponential_integral csf_exponential_integral module~csf_exponential_integral->module~calgo_683 module~csf csf module~csf->module~csf_exponential_integral

Subroutines

public subroutine cexint(z, n, kode, tol, m, cy, ierr)

CALGO 683 Exponential integral .

Read more…

Arguments

Type IntentOptional Attributes Name
complex(kind=wp), intent(in) :: z
integer, intent(in) :: n
integer, intent(in) :: kode
real(kind=wp), intent(in) :: tol
integer, intent(in) :: m
complex(kind=wp), intent(out) :: cy(m)
integer, intent(out) :: ierr