数组

stdlib_array 模块

简介

用于索引操作和数组处理任务的模块。

提供的过程和方法

trueloc

状态

实验性

描述

将逻辑掩码转换为索引数组,通过选择所有真值。在处理逻辑掩码时,提供了类似于内置的 where 或内在过程 mergepack 的功能。内置的/内在函数通常比 trueloc 更可取,除非需要访问索引数组。

语法

loc = trueloc (array[, lbound])

类别

纯函数。

参数

array:默认逻辑数组列表。此参数为 intent(in)

lbound:数组的较低边界索引。此参数为 optionalintent(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 或内在过程 mergepack 的功能。内置的/内在函数通常比 falseloc 更可取,除非需要访问索引数组。

语法

loc = falseloc (array[, lbound])

类别

纯函数。

参数

array:默认逻辑数组列表。此参数为 intent(in)

lbound:数组的较低边界索引。此参数为 optionalintent(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