实现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 |