| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(sll_t_spline_matrix_banded), | intent(in) | :: | self | |||
| real(kind=wp), | intent(in) | :: | v_in(:) |
function s_spline_matrix_banded__matvec_prod( self, v_in) result(v_out ) class(sll_t_spline_matrix_banded), intent(in) :: self real(wp) , intent(in) :: v_in(:) real(wp) :: v_out(size(v_in)) integer :: j,imin,imax SLL_ASSERT( size(v_in,1) == self%n ) SLL_ASSERT( .not.self%factorized ) DO j=1,self%n imin=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