Skip to content

Commit

Permalink
use integer(c_int) instead of integer in Fortran API
Browse files Browse the repository at this point in the history
  • Loading branch information
sbrdar committed Apr 23, 2024
1 parent 1fb9aaa commit 535f036
Showing 1 changed file with 32 additions and 16 deletions.
48 changes: 32 additions & 16 deletions src/atlas_f/field/atlas_FieldSet_module.fypp
Original file line number Diff line number Diff line change
Expand Up @@ -351,12 +351,13 @@ end subroutine
!-------------------------------------------------------------------------------

subroutine set_host_needs_update_value(this, value)
use, intrinsic :: iso_c_binding, only : c_int
use atlas_field_c_binding
use atlas_Field_module, only: atlas_Field
class(atlas_FieldSet), intent(inout) :: this
logical, intent(in), optional :: value
type(atlas_Field) :: field
integer :: i, value_int
integer(c_int) :: i, value_int
value_int = 1
if (present(value)) then
if (.not. value) then
Expand All @@ -372,13 +373,14 @@ end subroutine
!-------------------------------------------------------------------------------

subroutine set_host_needs_update_idx(this, field_indices, value)
use, intrinsic :: iso_c_binding, only : c_int
use atlas_field_c_binding
use atlas_Field_module, only: atlas_Field
class(atlas_FieldSet), intent(inout) :: this
integer, intent(in) :: field_indices(:)
logical, intent(in), optional :: value
type(atlas_Field) :: field
integer :: i, value_int
integer(c_int) :: i, value_int
value_int = 1
if (present(value)) then
if (.not. value) then
Expand All @@ -394,13 +396,14 @@ end subroutine
!-------------------------------------------------------------------------------

subroutine set_host_needs_update_name(this, field_names, value)
use, intrinsic :: iso_c_binding, only : c_int
use atlas_field_c_binding
use atlas_Field_module, only: atlas_Field
class(atlas_FieldSet), intent(inout) :: this
character(*), intent(in) :: field_names(:)
logical, intent(in), optional :: value
type(atlas_Field) :: field
integer :: i, value_int
integer(c_int) :: i, value_int
value_int = 1
if (present(value)) then
if (.not. value) then
Expand All @@ -416,12 +419,13 @@ end subroutine
!-------------------------------------------------------------------------------

subroutine set_device_needs_update_value(this, value)
use, intrinsic :: iso_c_binding, only : c_int
use atlas_field_c_binding
use atlas_Field_module, only: atlas_Field
class(atlas_FieldSet), intent(inout) :: this
logical, intent(in), optional :: value
type(atlas_Field) :: field
integer :: i, value_int
integer(c_int) :: i, value_int
value_int = 1
if (present(value)) then
if (.not. value) then
Expand All @@ -437,13 +441,14 @@ end subroutine
!-------------------------------------------------------------------------------

subroutine set_device_needs_update_idx(this, field_indices, value)
use, intrinsic :: iso_c_binding, only : c_int
use atlas_field_c_binding
use atlas_Field_module, only: atlas_Field
class(atlas_FieldSet), intent(inout) :: this
integer, intent(in) :: field_indices(:)
logical, intent(in), optional :: value
type(atlas_Field) :: field
integer :: i, value_int
integer(c_int) :: i, value_int
value_int = 1
if (present(value)) then
if (.not. value) then
Expand All @@ -459,13 +464,14 @@ end subroutine
!-------------------------------------------------------------------------------

subroutine set_device_needs_update_name(this, field_names, value)
use, intrinsic :: iso_c_binding, only : c_int
use atlas_field_c_binding
use atlas_Field_module, only: atlas_Field
class(atlas_FieldSet), intent(inout) :: this
character(*), intent(in) :: field_names(:)
logical, intent(in), optional :: value
type(atlas_Field) :: field
integer :: i, value_int
integer(c_int) :: i, value_int
value_int = 1
if (present(value)) then
if (.not. value) then
Expand All @@ -481,12 +487,13 @@ end subroutine
!-------------------------------------------------------------------------------

subroutine sync_host_device_idx(this, field_indices)
use, intrinsic :: iso_c_binding, only : c_int
use atlas_field_c_binding
use atlas_Field_module, only: atlas_Field
class(atlas_FieldSet), intent(inout) :: this
integer, intent(in), optional :: field_indices(:)
type(atlas_Field) :: field
integer :: i
integer(c_int) :: i
if (present(field_indices)) then
do i = 1, size(field_indices)
field = this%field(field_indices(i))
Expand All @@ -503,12 +510,13 @@ end subroutine
!-------------------------------------------------------------------------------

subroutine sync_host_device_name(this, field_names)
use, intrinsic :: iso_c_binding, only : c_int
use atlas_field_c_binding
use atlas_Field_module, only: atlas_Field
class(atlas_FieldSet), intent(inout) :: this
character(*), intent(in) :: field_names(:)
type(atlas_Field) :: field
integer :: i
integer(c_int) :: i
do i = 1, size(field_names)
field = this%field(field_names(i))
call atlas__Field__sync_host_device(field%CPTR_PGIBUG_A)
Expand All @@ -518,12 +526,13 @@ end subroutine
!-------------------------------------------------------------------------------

