Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Variables
Type
Visibility
Attributes
Name
Initial
integer(kind=default_int),
private
::
i
integer(kind=default_int),
private
::
j
integer(kind=default_int),
private
::
loop_bound_i
integer(kind=default_int),
private
::
loop_bound_j
Source Code
subroutine print_plain_matrix(mat,n_cols,n_rows)!! private subroutine that prints a plain matrix of n_cols by n_rowsreal(kind=dp),intent(in)::mat(:,:)integer(kind=default_int),intent(in),optional::n_cols,n_rowsinteger(kind=default_int)::i,j,loop_bound_i,loop_bound_jif(present(n_cols).and.present(n_rows))thenloop_bound_i=n_colsloop_bound_j=n_rowselseloop_bound_i=size(mat,1)loop_bound_j=size(mat,2)end if print*,"Matrix (Plain format):"do i=1,loop_bound_ido j=1,loop_bound_jif(j==loop_bound_j)then write(*,fmt_edge,advance="yes")mat(i,j)! Last element in the row, new lineelse write(*,fmt_in,advance="no")mat(i,j)! In-between elementsend if end do end do end subroutine print_plain_matrix