set_edge_vector Subroutine

private subroutine set_edge_vector(me, edges)

specify the edge indices for this vertex

Type Bound

vertex

Arguments

Type IntentOptional Attributes Name
class(vertex), intent(inout) :: me
integer, intent(in), dimension(:) :: edges

Calls

proc~~set_edge_vector~~CallsGraph proc~set_edge_vector dag_module::vertex%set_edge_vector proc~add_edge dag_module::vertex%add_edge proc~set_edge_vector->proc~add_edge

Called by

proc~~set_edge_vector~~CalledByGraph proc~set_edge_vector dag_module::vertex%set_edge_vector none~set_edges dag_module::vertex%set_edges none~set_edges->proc~set_edge_vector proc~dag_set_edges dag_module::dag%dag_set_edges proc~dag_set_edges->none~set_edges program~dag_example dag_example program~dag_example->proc~dag_set_edges program~problem_25 problem_25 program~problem_25->proc~dag_set_edges

Source Code

    subroutine set_edge_vector(me,edges)

    class(vertex),intent(inout)     :: me
    integer,dimension(:),intent(in) :: edges

    integer :: i !! counter

    if (allocated(me%edges)) then
        do i=1,size(edges)
            call me%add_edge(edges(i))
        end do
    else
        allocate(me%edges(size(edges)))  ! note: not checking for uniqueness here.
        me%edges = edges
    end if

    end subroutine set_edge_vector