array

The stdlib_array module

Introduction

Module for index manipulation and array handling tasks.

Procedures and methods provided

trueloc

Status

Experimental

Description

Turn a logical mask into an index array by selecting all true values. Provides similar functionality like the built-in where or the intrinsic procedures merge and pack when working with logical mask. The built-in / intrinsics are usually preferable to trueloc, unless the access to the index array is required.

Syntax

loc = trueloc (array[, lbound])

Class

Pure function.

Arguments

array: List of default logical arrays. This argument is intent(in).

lbound: Lower bound of the array to index. This argument is optional and intent(in).

Return value

Returns an array of default integer size, with a maximum length of size(array) elements.

Examples

program demo_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 demo_trueloc

falseloc

Status

Experimental

Description

Turn a logical mask into an index array by selecting all false values. Provides similar functionality like the built-in where or the intrinsic procedures merge and pack when working with logical mask. The built-in / intrinsics are usually preferable to falseloc, unless the access to the index array is required.

Syntax

loc = falseloc (array[, lbound])

Class

Pure function.

Arguments

array: List of default logical arrays. This argument is intent(in).

lbound: Lower bound of the array to index. This argument is optional and intent(in).

Return value

Returns an array of default integer size, with a maximum length of size(array) elements.

Examples

program demo_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)) = 0.0
end program demo_falseloc