实现SORT_INDEX算法的通用子程序接口,基于在slice.rs中找到的“Rust”排序算法 https://github.com/rust-lang/rust/blob/90eb44a5897c39e3dff9c7e48e3973671dcd9496/src/liballoc/slice.rs#L2159 但修改为返回一个索引数组,该数组将提供对一维ARRAY输入的稳定排序。(规范)
默认情况下,索引对应于非递减排序,但如果可选参数REVERSE存在且值为.TRUE.,则索引对应于非递增排序。
bitset_64_sort_index_default( array, index[, work, iwork, reverse] ) 使用基于在slice.rs中找到的“Rust”排序算法的混合排序算法对类型为type(bitset_64)的输入ARRAY进行排序,并返回已排序的ARRAY和一个索引数组INDEX,该索引数组按所需方向对输入ARRAY进行排序的顺序排列。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| type(bitset_64), | intent(inout) | :: | array(0:) | |||
| integer(kind=int_index), | intent(out) | :: | index(0:) | |||
| type(bitset_64), | intent(out), | optional | :: | work(0:) | ||
| integer(kind=int_index), | intent(out), | optional | :: | iwork(0:) | ||
| logical, | intent(in), | optional | :: | reverse |
bitset_64_sort_index_low( array, index[, work, iwork, reverse] ) 使用基于在slice.rs中找到的“Rust”排序算法的混合排序算法对类型为type(bitset_64)的输入ARRAY进行排序,并返回已排序的ARRAY和一个索引数组INDEX,该索引数组按所需方向对输入ARRAY进行排序的顺序排列。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| type(bitset_64), | intent(inout) | :: | array(0:) | |||
| integer(kind=int_index_low), | intent(out) | :: | index(0:) | |||
| type(bitset_64), | intent(out), | optional | :: | work(0:) | ||
| integer(kind=int_index_low), | intent(out), | optional | :: | iwork(0:) | ||
| logical, | intent(in), | optional | :: | reverse |
bitset_large_sort_index_default( array, index[, work, iwork, reverse] ) 使用基于在slice.rs中找到的“Rust”排序算法的混合排序算法对类型为type(bitset_large)的输入ARRAY进行排序,并返回已排序的ARRAY和一个索引数组INDEX,该索引数组按所需方向对输入ARRAY进行排序的顺序排列。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| type(bitset_large), | intent(inout) | :: | array(0:) | |||
| integer(kind=int_index), | intent(out) | :: | index(0:) | |||
| type(bitset_large), | intent(out), | optional | :: | work(0:) | ||
| integer(kind=int_index), | intent(out), | optional | :: | iwork(0:) | ||
| logical, | intent(in), | optional | :: | reverse |
bitset_large_sort_index_low( array, index[, work, iwork, reverse] ) 使用基于在slice.rs中找到的“Rust”排序算法的混合排序算法对类型为type(bitset_large)的输入ARRAY进行排序,并返回已排序的ARRAY和一个索引数组INDEX,该索引数组按所需方向对输入ARRAY进行排序的顺序排列。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| type(bitset_large), | intent(inout) | :: | array(0:) | |||
| integer(kind=int_index_low), | intent(out) | :: | index(0:) | |||
| type(bitset_large), | intent(out), | optional | :: | work(0:) | ||
| integer(kind=int_index_low), | intent(out), | optional | :: | iwork(0:) | ||
| logical, | intent(in), | optional | :: | reverse |
char_sort_index_default( array, index[, work, iwork, reverse] ) 使用基于在slice.rs中找到的“Rust”排序算法的混合排序算法对类型为character(len=*)的输入ARRAY进行排序,并返回已排序的ARRAY和一个索引数组INDEX,该索引数组按所需方向对输入ARRAY进行排序的顺序排列。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(inout) | :: | array(0:) | |||
| integer(kind=int_index), | intent(out) | :: | index(0:) | |||
| character(len=len), | intent(out), | optional | :: | work(0:) | ||
| integer(kind=int_index), | intent(out), | optional | :: | iwork(0:) | ||
| logical, | intent(in), | optional | :: | reverse |
char_sort_index_low( array, index[, work, iwork, reverse] ) 使用基于在slice.rs中找到的“Rust”排序算法的混合排序算法对类型为character(len=*)的输入ARRAY进行排序,并返回已排序的ARRAY和一个索引数组INDEX,该索引数组按所需方向对输入ARRAY进行排序的顺序排列。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(inout) | :: | array(0:) | |||
| integer(kind=int_index_low), | intent(out) | :: | index(0:) | |||
| character(len=len), | intent(out), | optional | :: | work(0:) | ||
| integer(kind=int_index_low), | intent(out), | optional | :: | iwork(0:) | ||
| logical, | intent(in), | optional | :: | reverse |
dp_sort_index_default( array, index[, work, iwork, reverse] ) 使用基于在slice.rs中找到的“Rust”排序算法的混合排序算法对类型为real(dp)的输入ARRAY进行排序,并返回已排序的ARRAY和一个索引数组INDEX,该索引数组按所需方向对输入ARRAY进行排序的顺序排列。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(inout) | :: | array(0:) | |||
| integer(kind=int_index), | intent(out) | :: | index(0:) | |||
| real(kind=dp), | intent(out), | optional | :: | work(0:) | ||
| integer(kind=int_index), | intent(out), | optional | :: | iwork(0:) | ||
| logical, | intent(in), | optional | :: | reverse |
dp_sort_index_low( array, index[, work, iwork, reverse] ) 使用基于在slice.rs中找到的“Rust”排序算法的混合排序算法对类型为real(dp)的输入ARRAY进行排序,并返回已排序的ARRAY和一个索引数组INDEX,该索引数组按所需方向对输入ARRAY进行排序的顺序排列。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(inout) | :: | array(0:) | |||
| integer(kind=int_index_low), | intent(out) | :: | index(0:) | |||
| real(kind=dp), | intent(out), | optional | :: | work(0:) | ||
| integer(kind=int_index_low), | intent(out), | optional | :: | iwork(0:) | ||
| logical, | intent(in), | optional | :: | reverse |
int16_sort_index_default( array, index[, work, iwork, reverse] ) 使用基于在slice.rs中找到的“Rust”排序算法的混合排序算法对类型为integer(int16)的输入ARRAY进行排序,并返回已排序的ARRAY和一个索引数组INDEX,该索引数组按所需方向对输入ARRAY进行排序的顺序排列。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| integer(kind=int16), | intent(inout) | :: | array(0:) | |||
| integer(kind=int_index), | intent(out) | :: | index(0:) | |||
| integer(kind=int16), | intent(out), | optional | :: | work(0:) | ||
| integer(kind=int_index), | intent(out), | optional | :: | iwork(0:) | ||
| logical, | intent(in), | optional | :: | reverse |
int16_sort_index_low( array, index[, work, iwork, reverse] ) 使用基于在slice.rs中找到的“Rust”排序算法的混合排序算法对类型为integer(int16)的输入ARRAY进行排序,并返回已排序的ARRAY和一个索引数组INDEX,该索引数组按所需方向对输入ARRAY进行排序的顺序排列。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| integer(kind=int16), | intent(inout) | :: | array(0:) | |||
| integer(kind=int_index_low), | intent(out) | :: | index(0:) | |||
| integer(kind=int16), | intent(out), | optional | :: | work(0:) | ||
| integer(kind=int_index_low), | intent(out), | optional | :: | iwork(0:) | ||
| logical, | intent(in), | optional | :: | reverse |
int32_sort_index_default( array, index[, work, iwork, reverse] ) 使用基于在slice.rs中找到的“Rust”排序算法的混合排序算法对类型为integer(int32)的输入ARRAY进行排序,并返回已排序的ARRAY和一个索引数组INDEX,该索引数组按所需方向对输入ARRAY进行排序的顺序排列。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| integer(kind=int32), | intent(inout) | :: | array(0:) | |||
| integer(kind=int_index), | intent(out) | :: | index(0:) | |||
| integer(kind=int32), | intent(out), | optional | :: | work(0:) | ||
| integer(kind=int_index), | intent(out), | optional | :: | iwork(0:) | ||
| logical, | intent(in), | optional | :: | reverse |
int32_sort_index_low( array, index[, work, iwork, reverse] ) 使用基于在slice.rs中找到的“Rust”排序算法的混合排序算法对类型为integer(int32)的输入ARRAY进行排序,并返回已排序的ARRAY和一个索引数组INDEX,该索引数组按所需方向对输入ARRAY进行排序的顺序排列。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| integer(kind=int32), | intent(inout) | :: | array(0:) | |||
| integer(kind=int_index_low), | intent(out) | :: | index(0:) | |||
| integer(kind=int32), | intent(out), | optional | :: | work(0:) | ||
| integer(kind=int_index_low), | intent(out), | optional | :: | iwork(0:) | ||
| logical, | intent(in), | optional | :: | reverse |
int64_sort_index_default( array, index[, work, iwork, reverse] ) 使用基于在slice.rs中找到的“Rust”排序算法的混合排序算法对类型为integer(int64)的输入ARRAY进行排序,并返回已排序的ARRAY和一个索引数组INDEX,该索引数组按所需方向对输入ARRAY进行排序的顺序排列。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| integer(kind=int64), | intent(inout) | :: | array(0:) | |||
| integer(kind=int_index), | intent(out) | :: | index(0:) | |||
| integer(kind=int64), | intent(out), | optional | :: | work(0:) | ||
| integer(kind=int_index), | intent(out), | optional | :: | iwork(0:) | ||
| 逻辑型, | intent(in), | optional | :: | reverse |
int64_sort_index_low( array, index[, work, iwork, reverse] ) 使用基于 "Rust" 算法(在 slice.rs 中找到)的混合排序算法对类型为 integer(int64) 的输入 ARRAY 进行排序,并返回排序后的 ARRAY 和一个索引数组 INDEX,该索引数组中的索引顺序可以按照所需方向对输入 ARRAY 进行排序。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| 整型(kind=int64), | intent(inout) | :: | array(0:) | |||
| 整型(kind=int_index_low), | intent(out) | :: | index(0:) | |||
| 整型(kind=int64), | intent(out), | optional | :: | work(0:) | ||
| 整型(kind=int_index_low), | intent(out), | optional | :: | iwork(0:) | ||
| 逻辑型, | intent(in), | optional | :: | reverse |
int8_sort_index_default( array, index[, work, iwork, reverse] ) 使用基于 "Rust" 算法(在 slice.rs 中找到)的混合排序算法对类型为 integer(int8) 的输入 ARRAY 进行排序,并返回排序后的 ARRAY 和一个索引数组 INDEX,该索引数组中的索引顺序可以按照所需方向对输入 ARRAY 进行排序。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| 整型(kind=int8), | intent(inout) | :: | array(0:) | |||
| 整型(kind=int_index), | intent(out) | :: | index(0:) | |||
| 整型(kind=int8), | intent(out), | optional | :: | work(0:) | ||
| 整型(kind=int_index), | intent(out), | optional | :: | iwork(0:) | ||
| 逻辑型, | intent(in), | optional | :: | reverse |
int8_sort_index_low( array, index[, work, iwork, reverse] ) 使用基于 "Rust" 算法(在 slice.rs 中找到)的混合排序算法对类型为 integer(int8) 的输入 ARRAY 进行排序,并返回排序后的 ARRAY 和一个索引数组 INDEX,该索引数组中的索引顺序可以按照所需方向对输入 ARRAY 进行排序。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| 整型(kind=int8), | intent(inout) | :: | array(0:) | |||
| 整型(kind=int_index_low), | intent(out) | :: | index(0:) | |||
| 整型(kind=int8), | intent(out), | optional | :: | work(0:) | ||
| 整型(kind=int_index_low), | intent(out), | optional | :: | iwork(0:) | ||
| 逻辑型, | intent(in), | optional | :: | reverse |
sp_sort_index_default( array, index[, work, iwork, reverse] ) 使用基于 "Rust" 算法(在 slice.rs 中找到)的混合排序算法对类型为 real(sp) 的输入 ARRAY 进行排序,并返回排序后的 ARRAY 和一个索引数组 INDEX,该索引数组中的索引顺序可以按照所需方向对输入 ARRAY 进行排序。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| 实数(kind=sp), | intent(inout) | :: | array(0:) | |||
| 整型(kind=int_index), | intent(out) | :: | index(0:) | |||
| 实数(kind=sp), | intent(out), | optional | :: | work(0:) | ||
| 整型(kind=int_index), | intent(out), | optional | :: | iwork(0:) | ||
| 逻辑型, | intent(in), | optional | :: | reverse |
sp_sort_index_low( array, index[, work, iwork, reverse] ) 使用基于 "Rust" 算法(在 slice.rs 中找到)的混合排序算法对类型为 real(sp) 的输入 ARRAY 进行排序,并返回排序后的 ARRAY 和一个索引数组 INDEX,该索引数组中的索引顺序可以按照所需方向对输入 ARRAY 进行排序。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| 实数(kind=sp), | intent(inout) | :: | array(0:) | |||
| 整型(kind=int_index_low), | intent(out) | :: | index(0:) | |||
| 实数(kind=sp), | intent(out), | optional | :: | work(0:) | ||
| 整型(kind=int_index_low), | intent(out), | optional | :: | iwork(0:) | ||
| 逻辑型, | intent(in), | optional | :: | reverse |
string_type_sort_index_default( array, index[, work, iwork, reverse] ) 使用基于 "Rust" 算法(在 slice.rs 中找到)的混合排序算法对类型为 type(string_type) 的输入 ARRAY 进行排序,并返回排序后的 ARRAY 和一个索引数组 INDEX,该索引数组中的索引顺序可以按照所需方向对输入 ARRAY 进行排序。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| 类型(string_type), | intent(inout) | :: | array(0:) | |||
| 整型(kind=int_index), | intent(out) | :: | index(0:) | |||
| 类型(string_type), | intent(out), | optional | :: | work(0:) | ||
| 整型(kind=int_index), | intent(out), | optional | :: | iwork(0:) | ||
| 逻辑型, | intent(in), | optional | :: | reverse |
string_type_sort_index_low( array, index[, work, iwork, reverse] ) 使用基于 "Rust" 算法(在 slice.rs 中找到)的混合排序算法对类型为 type(string_type) 的输入 ARRAY 进行排序,并返回排序后的 ARRAY 和一个索引数组 INDEX,该索引数组中的索引顺序可以按照所需方向对输入 ARRAY 进行排序。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| 类型(string_type), | intent(inout) | :: | array(0:) | |||
| 整型(kind=int_index_low), | intent(out) | :: | index(0:) | |||
| 类型(string_type), | intent(out), | optional | :: | work(0:) | ||
| 整型(kind=int_index_low), | intent(out), | optional | :: | iwork(0:) | ||
| 逻辑型, | intent(in), | optional | :: | reverse |