subroutine allocate_device_idx(this, field_indices)
use, intrinsic :: iso_c_binding, only : c_int
use atlas_field_c_binding
use atlas_Field_module, only: atlas_Field
class(atlas_FieldSet), intent(inout) :: this
integer, intent(in), optional :: field_indices(:)
type(atlas_Field) :: field
integer :: i
integer(c_int) :: i
if (present(field_indices)) then
do i = 1, size(field_indices)
field = this%field(field_indices(i))
Expand All @@ -540,12 +549,13 @@ end subroutine
!-------------------------------------------------------------------------------

subroutine allocate_device_name(this, field_names)
use, intrinsic :: iso_c_binding, only : c_int
use atlas_field_c_binding
use atlas_Field_module, only: atlas_Field
class(atlas_FieldSet), intent(inout) :: this
character(*), intent(in) :: field_names(:)
type(atlas_Field) :: field
integer :: i
integer(c_int) :: i
do i = 1, size(field_names)
field = this%field(field_names(i))
call atlas__Field__allocate_device(field%CPTR_PGIBUG_A)
Expand All @@ -555,12 +565,13 @@ end subroutine
!-------------------------------------------------------------------------------

subroutine update_device_idx(this, field_indices)
use, intrinsic :: iso_c_binding, only : c_int
use atlas_field_c_binding
use atlas_Field_module, only: atlas_Field
class(atlas_FieldSet), intent(inout) :: this
integer, intent(in), optional :: field_indices(:)
type(atlas_Field) :: field
integer :: i
integer(c_int) :: i
if (present(field_indices)) then
do i = 1, size(field_indices)
field = this%field(field_indices(i))
Expand All @@ -577,12 +588,13 @@ end subroutine
!-------------------------------------------------------------------------------

subroutine update_device_name(this, field_names)
use, intrinsic :: iso_c_binding, only : c_int
use atlas_field_c_binding
use atlas_Field_module, only: atlas_Field
class(atlas_FieldSet), intent(inout) :: this
character(*), intent(in) :: field_names(:)
type(atlas_Field) :: field
integer :: i
integer(c_int) :: i
do i = 1, size(field_names)
field = this%field(field_names(i))
call atlas__Field__update_device(field%CPTR_PGIBUG_A)
Expand All @@ -592,12 +604,13 @@ end subroutine
!-------------------------------------------------------------------------------

subroutine update_host_idx(this, field_indices)
use, intrinsic :: iso_c_binding, only : c_int
use atlas_field_c_binding
use atlas_Field_module, only: atlas_Field
class(atlas_FieldSet), intent(inout) :: this
integer, optional :: field_indices(:)
type(atlas_Field) :: field
integer :: i
integer(c_int) :: i
if (present(field_indices)) then
do i = 1, size(field_indices)
field = this%field(field_indices(i))
Expand All @@ -614,12 +627,13 @@ end subroutine
!-------------------------------------------------------------------------------

subroutine update_host_name(this, field_names)
use, intrinsic :: iso_c_binding, only : c_int
use atlas_field_c_binding
use atlas_Field_module, only: atlas_Field
class(atlas_FieldSet), intent(inout) :: this
character(*), intent(in) :: field_names(:)
type(atlas_Field) :: field
integer :: i
integer(c_int) :: i
do i = 1, size(field_names)
field = this%field(field_names(i))
call atlas__Field__update_host(field%CPTR_PGIBUG_A)
Expand All @@ -629,12 +643,13 @@ end subroutine
!-------------------------------------------------------------------------------

subroutine deallocate_device_idx(this, field_indices)
use, intrinsic :: iso_c_binding, only : c_int
use atlas_field_c_binding
use atlas_Field_module, only: atlas_Field
class(atlas_FieldSet), intent(inout) :: this
integer, optional :: field_indices(:)
type(atlas_Field) :: field
integer :: i
integer(c_int) :: i
if (present(field_indices)) then
do i = 1, size(field_indices)
field = this%field(field_indices(i))
Expand All @@ -651,12 +666,13 @@ end subroutine
!-------------------------------------------------------------------------------

subroutine deallocate_device_name(this, field_names)
use, intrinsic :: iso_c_binding, only : c_int
use atlas_field_c_binding
use atlas_Field_module, only: atlas_Field
class(atlas_FieldSet), intent(inout) :: this
character(*), intent(in) :: field_names(:)
type(atlas_Field) :: field
integer :: i
integer(c_int) :: i
do i = 1, size(field_names)
field = this%field(field_names(i))
call atlas__Field__deallocate_device(field%CPTR_PGIBUG_A)
Expand Down

0 comments on commit 535f036

Please sign in to comment.