;---------------------------------------------------------------------- ; Function that calls get_unique_values but then returns the ; unique values unsorted. ;---------------------------------------------------------------------- function get_unique_values_no_sort(x) local xu, nu, xu_ind, i begin xu = get_unique_values(x) nu = dimsizes(xu) xu_ind = new(nu,integer) do i=0,nu-1 ii := ind(xu(i).eq.x) xu_ind(i) = ii(0) end do qsort(xu_ind) return(x(xu_ind)) end ;---------------------------------------------------------------------- ; Main driver code ;---------------------------------------------------------------------- begin A = (/"o","i","y","e","i","e","o","u","a","y" /) Au1 = get_unique_values(A) Au2 = get_unique_values_no_sort(A) print("Unique values sorted: " + str_join(Au1,",")) print("Unique values not sorted: " + str_join(Au2,",")) end