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.
Source Code
elemental pure subroutine rgb_to_hsv(r,g,b,h,s,v)integer(ik),intent(in)::r,g,breal(rk),intent(out)::h,s,vreal(rk)::rn,gn,bn,cmax,cmin,deltarn=real(r,kind=rk)/255.0_rkgn=real(g,kind=rk)/255.0_rkbn=real(b,kind=rk)/255.0_rkcmax=max(rn,max(gn,bn))cmin=min(rn,min(gn,bn))delta=cmax-cminv=cmaxif(delta<1e-6_rk)thenh=0.0_rks=0.0_rkelse if(cmax>0.0_rk)thens=delta/cmaxif(abs(cmax-rn)<1.0e-6_rk)thenh=60.0_rk*mod(((gn-bn)/delta),6.0_rk)elseif(abs(cmax-gn)<1.0e-6_rk)thenh=60.0_rk*(((bn-rn)/delta)+2.0_rk)elseh=60.0_rk*(((rn-gn)/delta)+4.0_rk)end if end if if(h<0.0_rk)h=h+360.0_rkend ifs=s*100.0_rkv=v*100.0_rkend subroutine rgb_to_hsv