ScalES-PPM
Private Member Functions | List of all members
ppm_distributed_array::dist_mult_array_local_ptr Interface Reference

get POINTER to local portion of sub-array More...

Private Member Functions

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)
 

Detailed Description

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 ! and other modifications of a5p...
CALL dist_mult_array_expose(dma)

The documentation for this interface was generated from the following file:

Das diesem Bericht zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung, und Forschung unter dem Förderkennzeichen 01IH08004E gefördert. Die Verantwortung für den Inhalt dieser Veröffentlichung liegt beim Autor.