mm_ATBT_3 Subroutine

private pure subroutine mm_ATBT_3(A, B, C)

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in), contiguous :: A(:,:)
real(kind=rk), intent(in), contiguous :: B(:,:)
real(kind=rk), intent(inout), contiguous :: C(:,:)

Called by

proc~~mm_atbt_3~~CalledByGraph proc~mm_atbt_3 formatmul_opts::mm_ATBT_3 proc~mat_mat_rel_atbt_opt formatmul_opts::mat_mat_rel_ATBT_opt proc~mat_mat_rel_atbt_opt->proc~mm_atbt_3 proc~mat_mat_rel_atbt formatmul::mat_mat_rel_ATBT proc~mat_mat_rel_atbt->proc~mat_mat_rel_atbt_opt proc~mat_mat_rel formatmul::mat_mat_rel proc~mat_mat_rel->proc~mat_mat_rel_atbt interface~matmul formatmul::matmul interface~matmul->proc~mat_mat_rel

Source Code

   pure subroutine mm_ATBT_3(A, B, C)
      real(rk), intent(in), contiguous :: A(:,:), B(:,:)
      real(rk), intent(inout), contiguous :: C(:,:)
      integer :: m, n, p
      integer :: i, j, k

      m = size(A,2)
      n = size(A,1)
      p = size(B,1)

      do i=1,m
         do j=1,n
            do k=1,p
               c(i,k) = c(i,k) + a(j,i)*b(k,j)
            end do
         end do
      end do

   end subroutine mm_ATBT_3