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
::
j
Source Code
recursive subroutine combine_util(arr,n,r,index,data,i,out_array,count)!! Utility for generating combinations recursively!! Uses int64 for count to handle large numbers of combinations that overflow int32.integer(default_int),intent(in)::arr(:),n,r,index,iinteger(default_int),intent(inout)::data(:),out_array(:,:)integer(int64),intent(inout)::countinteger(default_int)::jif(index>r)thencount=count+1_int64out_array(count,1:r)=data(1:r)return end if do j=i,ndata(index)=arr(j)call combine_util(arr,n,r,index+1,data,j+1,out_array,count)end do end subroutine combine_util