dbcsr_irecv_any Subroutine

public subroutine dbcsr_irecv_any(msgin, source, comm, request, tag)

Non-blocking recv of encapsulated data.

Note

see mp_irecv_iv

Arguments

Type IntentOptional Attributes Name
type(dbcsr_data_obj), intent(in) :: msgin
integer, intent(in) :: source
type(mp_comm_type), intent(in) :: comm
type(mp_request_type), intent(out) :: request
integer, intent(in), optional :: tag

Source Code

   SUBROUTINE dbcsr_irecv_any(msgin, source, comm, request, tag)
      !! Non-blocking recv of encapsulated data.
      !! @note see mp_irecv_iv

      TYPE(dbcsr_data_obj), INTENT(IN)                   :: msgin
      INTEGER, INTENT(IN)                                :: source
      TYPE(mp_comm_type), INTENT(IN)                     :: comm
      TYPE(mp_request_type), INTENT(OUT)                 :: request
      INTEGER, INTENT(IN), OPTIONAL                      :: tag

      SELECT CASE (dbcsr_data_get_type(msgin))
      CASE (dbcsr_type_real_4)
         CALL mp_irecv(msgin%d%r_sp, source, comm, request, tag)
      CASE (dbcsr_type_real_8)
         CALL mp_irecv(msgin%d%r_dp, source, comm, request, tag)
      CASE (dbcsr_type_complex_4)
         CALL mp_irecv(msgin%d%c_sp, source, comm, request, tag)
      CASE (dbcsr_type_complex_8)
         CALL mp_irecv(msgin%d%c_dp, source, comm, request, tag)
      CASE default
         DBCSR_ABORT("Incorrect data type")
      END SELECT
   END SUBROUTINE dbcsr_irecv_any