Data Reshaping Restrictions/2
- when reshaped array is passed as an actual argument to a subroutine:
- if reshaped array is passed as a whole (I.e. call sub(A)), the formal parameter should match exactly the number of dimensions and their size
-
- if only elements of reshaped array are passed ( I.e. call sub(A(0)) or call sub(A(I)), the called procedure treats the incoming parameter as non-distributed
-
- for elements of reshaped array, the declared bounds on the formal parameter are required not to exceed the size of the distributed array portion passed in as actual argument. Example:
-
- compiler performs consistency check on the legality of the reshaping:
- -MP:dsm=ON (default)
- -MP:check_reshape={ON|OFF} (default OFF) generation of run-time consistency checks
- -MP:clone={ON|OFF} (default ON) automatically generate clones of procedures called with the reshaped parameters
c$ distribute_reshape A(cyclic(5))