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.
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
subroutine unit_test_r0(this,res,expected,tol,msg,name,group)class(unit_test),intent(inout)::thisreal(rk),intent(in)::res,expectedreal(rk),intent(in),optional::tolcharacter(*),intent(in),optional::msgcharacter(len=*),optional,intent(in)::namecharacter(len=*),optional,intent(in)::groupreal(rk)::rel_errif(present(name))thenthis%name=nameelsethis%name=''end if if(present(name))thenthis%name=nameelsethis%name='none'end if if(present(msg))thenthis%msg=msgelsethis%msg='none'end if if(present(group))thenthis%group=groupelsethis%group='none'end if if(abs(expected)<=tiny(0.0_rk))thenrel_err=abs(res-expected)elserel_err=abs(res-expected)/abs(expected)end if if(present(tol))thenthis%result=rel_err<=tolelse! this%result = rel_err == 0.0_rkthis%result=abs(rel_err)<=2.0_rk*epsilon(0.0_rk)end if call this%print_msg(this%result)end subroutine unit_test_r0