Carlson symmetric forms of elliptic integrals.
These routines are refactored versions of the ones from SLATEC. They have been converted into modern Fortran, and the documentation has been converted to FORD syntax.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public, | parameter | :: | carlson_elliptic_module_wp | = | wp | |
| real(kind=wp), | private, | parameter, dimension(5) | :: | d1mach | = | [tiny(1.0_wp), huge(1.0_wp), real(radix(1.0_wp), wp)**(-digits(1.0_wp)), epsilon(1.0_wp), log10(real(radix(1.0_wp), wp))] | Machine constants (replaces the old SLATEC D1MACH function) The traditional D1MACH constants are:
* |
Compute an approximation of the Carlson elliptic integral: where and .
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | x | nonnegative variable |
||
| real(kind=wp), | intent(in) | :: | y | positive variable |
||
| integer, | intent(out) | :: | ier | indicates normal or abnormal termination:
|
Compute an approximation for the incomplete or complete elliptic integral of the 2nd kind: Where , , , and .
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | x | nonnegative variable () |
||
| real(kind=wp), | intent(in) | :: | y | nonnegative variable () |
||
| real(kind=wp), | intent(in) | :: | z | positive variable |
||
| integer, | intent(out) | :: | ier | indicates normal or abnormal termination:
|
Compute an approximation for the incomplete or complete elliptic integral of the 1st kind: Where , , , and at most one of them is .
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | x | nonnegative variable |
||
| real(kind=wp), | intent(in) | :: | y | nonnegative variable |
||
| real(kind=wp), | intent(in) | :: | z | nonnegative variable |
||
| integer, | intent(out) | :: | ier | indicates normal or abnormal termination:
|
Compute an approximation for the incomplete or complete elliptic integral of the 3rd kind: where , , and , and at most one of them , and .
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | x | nonnegative variable |
||
| real(kind=wp), | intent(in) | :: | y | nonnegative variable |
||
| real(kind=wp), | intent(in) | :: | z | nonnegative variable |
||
| real(kind=wp), | intent(in) | :: | p | positive variable |
||
| integer, | intent(out) | :: | ier | indicates normal or abnormal termination:
|