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 s_spline_matrix_banded__matvec_prod(self,v_in)result(v_out)class(sll_t_spline_matrix_banded),intent(in)::selfreal(wp),intent(in)::v_in(:)real(wp)::v_out(size(v_in))integer::j,imin,imaxSLL_ASSERT(size(v_in,1)==self%n)SLL_ASSERT(.not.self%factorized)DO j=1,self%nimin=max(1,j-self%ku)imax=min(self%n,j+self%kl)v_out(j)=DOT_PRODUCT(self%q(self%kl+self%ku+1+imin-j:self%kl+self%ku+1+imax-j,j),v_in(imin:imax))END DO end function s_spline_matrix_banded__matvec_prod