da_matmulti.inc

References to this file elsewhere.
1 subroutine da_matmulti(mata,matb,matc,ni,nj,nab)
2 
3    !-----------------------------------------------------------------------
4    ! Purpose: TBD
5    !-----------------------------------------------------------------------
6 
7    implicit none
8 
9    integer, intent(in)  :: ni, nj, nab
10    real,    intent(in)  :: mata(ni,nab), matb(nab, nj)
11    real,    intent(out) :: matc(ni,nj)
12 
13    integer :: i, j, k            ! Loop counters
14 
15    if (trace_use) call da_trace_entry("da_matmultiover")
16 
17    matc = 0.0
18 
19    do i=1,ni
20       do j=1,nj 
21          do k=1,nab
22             matc(i,j) = matc(i,j) + mata(i,k)*matb(k,j)
23          end do
24       end do
25    end do
26 
27    if (trace_use) call da_trace_exit("da_matmultiover")
28 
29 end subroutine da_matmulti
30 
31