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,
private
::
i
character(len=32),
private
::
style
character(len=50),
private
::
temp_str
integer,
private
::
total_len
Source Code
function to_string_vector_dp(array)result(trimmed_str)real(kind=dp),intent(in)::array(:)character(len=:),allocatable::trimmed_strcharacter(len=50)::temp_strcharacter(len=32)::styleinteger::i,total_len! Set up formatwrite(style,'(A,I0,A)')'(F0.',dp_precision,')'! Estimate total length neededtotal_len=2! for bracketsdo i=1,size(array)write(temp_str,style)array(i)total_len=total_len+len_trim(temp_str)+2! +2 for ", "end do! Allocate result stringallocate(character(len=total_len)::trimmed_str)! Build the stringtrimmed_str="["do i=1,size(array)write(temp_str,style)array(i)if(i<size(array))thentrimmed_str=trimmed_str//trim(temp_str)//", "elsetrimmed_str=trimmed_str//trim(temp_str)end if end dotrimmed_str=trimmed_str//"]"end function to_string_vector_dp