custom_findloc_logical_ Function

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

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: arr(:)
logical, intent(in) :: val
logical, intent(in), optional :: back

Return Value integer


Contents


Source Code

    pure function custom_findloc_logical_(arr, val, back) result(loc)
        logical, intent(in) :: arr(:)
        logical, 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) .eqv. val) then
                loc = i
                return
            endif
        end do
    end function custom_findloc_logical_