mirror of
https://github.com/OpenMP/Examples.git
synced 2025-04-07 23:22:11 +01:00
21 lines
406 B
Fortran
21 lines
406 B
Fortran
! @@name: tasking.4f
|
|
! @@type: F-fixed
|
|
! @@compilable: yes
|
|
! @@linkable: no
|
|
! @@expect: success
|
|
RECURSIVE INTEGER FUNCTION fib(n) RESULT(res)
|
|
INTEGER n, i, j
|
|
IF ( n .LT. 2) THEN
|
|
res = n
|
|
ELSE
|
|
!$OMP TASK SHARED(i)
|
|
i = fib( n-1 )
|
|
!$OMP END TASK
|
|
!$OMP TASK SHARED(j)
|
|
j = fib( n-2 )
|
|
!$OMP END TASK
|
|
!$OMP TASKWAIT
|
|
res = i+j
|
|
END IF
|
|
END FUNCTION
|