
Contains the implementations of various support routines
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=ik), | intent(inout), | dimension(:) | :: | buffer | ||
| integer(kind=ik), | intent(in) | :: | start | |||
| integer(kind=ik), | intent(in) | :: | end | |||
| integer(kind=ik), | intent(inout), | dimension(:) | :: | array |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=ik), | intent(inout), | dimension(:) | :: | inputArray | ||
| integer(kind=ik), | intent(in) | :: | start | |||
| integer(kind=ik), | intent(in) | :: | mid | |||
| integer(kind=ik), | intent(in) | :: | end | |||
| integer(kind=ik), | intent(inout), | dimension(:) | :: | outputArray |
Find locations of .true. values in logical mask of rank 2
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | intent(in), | dimension(:,:) | :: | mask |
Find locations of .true. values in logical mask of rank 1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | intent(in), | dimension(:) | :: | mask |
Convert IntArray(:) vector into a 2D array of shape (size(IntArray),:) containing all possible combination of IntArray(:)%entries. Works only for sizes 1 and 3
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(IntArray), | intent(in), | dimension(:) | :: | array |
Finds indices of two of the values nearest to a point in a monotonic array
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=rk), | intent(in), | dimension(:) | :: | array | ||
| real(kind=rk), | intent(in) | :: | point |
Allan and Hastings approximation of E1 exponential integral, with coefficients from routine in: Shanjie Zhang, Jianming Jin, Computation of Special Functions, Wiley, 1996, ISBN: 0-471-11963-6, LC: QA351.C45.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=rk), | intent(in) | :: | val |
Returns sorted array of unique integer values
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=ik), | intent(in), | dimension(:) | :: | array(:) |
Returns map array >= lowerBound .and. array <= upperBound
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=ik), | intent(in), | dimension(:) | :: | array | ||
| integer(kind=ik), | intent(in) | :: | lowerBound | |||
| integer(kind=ik), | intent(in) | :: | upperBound |
Takes a 3-fold tensor product of rank-1 real arrays and flattens it
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=rk), | intent(in), | dimension(:) | :: | array1 | ||
| real(kind=rk), | intent(in), | dimension(:) | :: | array2 | ||
| real(kind=rk), | intent(in), | dimension(:) | :: | array3 |
Takes rank-2 array and optional mask and produces rank-1 array of realArrays - a jagged array - by masking the first dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=rk), | intent(in), | dimension(:,:) | :: | array | ||
| logical, | intent(in), | optional, | dimension(:,:) | :: | mask |
Return rank-2 array of Legendre polynomials evaluated at given points. Result shape is (size(points),0:maxL). Uses recursion formula.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=rk), | intent(in), | dimension(:) | :: | points | ||
| integer(kind=ik), | intent(in) | :: | maxL |
Remove name from named integer array and return IntArray
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(NamedIntegerArray), | intent(in) | :: | input |
Remove name from named real array and return RealArray
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(NamedRealArray), | intent(in) | :: | input |
Remove name from named logical array and return LogicalArray
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(NamedLogicalArray), | intent(in) | :: | input |
Takes 2 arrays and produces a flattened tensor product, such that array1's dimension is the inner dimension. If present, shift array should conform to array2 and will be added to array1 as the product is taken The shifted array1 is then optionally raised to a power.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=rk), | intent(in), | dimension(:) | :: | array1 | ||
| real(kind=rk), | intent(in), | dimension(:) | :: | array2 | ||
| real(kind=rk), | intent(in), | optional, | dimension(:) | :: | shiftArray | |
| real(kind=rk), | intent(in), | optional | :: | power |
Returns upper or lower triangular array pattern as IntArrays with dimension dim
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=ik), | intent(in) | :: | dim | |||
| logical, | intent(in), | optional | :: | lower |