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