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
subroutine sf_init_cmatrix_coo(sparse,N,N1)type(sf_sparse_cmatrix_coo),intent(inout)::sparseinteger::Ninteger,optional::N1integer::i!#ifdef _DEBUGwrite(*,"(A)")"DEBUG sf_init_cmatrix_coo: allocate sparse"#endif!put here a delete statement to avoid problemsif(sparse%status)stop"sf_init_cmatrix_coo: already allocated can not init"!sparse%Nrow=Nsparse%Ncol=Nsparse%Size=0if(present(N1))sparse%Ncol=N1!allocate(sparse%rows(0))allocate(sparse%cols(0))allocate(sparse%vals(0))!sparse%status=.true.!end subroutine sf_init_cmatrix_coo