Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(in) | :: | arr(:) | |||
real(kind=dp), | intent(in) | :: | val | |||
logical, | intent(in), | optional | :: | back |
pure function custom_findloc_real_dp(arr, val, back) result(loc)
real(dp), intent(in) :: arr(:)
real(dp), intent(in) :: val
logical, intent(in), optional :: back
integer :: loc
integer :: i, first, last, step
logical :: back_
def_default(back_, back, .false.)
if(back_) then
first = size(arr)
last = 1
step = -1
else
first = 1
last = size(arr)
step = 1
end if
loc = 0
do i = first, last, step
if(arr(i) .isclose. val) then
loc = i
return
endif
end do
end function custom_findloc_real_dp