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 s_spline_matrix_dense__mat_add(self,a,amat,b,bmat)!self=a*amat+b*bmatclass(sll_t_spline_matrix_dense),intent(inout)::selfreal(wp),intent(in)::aclass(sll_c_spline_matrix),intent(in)::amatreal(wp),intent(in)::bclass(sll_c_spline_matrix),intent(in)::bmatselect type(amat);type is(sll_t_spline_matrix_dense)select type(bmat);type is(sll_t_spline_matrix_dense)SLL_ASSERT(amat%n==self%n)SLL_ASSERT(bmat%n==self%n)SLL_ASSERT(.NOT.amat%factorized)SLL_ASSERT(.NOT.bmat%factorized)self%a(:,:)=a*amat%a(:,:)+b*bmat%a(:,:)self%ipiv(:)=0self%factorized=.FALSE.end select end select end subroutine s_spline_matrix_dense__mat_add