scons_gd/scons/test/fixture/fortran_unittests/test_2.f90
2022-10-15 16:06:26 +02:00

71 lines
1.2 KiB
Fortran

module test_2
type test_type_2
integer :: m
contains
procedure :: set_m
procedure :: get_m
procedure :: increment_m
procedure :: decrement_m
end type test_type_2
interface
module subroutine set_m ( this, m )
class(test_type_2), intent(inout) :: this
integer, intent(in) :: m
end subroutine
module function get_m ( this )
class(test_type_2), intent(in) :: this
integer :: get_m
end function get_m
module pure subroutine increment_m ( this )
class(test_type_2), intent(inout) :: this
end subroutine increment_m
module elemental subroutine decrement_m ( this )
class(test_type_2), intent(inout) :: this
end subroutine decrement_m
end interface
end module test_2
submodule(test_2) test_2_impl
contains
module procedure set_m
implicit none
this%m = m
end procedure set_m
module procedure get_m
implicit none
get_m = this%m
end procedure get_m
module procedure increment_m
implicit none
this%m = this%m+1
end procedure increment_m
module procedure decrement_m
implicit none
this%m = this%m-1
end procedure decrement_m
end submodule test_2_impl