stdlib_array 模块用于索引操作和数组处理任务的模块。
trueloc实验性
将逻辑掩码转换为索引数组,通过选择所有真值。在处理逻辑掩码时,提供了类似于内置的 where 或内在过程 merge 和 pack 的功能。内置的/内在函数通常比 trueloc 更可取,除非需要访问索引数组。
loc = trueloc (array[, lbound])
纯函数。
array:默认逻辑数组列表。此参数为 intent(in)。
lbound:数组的较低边界索引。此参数为 optional 和 intent(in)。
返回一个默认整数大小的数组,最大长度为 size(array) 元素。
program example_trueloc
use stdlib_array, only: trueloc
implicit none
real, allocatable :: array(:)
allocate (array(500))
call random_number(array)
array(trueloc(array > 0.5)) = 0.0
end program example_trueloc
falseloc实验性
将逻辑掩码转换为索引数组,通过选择所有假值。在处理逻辑掩码时,提供了类似于内置的 where 或内在过程 merge 和 pack 的功能。内置的/内在函数通常比 falseloc 更可取,除非需要访问索引数组。
loc = falseloc (array[, lbound])
纯函数。
array:默认逻辑数组列表。此参数为 intent(in)。
lbound:数组的较低边界索引。此参数为 optional 和 intent(in)。
返回一个默认整数大小的数组,最大长度为 size(array) 元素。
program example_falseloc
use stdlib_array, only: falseloc
implicit none
real, allocatable :: array(:)
allocate (array(-200:200))
call random_number(array)
array(falseloc(array < 0.5, lbound(array, 1))) = 0.0
end program example_falseloc