Visible to Intel only — GUID: GUID-537CE242-303F-4A0A-9D37-3BBA702D903C
Visible to Intel only — GUID: GUID-537CE242-303F-4A0A-9D37-3BBA702D903C
DBESJ0, DBESJ1, DBESJN, DBESY0, DBESY1, DBESYN
Portability Functions: Compute the double-precision values of Bessel functions of the first and second kinds.
Module
USE IFPORT
result = DBESJ0 (value)
result = DBESJ1 (value)
result = DBESJN (n, value)
result = DBESY0 (posvalue)
result = DBESY1 (posvalue)
result = DBESYN (n, posvalue)
value |
(Input) REAL(8). Independent variable for a Bessel function. |
n |
(Input) INTEGER(4). Specifies the order of the selected Bessel function computation. |
posvalue |
(Input) REAL(8). Independent variable for a Bessel function. Must be greater than or equal to zero. |
Results
DBESJ0, DBESJ1, and DBESJN return Bessel functions of the first kind, orders 0, 1, and n, respectively, with the independent variable value.
DBESY0, DBESY1, and DBESYN return Bessel functions of the second kind, orders 0, 1, and n, respectively, with the independent variable posvalue.
Negative arguments cause DBESY0, DBESY1, and DBESYN to return a huge negative value.
Bessel functions are explained more fully in most mathematics reference books, such as the Handbook of Mathematical Functions(Abramowitz and Stegun. Washington: U.S. Government Printing Office, 1964). These functions are commonly used in the mathematics of electromagnetic wave theory.
See the descriptions of the BESSEL_* functions, if you need to use quad-precision (REAL(16)).
Example
USE IFPORT
real(8) besnum, besout
10 read *, besnum
besout = dbesj0(besnum)
print *, 'result is ',besout
goto 10
end