Go to the source code of this file.
|
subroutine | dag_module::dag_destroy (me) |
|
subroutine | dag_module::set_edge_vector (me, edges) |
|
subroutine | dag_module::add_edge (me, edge) |
|
pure integer function, dimension(:), allocatable | dag_module::dag_get_edges (me, ivertex) |
|
pure integer function, dimension(:), allocatable | dag_module::dag_get_dependencies (me, ivertex) |
|
subroutine | dag_module::dag_set_vertices (me, nvertices) |
|
subroutine | dag_module::dag_set_vertex_info (me, ivertex, label, attributes) |
|
subroutine | dag_module::dag_set_edges (me, ivertex, edges) |
|
subroutine | dag_module::dag_toposort (me, order, istat) |
|
recursive subroutine | dfs (v) |
|
character(len=:) function, allocatable | dag_module::dag_generate_digraph (me, rankdir, dpi, edge) |
|
subroutine | dag_module::dag_generate_dependency_matrix (me, mat) |
|
subroutine | dag_module::dag_save_digraph (me, filename, rankdir, dpi, edge) |
|
pure character(len=:) function, allocatable | dag_module::integer_to_string (i) |
|
◆ dfs()
recursive subroutine dag_toposort::dfs |
( |
type(vertex), intent(inout) |
v | ) |
|
|
private |
Definition at line 252 of file dag_module.f90.
256 type(vertex),
intent(inout) :: v
259 if (istat==-1)
return
265 if (.not. v%marked)
then
267 if (
allocated(v%edges))
then
269 call dfs(me%vertices(v%edges(j)))
270 if (istat==-1)
return
276 order(iorder) = v%ivertex
recursive subroutine dfs(v)