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.
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
::
dash_pos
integer,
private
::
i
character(len=:),
private,
allocatable
::
lower_str
character(len=:),
private,
allocatable
::
method_part
Source Code
function parse_method_string(method_str)result(method_type)!! Parse method string from input file (e.g., "XTB-GFN1" -> gfn1)character(len=*),intent(in)::method_strinteger(int32)::method_typecharacter(len=:),allocatable::lower_str,method_partinteger::dash_pos,i! Convert to lowercaseallocate(character(len=len_trim(method_str))::lower_str)lower_str=trim(adjustl(method_str))do i=1,len(lower_str)if(lower_str(i:i)>='A'.and.lower_str(i:i)<='Z')thenlower_str(i:i)=achar(iachar(lower_str(i:i))+32)end if end do! Handle "XTB-GFN1" format -> extract "gfn1"if(index(lower_str,'xtb')>0)thendash_pos=index(lower_str,'-')if(dash_pos>0)thenmethod_part=lower_str(dash_pos+1:)elsemethod_part=lower_strend if elsemethod_part=lower_strend ifmethod_type=method_type_from_string(method_part)end function parse_method_string