unique(3f) - [M_sort] assuming an array is sorted, return array with duplicate values removed (LICENSE:PD)
Synopsis
Description
Options
Example
subroutine unique(array,ivals)
class(*),intent(inout) :: array(:) integer,intent(out) :: ivals
Assuming an array is sorted, return the array with duplicate values removed.
array may be of type INTEGER, REAL, CHARACTER, COMPLEX, DOUBLEPRECISION, or complex doubleprecision (that is, complex(kind=kind(0.0d0)) ). ivals number of unique values packed into beginning of array
Sample program
program demo_unique use M_sort, only : unique implicit none character(len=:),allocatable :: strings(:) integer :: icountExpected outputstrings=[character(len=2) :: 1,1,2,3,4,4,10,20,20,30] write(*,(a,*(a3,1x)))ORIGINAL:,strings write(*,("SIZE=",i0))size(strings)
call unique(strings,icount)
write(*,*) write(*,(a,*(a3,1x)))AFTER :,strings(1:icount)(:2) write(*,("SIZE=",i0))size(strings) write(*,("ICOUNT=",i0))icount
end program demo_unique
ORIGINAL: 1 1 2 3 4 4 10 20 20 30 SIZE=10AFTER : 1 2 3 4 10 20 30 SIZE=10 ICOUNT=7
unique (3) | March 11, 2021 |