PERMUTATION
Purpose
The PERMUTATION directive specifies that the elements of each array that is listed in the integer_array_name_list have no repeated values. This directive is useful when you use array elements as subscripts for other array references.
The PERMUTATION directive only takes effect if you specify the -qsmp or -qhot compiler option.
Syntax
- integer_array_name
- is an integer array with no repeated values.
Rules
The first noncomment line (not including
other directives) that is following the PERMUTATION directive
must be a DO loop. This line cannot be an
infinite DO,
DO
CONCURRENT
, or DO WHILE loop.
The PERMUTATION directive applies only to
the DO loop that is immediately following
the directive, and not to any nested DO loops.
Examples
PROGRAM EX3
INTEGER A(100), B(100)
!IBM* PERMUTATION (A)
DO I = 1, 100
A(I) = I
B(A(I)) = B(A(I)) + A(I)
END DO
END PROGRAM EX3



