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.
Source Code
subroutine lu7cyc(kfirst,klast,p)integer(ip),intent(in)::kfirst,klastinteger(ip),intent(inout)::p(klast)!------------------------------------------------------------------! lu7cyc performs a cyclic permutation on the row or column ordering! stored in p, moving entry kfirst down to klast.! If kfirst .ge. klast, lu7cyc should not be called.! Sometimes klast = 0 and nothing should happen.!! 09 May 1988: First f77 version.! 13 Dec 2011: First f90 version.!------------------------------------------------------------------integer(ip)::ifirst,kif(kfirst<klast)thenifirst=p(kfirst)do k=kfirst,klast-1p(k)=p(k+1)end dop(klast)=ifirstend if end subroutine lu7cyc