subroutinedraw_someprivate
subroutine draw_some(p, s, relations, jobs, keep, drawings, descriptions, failed)
The share of draw_graphs of one thread, with working space of its own.
Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
| p | type(project_t) | in | the project | |
| s | type(settings_t) | in | the settings | |
| relations | type(adjacency_t) | in | dimension(NUM_RELATIONS) | the relations |
| jobs | type(graph_job_t) | in | dimension(:) | the graphs |
| keep | logical | in | whether to give the descriptions too | |
| drawings | type(string_t) | inout | dimension(:) | the drawing of each graph |
| descriptions | type(string_t) | inout | dimension(:) | the description of each graph, with |
| failed | logical | inout | dimension(:) | whether the layout of each graph failed |
Calls
Source
Show the code
subroutine draw_some(p, s, relations, jobs, keep, drawings, descriptions, failed)
type(project_t), intent(in) :: p !! the project
type(settings_t), intent(in) :: s !! the settings
type(adjacency_t), intent(in) :: relations(NUM_RELATIONS) !! the relations
type(graph_job_t), intent(in) :: jobs(:) !! the graphs
logical, intent(in) :: keep !! whether to give the descriptions too
type(string_t), intent(inout) :: drawings(:) !! the drawing of each graph
type(string_t), intent(inout) :: descriptions(:) !! the description of each graph, with `keep`
logical, intent(inout) :: failed(:) !! whether the layout of each graph failed
type(walk_t) :: w
integer :: k
allocate (w%marked(p%list%n), source=0)
allocate (w%places(p%list%n), w%queue(p%list%n), w%levels(p%list%n), w%from(1024), w%to(1024))
!$omp do schedule(dynamic)
do k = 1, size(jobs)
call draw_graph(p, s, relations(jobs(k)%relation), jobs(k), keep, w, drawings(k), descriptions(k), failed(k))
call progress_tick()
end do
!$omp end do
end subroutine draw_some