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.
Source Code
function run_length_encode(missing)result(str)character(len=:),allocatable::strlogical,intent(in)::missing(:)integer::iinteger::countlogical::value if(size(missing)==0)thenstr=''return end ifcount=1value=missing(1)str=to_string_bool(value)do i=2,size(missing)if(value.eqv.missing(i))thencount=count+1else value=missing(i)str=str//to_string(count)//to_string_bool(value)count=1end if end dostr=str//to_string(count)contains function to_string(count)result(str)character(len=:),allocatable::strinteger,intent(in)::countcharacter(len=8)::bufferwrite(buffer,'(i0)')countstr=trim(buffer)end function to_stringfunction to_string_bool(bool)result(str)character(len=1)::strlogical,intent(in)::boolif(bool)thenstr='T'elsestr='F'end if end function to_string_boolend function run_length_encode