receive_logical_array Subroutine

private subroutine receive_logical_array(f, src, tag)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
logical, intent(out), dimension (:) :: f
integer, intent(in) :: src
integer, intent(in), optional :: tag

Contents

Source Code


Source Code

  subroutine receive_logical_array (f, src, tag)
    implicit none
# ifdef MPI
    logical, dimension (:), intent (out) :: f
# else
    logical, dimension (:) :: f
# endif
    integer, intent (in) :: src
    integer, intent (in), optional :: tag
# ifdef MPI
    integer :: ierror
    integer :: tagp
    integer, dimension (MPI_STATUS_SIZE) :: status
    tagp = 0
    if (present(tag)) tagp = tag
!$OMP MASTER
    call time_message(.false., time_mp_ptp, ' MPI Point-to-point')
!$OMP END MASTER
    call mpi_recv (f, size(f), MPI_LOGICAL, src, tagp, mp_comm, &
         status, ierror)
!$OMP MASTER
    call time_message(.false., time_mp_ptp, ' MPI Point-to-point')
!$OMP END MASTER
# else
    call mp_abort ("receive")
# endif
  end subroutine receive_logical_array