fdoc

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

NameTypeIntentAttributesDescription
ptype(project_t)in

the project

stype(settings_t)in

the settings

relationstype(adjacency_t)indimension(NUM_RELATIONS)

the relations

jobstype(graph_job_t)indimension(:)

the graphs

keeplogicalin

whether to give the descriptions too

drawingstype(string_t)inoutdimension(:)

the drawing of each graph

descriptionstype(string_t)inoutdimension(:)

the description of each graph, with keep

failedlogicalinoutdimension(:)

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

Graphs

Calls

Called by