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.
FUNCTION arth_i(first,increment,n)INTEGER(I4B),INTENT(IN)::first,increment,nINTEGER(I4B),DIMENSION(n)::arth_iINTEGER(I4B)::k,k2,tempif(n>0)arth_i(1)=firstif(n<=NPAR_ARTH)then do k=2,narth_i(k)=arth_i(k-1)+incrementend do else do k=2,NPAR2_ARTHarth_i(k)=arth_i(k-1)+incrementend dotemp=increment*NPAR2_ARTHk=NPAR2_ARTHdo if(k>=n)exitk2=k+karth_i(k+1:min(k2,n))=temp+arth_i(1:min(k,n-k))temp=temp+tempk=k2end do end if END FUNCTION arth_i