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__solve_inplace(self,nrhs,bx)class(sll_t_spline_matrix_dense),intent(in)::selfinteger,intent(in)::nrhsreal(wp),dimension(*),intent(inout)::bxinteger::infocharacter(len=*),parameter::&this_sub_name="sll_t_spline_matrix_dense % solve_inplace"character(len=256)::err_msgSLL_ASSERT(size(self%a,1)==self%n)SLL_ASSERT(size(self%a,2)==self%n)! SLL_ASSERT( size(bx) == self%n*nrhs )SLL_ASSERT(self%factorized)! Solve linear system PLU*x=b using Lapackcall dgetrs('N',self%n,nrhs,self%a,self%n,self%ipiv,bx,self%n,info)if(info<0)then write(err_msg,'(i0,a)')abs(info),"-th argument had an illegal value"SLL_ERROR(this_sub_name,err_msg)end if end subroutine s_spline_matrix_dense__solve_inplace