| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(sll_t_spline_matrix_banded), | intent(inout) | :: | self | |||
| real(kind=wp), | intent(in) | :: | a | |||
| class(sll_c_spline_matrix), | intent(in) | :: | amat | |||
| real(kind=wp), | intent(in) | :: | b | |||
| class(sll_c_spline_matrix), | intent(in) | :: | bmat |
subroutine s_spline_matrix_banded__mat_add( self,a,amat,b,bmat) !self=a*amat+b*bmat class(sll_t_spline_matrix_banded), intent(inout) :: self real(wp) , intent(in ) :: a class(sll_c_spline_matrix ), intent(in ) :: amat real(wp) , intent(in ) :: b class(sll_c_spline_matrix ), intent(in ) :: bmat select type(amat); type is(sll_t_spline_matrix_banded) select type(bmat); type is(sll_t_spline_matrix_banded) SLL_ASSERT( amat%n == self%n ) SLL_ASSERT( amat%kl == self%kl ) SLL_ASSERT( amat%ku == self%ku ) SLL_ASSERT( bmat%n == self%n ) SLL_ASSERT( bmat%kl == self%kl ) SLL_ASSERT( bmat%ku == self%ku ) SLL_ASSERT( .not.amat%factorized ) SLL_ASSERT( .not.bmat%factorized ) self%q(:,:) = a*amat%q(:,:)+b*bmat%q(:,:) self%ipiv(:)=0 self%factorized=.FALSE. end select end select end subroutine s_spline_matrix_banded__mat_add