coarray_access_s.F90 Source File


This file depends on

sourcefile~~coarray_access_s.f90~~EfferentGraph sourcefile~coarray_access_s.f90 coarray_access_s.F90 sourcefile~prif_private_s.f90 prif_private_s.F90 sourcefile~coarray_access_s.f90->sourcefile~prif_private_s.f90 sourcefile~prif.f90 prif.F90 sourcefile~prif_private_s.f90->sourcefile~prif.f90

Contents

Source Code


Source Code

! Copyright (c), The Regents of the University of California
! Terms of use are as specified in LICENSE.txt
submodule(prif:prif_private_s) coarray_access_s
  use iso_c_binding, only: c_loc

  implicit none

contains

  module procedure prif_put
    integer(c_intptr_t) :: remote_base

    call base_pointer(coarray_handle, image_num, remote_base)
    call prif_put_indirect( &
        image_num = image_num, &
        remote_ptr = remote_base + offset, &
        current_image_buffer = current_image_buffer, &
        size_in_bytes = size_in_bytes)
  end procedure

  module procedure prif_put_indirect
    call caf_put( &
        image = image_num, &
        dest = remote_ptr, &
        src = current_image_buffer, &
        size = size_in_bytes)
  end procedure

  module procedure prif_put_with_notify
    call unimplemented("prif_put_with_notify")
  end procedure

  module procedure prif_put_with_notify_indirect
    call unimplemented("prif_put_with_notify_indirect")
  end procedure

  module procedure prif_put_indirect_with_notify
    call unimplemented("prif_put_indirect_with_notify")
  end procedure

  module procedure prif_put_indirect_with_notify_indirect
    call unimplemented("prif_put_indirect_with_notify_indirect")
  end procedure

  module procedure prif_get
    integer(c_intptr_t) :: remote_base

    call base_pointer(coarray_handle, image_num, remote_base)
    call prif_get_indirect( &
        image_num = image_num, &
        remote_ptr = remote_base + offset, &
        current_image_buffer = current_image_buffer, &
        size_in_bytes = size_in_bytes, &
        stat = stat, &
        errmsg = errmsg, &
        errmsg_alloc = errmsg_alloc)
  end procedure

  module procedure prif_get_indirect
    call caf_get( &
        image = image_num, &
        dest = current_image_buffer, &
        src = remote_ptr, &
        size = size_in_bytes)
  end procedure

  module procedure prif_get_strided
    call unimplemented("prif_get_strided")
  end procedure

  module procedure prif_get_strided_indirect
    call unimplemented("prif_get_strided_indirect")
  end procedure

  module procedure prif_put_strided
    call unimplemented("prif_put_strided")
  end procedure

  module procedure prif_put_strided_indirect
    call unimplemented("prif_put_strided_indirect")
  end procedure

  module procedure prif_put_strided_with_notify
    call unimplemented("prif_put_strided_with_notify")
  end procedure

  module procedure prif_put_strided_with_notify_indirect
    call unimplemented("prif_put_strided_with_notify_indirect")
  end procedure

  module procedure prif_put_strided_indirect_with_notify
    call unimplemented("prif_put_strided_indirect_with_notify")
  end procedure

  module procedure prif_put_strided_indirect_with_notify_indirect
    call unimplemented("prif_put_strided_indirect_with_notify_indirect")
  end procedure

end submodule coarray_access_s