Nodes of different colours represent the following:
Solid arrows point from a file to a file which depends upon it. A file is dependent upon another if the latter must be compiled before the former can be. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
module procedures_visit_condition implicit none abstract interface pure logical function abstract_visit_condition(i_inside, i_outside) integer, intent(in) :: i_inside, i_outside end function abstract_visit_condition end interface private public :: abstract_visit_condition, visit_different, visit_lower, visit_all contains pure logical function visit_different(i_inside, i_outside) integer, intent(in) :: i_inside, i_outside visit_different = i_inside /= i_outside end function visit_different pure logical function visit_lower(i_inside, i_outside) integer, intent(in) :: i_inside, i_outside visit_lower = i_inside < i_outside end function visit_lower pure logical function visit_all(i_inside, i_outside) integer, intent(in) :: i_inside, i_outside visit_all = .true. end function visit_all end module procedures_visit_condition