mm_ATB_6 Subroutine

private pure subroutine mm_ATB_6(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_atb_6~~CalledByGraph proc~mm_atb_6 formatmul_opts::mm_ATB_6 proc~mat_mat_rel_atb_opt formatmul_opts::mat_mat_rel_ATB_opt proc~mat_mat_rel_atb_opt->proc~mm_atb_6 proc~mat_mat_rel_atb formatmul::mat_mat_rel_ATB proc~mat_mat_rel_atb->proc~mat_mat_rel_atb_opt proc~mat_mat_rel formatmul::mat_mat_rel proc~mat_mat_rel->proc~mat_mat_rel_atb interface~matmul formatmul::matmul interface~matmul->proc~mat_mat_rel

Source Code

   pure subroutine mm_ATB_6(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,2)

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

   end subroutine mm_ATB_6