| ! Compute the dot product of two vectors w/ 4 entries with explicit loops. | |
| ! Try changing the target architecture to AVX (-mavx) | |
| ! and enabling optimisation (-O3) and compare the results. | |
| real function dot_prod(a, b) | |
| implicit none | |
| real, intent(in), dimension(4) :: a, b | |
| real, dimension(4) :: temp | |
| integer :: i | |
| do i = 1, 4 | |
| temp(i) = a(i) * b(i) | |
| end do | |
| dot_prod = 0. | |
| do i = 1,4 | |
| dot_prod = dot_prod + temp(i) | |
| end do | |
| return | |
| end function dot_prod |