unique Interface

public interface unique

Returns only the unique elements of the vector.


Module Procedures

private subroutine item_unique(vec, vec_unique, chunk_size)

Arguments

Type IntentOptional Attributes Name
class(item), intent(in), dimension(:) :: vec

a vector of items

class(item), intent(out), dimension(:), allocatable :: vec_unique

unique elements of vec

integer, intent(in), optional :: chunk_size

chunk size for expanding arrays. if not present, default is 100.

private subroutine int32_unique(vec, vec_unique, chunk_size)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in), dimension(:) :: vec

a vector

integer(kind=int32), intent(out), dimension(:), allocatable :: vec_unique

unique elements of vec

integer, intent(in), optional :: chunk_size

chunk size for expanding arrays. if not present, default is 100.

private subroutine int64_unique(vec, vec_unique, chunk_size)

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(in), dimension(:) :: vec

a vector

integer(kind=int64), intent(out), dimension(:), allocatable :: vec_unique

unique elements of vec

integer, intent(in), optional :: chunk_size

chunk size for expanding arrays. if not present, default is 100.

private subroutine real64_unique(vec, vec_unique, chunk_size)

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in), dimension(:) :: vec

a vector

real(kind=real64), intent(out), dimension(:), allocatable :: vec_unique

unique elements of vec

integer, intent(in), optional :: chunk_size

chunk size for expanding arrays. if not present, default is 100.

private subroutine real32_unique(vec, vec_unique, chunk_size)

Arguments

Type IntentOptional Attributes Name
real(kind=real32), intent(in), dimension(:) :: vec

a vector

real(kind=real32), intent(out), dimension(:), allocatable :: vec_unique

unique elements of vec

integer, intent(in), optional :: chunk_size

chunk size for expanding arrays. if not present, default is 100.