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