1! Program to test the MERGE intrinsic
2program intrinsic_merge
3   integer, dimension(3) :: a, b
4   integer i
5
6   a = (/-1, 2, 3/)
7
8   i = 5
9   if (merge (-1, 1, i .gt. 3) .ne. -1) STOP 1
10   i = 1
11   if (merge (-1, 1, i .ge. 3) .ne. 1) STOP 2
12
13   b = merge(a, 0, a .ge. 0)
14   if (any (b .ne. (/0, 2, 3/))) STOP 3
15end program
16