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_d(first,increment,n)REAL(DP),INTENT(IN)::first,incrementINTEGER(I4B),INTENT(IN)::nREAL(DP),DIMENSION(n)::arth_dINTEGER(I4B)::k,k2REAL(DP)::tempif(n>0)arth_d(1)=firstif(n<=NPAR_ARTH)then do k=2,narth_d(k)=arth_d(k-1)+incrementend do else do k=2,NPAR2_ARTHarth_d(k)=arth_d(k-1)+incrementend dotemp=increment*NPAR2_ARTHk=NPAR2_ARTHdo if(k>=n)exitk2=k+karth_d(k+1:min(k2,n))=temp+arth_d(1:min(k,n-k))temp=temp+tempk=k2end do end if END FUNCTION arth_d