Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=int64), | intent(inout) | :: | array(0:) | |||
integer(kind=int_index_low), | intent(out) | :: | index(0:) | |||
integer(kind=int64), | intent(out), | optional | :: | work(0:) | ||
integer(kind=int_index_low), | intent(out), | optional | :: | iwork(0:) | ||
logical, | intent(in), | optional | :: | reverse |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=int_index), | private | :: | array_size | ||||
integer(kind=int64), | private, | allocatable | :: | buf(:) | |||
integer(kind=int_index), | private | :: | i | ||||
integer(kind=int_index_low), | private, | allocatable | :: | ibuf(:) | |||
integer(kind=int_index), | private | :: | stat |
Returns the minimum length of a run from 32-63 so that N/MIN_RUN is less than or equal to a power of two. See https://svn.python.org/projects/python/trunk/Objects/listsort.txt
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=int_index), | intent(in) | :: | n |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=int64), | intent(inout) | :: | array(0:) | |||
integer(kind=int_index_low), | intent(inout) | :: | index(0:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=int64), | intent(inout) | :: | array(0:) | |||
integer(kind=int_index_low), | intent(inout) | :: | index(0:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=int64), | intent(inout) | :: | array(0:) | |||
integer(kind=int_index), | intent(in) | :: | mid | |||
integer(kind=int64), | intent(inout) | :: | buf(0:) | |||
integer(kind=int_index_low), | intent(inout) | :: | index(0:) | |||
integer(kind=int_index_low), | intent(inout) | :: | ibuf(0:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=int64), | intent(inout) | :: | array(0:) | |||
integer(kind=int_index_low), | intent(inout) | :: | index(0:) | |||
integer(kind=int64), | intent(inout) | :: | buf(0:) | |||
integer(kind=int_index_low), | intent(inout) | :: | ibuf(0:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=int64), | intent(inout) | :: | array(0:) | |||
integer(kind=int_index_low), | intent(inout) | :: | index(0:) |
module subroutine int64_sort_index_low(array, index, work, iwork, & reverse) !! `int64_sort_index_low( array, index[, work, iwork, reverse] )` sorts !! an input `ARRAY` of type `integer(int64)` !! using a hybrid sort based on the `"Rust" sort` algorithm found in `slice.rs` !! and returns the sorted `ARRAY` and an array `INDEX` of indices in the !! order that would sort the input `ARRAY` in the desired direction. implicit none integer(int64), intent(inout) :: array(0:) integer(int_index_low), intent(out) :: index(0:) integer(int64), intent(out), optional :: work(0:) integer(int_index_low), intent(out), optional :: iwork(0:) logical, intent(in), optional :: reverse end subroutine int64_sort_index_low