mirror of
https://github.com/Relintai/scons_gd.git
synced 2025-03-22 19:17:38 +01:00
71 lines
1.2 KiB
Fortran
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
|