status_array_to_type Function

private pure function status_array_to_type(status_array) result(status_type)

Convert legacy integer array status to MPI_Status type

Internal helper function for converting between array and type representations

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: status_array(MPI_STATUS_SIZE)

Return Value type(MPI_Status)


Called by

proc~~status_array_to_type~~CalledByGraph proc~status_array_to_type status_array_to_type proc~comm_iprobe~2 comm_iprobe proc~comm_iprobe~2->proc~status_array_to_type proc~comm_probe~2 comm_probe proc~comm_probe~2->proc~status_array_to_type proc~comm_recv_integer64_array_n~2 comm_recv_integer64_array_n proc~comm_recv_integer64_array_n~2->proc~status_array_to_type proc~comm_recv_integer64_array~2 comm_recv_integer64_array proc~comm_recv_integer64_array~2->proc~status_array_to_type proc~comm_recv_integer64~2 comm_recv_integer64 proc~comm_recv_integer64~2->proc~status_array_to_type proc~comm_recv_integer_array_2d_n~2 comm_recv_integer_array_2d_n proc~comm_recv_integer_array_2d_n~2->proc~status_array_to_type proc~comm_recv_integer_array_n~2 comm_recv_integer_array_n proc~comm_recv_integer_array_n~2->proc~status_array_to_type proc~comm_recv_integer_array~2 comm_recv_integer_array proc~comm_recv_integer_array~2->proc~status_array_to_type proc~comm_recv_integer~2 comm_recv_integer proc~comm_recv_integer~2->proc~status_array_to_type proc~comm_recv_logical~2 comm_recv_logical proc~comm_recv_logical~2->proc~status_array_to_type proc~comm_recv_real_dp_array_2d_n~2 comm_recv_real_dp_array_2d_n proc~comm_recv_real_dp_array_2d_n~2->proc~status_array_to_type proc~comm_recv_real_dp_array_2d~2 comm_recv_real_dp_array_2d proc~comm_recv_real_dp_array_2d~2->proc~status_array_to_type proc~comm_recv_real_dp_array_n~2 comm_recv_real_dp_array_n proc~comm_recv_real_dp_array_n~2->proc~status_array_to_type proc~comm_recv_real_dp_array~2 comm_recv_real_dp_array proc~comm_recv_real_dp_array~2->proc~status_array_to_type proc~comm_recv_real_dp~2 comm_recv_real_dp proc~comm_recv_real_dp~2->proc~status_array_to_type proc~comm_recv_real_sp_array_2d~2 comm_recv_real_sp_array_2d proc~comm_recv_real_sp_array_2d~2->proc~status_array_to_type proc~comm_recv_real_sp_array_n~2 comm_recv_real_sp_array_n proc~comm_recv_real_sp_array_n~2->proc~status_array_to_type proc~comm_recv_real_sp_array~2 comm_recv_real_sp_array proc~comm_recv_real_sp_array~2->proc~status_array_to_type proc~comm_recv_real_sp~2 comm_recv_real_sp proc~comm_recv_real_sp~2->proc~status_array_to_type proc~request_test~2 request_test proc~request_test~2->proc~status_array_to_type proc~request_waitall~2 request_waitall proc~request_waitall~2->proc~status_array_to_type proc~request_wait~2 request_wait proc~request_wait~2->proc~status_array_to_type interface~iprobe~2 iprobe interface~iprobe~2->proc~comm_iprobe~2 interface~probe~2 probe interface~probe~2->proc~comm_probe~2 interface~recv~2 recv interface~recv~2->proc~comm_recv_integer64_array_n~2 interface~recv~2->proc~comm_recv_integer64_array~2 interface~recv~2->proc~comm_recv_integer64~2 interface~recv~2->proc~comm_recv_integer_array_2d_n~2 interface~recv~2->proc~comm_recv_integer_array_n~2 interface~recv~2->proc~comm_recv_integer_array~2 interface~recv~2->proc~comm_recv_integer~2 interface~recv~2->proc~comm_recv_logical~2 interface~recv~2->proc~comm_recv_real_dp_array_2d_n~2 interface~recv~2->proc~comm_recv_real_dp_array_2d~2 interface~recv~2->proc~comm_recv_real_dp_array_n~2 interface~recv~2->proc~comm_recv_real_dp_array~2 interface~recv~2->proc~comm_recv_real_dp~2 interface~recv~2->proc~comm_recv_real_sp_array_2d~2 interface~recv~2->proc~comm_recv_real_sp_array_n~2 interface~recv~2->proc~comm_recv_real_sp_array~2 interface~recv~2->proc~comm_recv_real_sp~2 interface~test~2 test interface~test~2->proc~request_test~2 interface~waitall~2 waitall interface~waitall~2->proc~request_waitall~2 interface~wait~2 wait interface~wait~2->proc~request_wait~2

Source Code

   pure function status_array_to_type(status_array) result(status_type)
   !! Convert legacy integer array status to MPI_Status type
   !!
   !! Internal helper function for converting between array and type representations
      integer, intent(in) :: status_array(MPI_STATUS_SIZE)
      type(MPI_Status) :: status_type

      status_type%MPI_SOURCE = status_array(1)  ! MPI_SOURCE is at index 1
      status_type%MPI_TAG = status_array(2)     ! MPI_TAG is at index 2
      status_type%MPI_ERROR = status_array(3)   ! MPI_ERROR is at index 3
      status_type%internal(1:3) = status_array(4:6)
   end function status_array_to_type