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.
Source Code
FUNCTION fprime_right_end(del1,del2,fprime)! This is essentially the same as fprime_left_end( del2, del1, fprime )! Written separately for clarityREAL(KIND=8),INTENT(IN)::del1,del2,fprimeREAL(KIND=8)::fprime_right_endfprime_right_end=fprimeIF(del2*fprime<=0.0D0)THEN! set derivative to zero if the sign differs from sign of secant slopefprime_right_end=0.0;ELSE IF((del1*del2<=0.0D0).AND.(ABS(fprime)>ABS(3.0D0*del2)))THEN! adjust derivative value to enforce monotonicityfprime_right_end=3.0D0*del2;END IF END FUNCTION fprime_right_end