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
pure function mat_vec_rel(A,v,transA,option)result(w)real(rk),intent(in),contiguous::A(:,:),v(:)real(rk),allocatable::w(:)character(*),intent(in),optional::optionlogical,intent(in),optional::transAif(present(transA))then if(transA)then! ATvallocate(w(size(A,2)),source=0.0_rk)call mat_vec_rel_ATv(A,v,w,option)else if(.not.transA)then! Avallocate(w(size(A,1)),source=0.0_rk)call mat_vec_rel_Av(A,v,w,option)end if else if(.not.present(transA))then! Avallocate(w(size(A,1)),source=0.0_rk)call mat_vec_rel_Av(A,v,w,option)end if end function mat_vec_rel