Module ppm_module_find_duplicates

This module provides the routines to find doublicate entries in 2D arrays - callable from the outside.

Defined Types

name description

no types

Defined Module Interfaces

name description

ppm_find_duplicates

Defined Module Subroutines

name description

no subroutines

Interface ppm_find_duplicates

Subroutines contained in this interface:

name description

ppm_find_duplicates_s

ppm_find_duplicates_d

This routine can be used to find duplicate entries

Subroutine ppm_find_duplicates_d

This routine can be used to find duplicate entries in a 2D array of leading dimension 2 or 3. The comparison is done up to the precision specified to ppm_init. Fast O(N) search using cell lists is used.

[Note]Note

In the case of nident = 0, ident(:,:) will not be allocated upon return!

Arguments

name type dimension intent optional description

adata

real array

(:,:)

(IN)

Data to be checked for duplicates. Both single and double precision

lda

integer

(IN)

Leading dimension of data. Must be either 2 or 3.

ndata

integer

(IN)

Number of data items (second dimension of the array).

nident

integer

(OUT)

Number of identities found

ident

integer array

(:,:)

Indices of identical data entries. First index: 1,2 [first

info

integer

(OUT)

Returns status, 0 upon success

adata

real array, (:,:), (IN)

Data to be checked for duplicates. Both single and double precision REAL are supported. Leading dimension must be either 2 or 3.

lda

integer, , (IN)

Leading dimension of data. Must be either 2 or 3.

ndata

integer, , (IN)

Number of data items (second dimension of the array).

nident

integer, , (OUT)

Number of identities found

ident

integer array, (:,:), no intent declared

Indices of identical data entries. First index: 1,2 [first and second index of the identity], second index: 1…nident [identity ID]. This will only be allocated IF at least one duplicate is found!

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_util_rank, ppm_module_error, ppm_module_alloc, ppm_module_substop, ppm_module_write, ppm_module_substart

Subroutine ppm_find_duplicates_s

Arguments

name type dimension intent optional description

adata

real array

(:,:)

(IN)

Data to be checked for duplicates. Both single and double precision

lda

integer

(IN)

Leading dimension of data. Must be either 2 or 3.

ndata

integer

(IN)

Number of data items (second dimension of the array).

nident

integer

(OUT)

Number of identities found

ident

integer array

(:,:)

Indices of identical data entries. First index: 1,2 [first

info

integer

(OUT)

Returns status, 0 upon success

adata

real array, (:,:), (IN)

Data to be checked for duplicates. Both single and double precision REAL are supported. Leading dimension must be either 2 or 3.

lda

integer, , (IN)

Leading dimension of data. Must be either 2 or 3.

ndata

integer, , (IN)

Number of data items (second dimension of the array).

nident

integer, , (OUT)

Number of identities found

ident

integer array, (:,:), no intent declared

Indices of identical data entries. First index: 1,2 [first and second index of the identity], second index: 1…nident [identity ID]. This will only be allocated IF at least one duplicate is found!

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_util_rank, ppm_module_error, ppm_module_alloc, ppm_module_substop, ppm_module_write, ppm_module_substart

Defined Module Variables

name type dimension description

no variables

Used Modules

has no uses