find_index_linear Function

public pure function find_index_linear(list, val) result(ix)

Linear search of sorted list for the smallest ix such that list(ix) >= val. On failure, returns size(list)+1

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: list(:)

Sorted list

real(kind=dp), intent(in) :: val

Value to search for

Return Value integer


Called by

proc~~find_index_linear~~CalledByGraph proc~find_index_linear find_index_linear proc~find_index_adaptive find_index_adaptive proc~find_index_adaptive->proc~find_index_linear proc~lt_lin_interp_list LT_lin_interp_list proc~lt_lin_interp_list->proc~find_index_adaptive proc~lt_get_spaced_data LT_get_spaced_data proc~lt_get_spaced_data->proc~lt_lin_interp_list proc~lt2_set_col LT2_set_col proc~lt2_set_col->proc~lt_get_spaced_data proc~lt_add_col LT_add_col proc~lt_add_col->proc~lt_get_spaced_data proc~lt_set_col LT_set_col proc~lt_set_col->proc~lt_get_spaced_data

Source Code

  pure function find_index_linear(list, val) result(ix)
    real(dp), intent(in) :: list(:)
    !< Sorted list
    real(dp), intent(in) :: val
    !< Value to search for
    integer              :: ix

    do ix = 1, size(list)
       if (list(ix) >= val) exit
    end do
  end function find_index_linear