10 integer :: val(3), tmp_val(3)
13 if (this_image() == 1) then
19 if (this_image() == num_images()) then
33 call co_max (val(::2))
34 if (num_images() > 1) then
35 if (any (val
/= [42, this_image(), 101])) call abort()
37 if (any (val
/= [42, this_image(), -55])) call abort()
42 if (num_images() > 1) then
43 if (any (val
/= [42, num_images(), 101])) call abort()
45 if (any (val
/= [42, num_images(), -55])) call abort()
47 end subroutine test_max
50 call co_min (val
, result_image
=num_images())
51 if (this_image() == num_images()) then
52 !write(*,*) "Minimal value", val
53 if (num_images() > 1) then
54 if (any (val
/= [-99, 1, -55])) call abort()
56 if (any (val
/= [42, 1, -55])) call abort()
59 if (any (val
/= tmp_val
)) call abort()
61 end subroutine test_min
66 call co_sum (val
, result_image
=1, stat
=n
)
67 if (n
/= 0) call abort()
68 if (this_image() == 1) then
70 !write(*,*) "The sum is ", val
71 if (any (val
/= [42 + (n
-1)*(-99), (n
**2 + n
)/2, -55+(n
-1)*101])) call abort()
73 if (any (val
/= tmp_val
)) call abort()
75 end subroutine test_sum