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 c_check_tridiag(Amat)result(Mcheck)complex(8),dimension(:,:)::Amatlogical,dimension(size(Amat,1),size(Amat,2))::Lmatlogical::Mcheckinteger::i,NN=size(Amat,1)call assert_shape(Amat,[N,N],"c_check_tridiag","Amat")Lmat=.true.forall(i=1:N-1)Lmat(i+1,i)=.false.Lmat(i,i)=.false.Lmat(i,i+1)=.false.end forallLmat(N,N)=.false.Mcheck=.not.(sum(abs(Amat),mask=Lmat)>0d0)end function c_check_tridiag