get_edge_index Function

private pure function get_edge_index(me, ivertex, iedge) result(edge_index)

Returns the index in the edge array of the vertex.

Type Bound

dag

Arguments

Type IntentOptional Attributes Name
class(dag), intent(in) :: me
integer(kind=ip), intent(in) :: ivertex

vertex number

integer(kind=ip), intent(in) :: iedge

edge vertex number

Return Value integer(kind=ip)

the index of the iedge vertex in the edge array (0 if not found)


Called by

proc~~get_edge_index~~CalledByGraph proc~get_edge_index dag_module::dag%get_edge_index proc~dag_get_edge_metadata dag_module::dag%dag_get_edge_metadata proc~dag_get_edge_metadata->proc~get_edge_index

Source Code

    pure function get_edge_index(me,ivertex,iedge) result(edge_index)

    class(dag),intent(in) :: me
    integer(ip),intent(in) :: ivertex !! vertex number
    integer(ip),intent(in) :: iedge !! edge vertex number
    integer(ip) :: edge_index !! the index of the `iedge` vertex in
                              !! the edge array (0 if not found)

    integer(ip),dimension(1) :: idx

    if (allocated(me%vertices(ivertex)%edges)) then
        idx = findloc(me%vertices(ivertex)%edges%ivertex, iedge)
        edge_index = idx(1)
    else
        edge_index = 0_ip
    end if

    end function get_edge_index