real :: r1, r2 | |
complex :: c1, c2 | |
integer :: i1, i2 | |
!$omp atomic write | |
c1 = 0 | |
!$omp atomic write | |
r2 = 0 | |
!$omp atomic write | |
i2 = 0 | |
!$omp atomic read | |
r1 = c1 | |
!$omp atomic read | |
c2 = r2 | |
!$omp atomic read | |
i1 = r2 | |
!$omp atomic read | |
c2 = i2 | |
!$omp atomic write | |
c1 = r1 | |
!$omp atomic write | |
r2 = c2 | |
!$omp atomic write | |
r2 = i1 | |
!$omp atomic write | |
i2 = c2 | |
!$omp end atomic | |
!$omp atomic write | |
c1 = 1 + 2 + r1 | |
!$omp atomic write | |
r2 = c2 + 2 + 3 | |
!$omp atomic write | |
r2 = 3 + 4 + i1 | |
!$omp atomic write | |
i2 = c2 + 4 + 5 | |
!$omp atomic | |
c1 = c1 * 2. | |
!$omp atomic update | |
r2 = r2 / 4 | |
!$omp end atomic | |
!$omp atomic update | |
i2 = i2 + 8 | |
!$omp atomic capture | |
c1 = c1 * 2. | |
r1 = c1 | |
!$omp end atomic | |
!$omp atomic capture | |
c2 = r2 | |
r2 = r2 / 4 | |
!$omp end atomic | |
!$omp atomic capture | |
i2 = i2 + 8 | |
c2 = i2 | |
!$omp end atomic | |
end |