private subroutine s_spline_matrix_dense__mat_add(self, a, amat, b, bmat)
Type Bound
sll_t_spline_matrix_dense
Arguments
Source Code
subroutine s_spline_matrix_dense__mat_add( self,a,amat,b,bmat) !self=a*amat+b*bmat
class(sll_t_spline_matrix_dense), 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_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(:)=0
self%factorized=.FALSE.
end select
end select
end subroutine s_spline_matrix_dense__mat_add