mirror of
https://github.com/OpenMP/Examples.git
synced 2025-04-10 16:32:11 +01:00
37 lines
602 B
Fortran
37 lines
602 B
Fortran
! @@name: unroll.1
|
|
! @@type: F-free
|
|
! @@operation: compile
|
|
! @@expect: success
|
|
! @@version: omp_5.1
|
|
subroutine unroll(A, n)
|
|
implicit none
|
|
integer :: i,n
|
|
double precision :: A(n)
|
|
|
|
!$omp unroll
|
|
do i = 1,n
|
|
A(i) = 0.0d0
|
|
end do
|
|
end subroutine
|
|
|
|
subroutine unroll_full(A)
|
|
implicit none
|
|
integer :: i
|
|
double precision :: A(*)
|
|
|
|
!$omp unroll full
|
|
do i = 1,4
|
|
A(i) = 0.0d0
|
|
end do
|
|
end subroutine
|
|
|
|
subroutine unroll_full_equivalent(A)
|
|
implicit none
|
|
double precision :: A(*)
|
|
|
|
A(1) = 0.0d0
|
|
A(2) = 0.0d0
|
|
A(3) = 0.0d0
|
|
A(4) = 0.0d0
|
|
end subroutine
|