comm_recv_integer Subroutine

private subroutine comm_recv_integer(comm, data, source, tag, status)

Blocking receive of an integer from specified source. Use MPI_ANY_SOURCE or MPI_ANY_TAG for wildcards.

Arguments

Type IntentOptional Attributes Name
type(comm_t), intent(in) :: comm
integer(kind=int32), intent(out) :: data
integer(kind=int32), intent(in) :: source
integer(kind=int32), intent(in) :: tag
type(MPI_Status), intent(out), optional :: status

Calls

proc~~comm_recv_integer~~CallsGraph proc~comm_recv_integer comm_recv_integer mpi_recv mpi_recv proc~comm_recv_integer->mpi_recv

Called by

proc~~comm_recv_integer~~CalledByGraph proc~comm_recv_integer comm_recv_integer interface~recv recv interface~recv->proc~comm_recv_integer

Variables

Type Visibility Attributes Name Initial
integer(kind=int32), private :: ierr

Source Code

   subroutine comm_recv_integer(comm, data, source, tag, status)
   !! Blocking receive of an integer from specified source.
   !! Use MPI_ANY_SOURCE or MPI_ANY_TAG for wildcards.
      type(comm_t), intent(in) :: comm
      integer(int32), intent(out) :: data
      integer(int32), intent(in) :: source
      integer(int32), intent(in) :: tag
      integer(int32) :: ierr
      type(MPI_Status), intent(out), optional :: status

      if (present(status)) then
         call MPI_Recv(data, 1, MPI_INTEGER, source, tag, comm%m_comm, status, ierr)
      else
         call MPI_Recv(data, 1, MPI_INTEGER, source, tag, comm%m_comm, MPI_STATUS_IGNORE, ierr)
      end if
   end subroutine comm_recv_integer