8 integer, parameter :: n = 10, vl = 32
10 complex :: vresult, result
11 complex, dimension (n) :: array
22 !$acc parallel vector_length(vl) num_gangs(1)
23 !$acc loop reduction(+:result)
25 result = result + array(i)
31 vresult = vresult + array(i)
34 if (result .ne. vresult) call abort
41 ! !$acc parallel vector_length(vl)
42 ! !$acc loop reduction(*:result)
44 ! result = result * array(i)
48 ! ! Verify the results
50 ! vresult = vresult * array(i)
53 ! if (result.ne.vresult) call abort
54 end program reduction_4