comm_recv_logical Subroutine

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

Arguments

Type IntentOptional Attributes Name
type(comm_t), intent(in) :: comm
logical, 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_logical~2~~CallsGraph proc~comm_recv_logical~2 comm_recv_logical mpi_recv mpi_recv proc~comm_recv_logical~2->mpi_recv proc~status_array_to_type status_array_to_type proc~comm_recv_logical~2->proc~status_array_to_type

Called by

proc~~comm_recv_logical~2~~CalledByGraph proc~comm_recv_logical~2 comm_recv_logical interface~recv~2 recv interface~recv~2->proc~comm_recv_logical~2

Variables

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

Source Code

   subroutine comm_recv_logical(comm, data, source, tag, status)
      type(comm_t), intent(in) :: comm
      logical, intent(out) :: data
      integer(int32), intent(in) :: source
      integer(int32), intent(in) :: tag
      type(MPI_Status), intent(out), optional :: status
      integer :: stat(MPI_STATUS_SIZE)
      integer(int32) :: ierr

      if (present(status)) then
         call MPI_Recv(data, 1_int32, MPI_LOGICAL, source, tag, comm%m_comm, stat, ierr)
         status = status_array_to_type(stat)
      else
         call MPI_Recv(data, 1_int32, MPI_LOGICAL, source, tag, comm%m_comm, stat, ierr)
      end if
   end subroutine comm_recv_logical