!---- Filename: reduction.f
!---- This program shows the use of the reduction clause
      program reduction
      implicit none
      integer tnumber, OMP_GET_THREAD_NUM
      integer i, j, k
      i=1
      j=1
      k=1
      write (*,*) "Before par region: I =",i,"J =",j,"K =",k
      write (*,*) ""
      !$OMP PARALLEL DEFAULT(PRIVATE) REDUCTION(+:I)&
      !$OMP                 REDUCTION(*:J) REDUCTION(MAX:K)
      tnumber=OMP_GET_THREAD_NUM()
      i=tnumber
      j=tnumber
      k=tnumber
      write (*,*) "Thread",tnumber,"I =",i,"J =",j,"K =",k
      !$OMP END PARALLEL
      write (*,*) ""
      write (*,*) "After Par Region:  I =",i,"J =",j,"K =",k
      end

