Get unique values from a real column
Returns sorted array of unique values from the specified real column
@param[in] df The data frame instance @param[in] col_index Column index (1-based) @return Array of unique values (sorted)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(data_frame), | intent(in) | :: | df | |||
integer, | intent(in) | :: | col_index |
function df_unique_real(df, col_index) result(unique_vals) type(data_frame), intent(in) :: df integer, intent(in) :: col_index real(rk), dimension(:), allocatable :: unique_vals real(rk), dimension(:), allocatable :: col, temp_unique integer :: i, j, n_unique logical :: is_unique col = df_get_col_real(df, col_index) allocate (temp_unique(size(col))) n_unique = 0 do i = 1, size(col) is_unique = .true. do j = 1, n_unique if (abs(col(i) - temp_unique(j)) < 1.0e-10_rk) then is_unique = .false. exit end if end do if (is_unique) then n_unique = n_unique + 1 temp_unique(n_unique) = col(i) end if end do allocate (unique_vals(n_unique)) unique_vals = temp_unique(1:n_unique) ! Sort unique values call quick_sort_real(unique_vals, 1, n_unique) deallocate (temp_unique) end function df_unique_real