custom_findloc_real_dp Function

private pure function custom_findloc_real_dp(arr, val, back) result(loc)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: arr(:)
real(kind=dp), intent(in) :: val
logical, intent(in), optional :: back

Return Value integer


Contents


Source Code

    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