|
subroutine | dist_mult_array_local_ptr_c (dm_array, sub_array_idx, sub_array_ptr) |
| retrieve TYPE(c_ptr) to local chunk
|
|
subroutine | dist_mult_array_local_ptr_i4_1d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_i4_2d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_i4_3d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_i4_4d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_i4_5d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_i4_6d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_i4_7d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_i8_1d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_i8_2d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_i8_3d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_i8_4d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_i8_5d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_i8_6d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_i8_7d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_l_1d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_l_2d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_l_3d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_l_4d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_l_5d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_l_6d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_l_7d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_sp_1d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_sp_2d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_sp_3d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_sp_4d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_sp_5d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_sp_6d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_sp_7d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_dp_1d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_dp_2d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_dp_3d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_dp_4d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_dp_5d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_dp_6d (dm_array, sub_array_idx, sub_array_ptr) |
|
subroutine | dist_mult_array_local_ptr_dp_7d (dm_array, sub_array_idx, sub_array_ptr) |
|
get POINTER to local portion of sub-array
Obviously the rank of the POINTER argument has to match the dimensions used to specify the local part in the initialization of the distributed multi-array. In case the local part if of a non-intrinsic type, the user will need to get a TYPE(c_ptr) variable first and then convert to the corresponding type via C_F_POINTER.
To change the data at positions i_l,j_l for a rank 2 sub-array of type INTEGER at index 5 use code along the following lines:
TYPE(dist_mult_array) :: dma
INTEGER, POINTER :: a5p(:, :)
CALL dist_mult_array_local_ptr(dma, 5, a5p)
CALL dist_mult_array_unexpose(dma)
a5p(i_l, j_l) = i * j
CALL dist_mult_array_expose(dma)