!--
! *** Caution!! ***
! 
! This file is generated from "polymorphism.rb2f90" by Ruby 1.8.5.
! Please do not edit this file directly.
!
! [JAPANESE]
!
! ※※※ 注意!!! ※※※
!
! このファイルは "polymorphism.rb2f90" から Ruby 1.8.5
! によって自動生成されたファイルです.
! このファイルを直接編集しませんようお願い致します.
!
!
!++
!
!= polymorphism: rb2f90 サンプルコード
!
module polymorphism

  interface Polymor
                                            module procedure PolymorInt0
                    
    module procedure PolymorInt1
                    
    module procedure PolymorInt2
                    
    module procedure PolymorInt3
                    
    module procedure PolymorInt4
                    
    module procedure PolymorInt5
                    
    module procedure PolymorInt6
                    
    module procedure PolymorInt7
                    
                    
                        module procedure PolymorReal0
                    
    module procedure PolymorReal1
                    
    module procedure PolymorReal2
                    
    module procedure PolymorReal3
                    
    module procedure PolymorReal4
                    
    module procedure PolymorReal5
                    
    module procedure PolymorReal6
                    
    module procedure PolymorReal7
                    
                    
                        module procedure PolymorDouble0
                    
    module procedure PolymorDouble1
                    
    module procedure PolymorDouble2
                    
    module procedure PolymorDouble3
                    
    module procedure PolymorDouble4
                    
    module procedure PolymorDouble5
                    
    module procedure PolymorDouble6
                    
    module procedure PolymorDouble7
                    
                    
  end interface

contains


    subroutine PolymorInt0(array)
      use dc_types, only: DP
      integer, intent(inout) :: array
      character(*), parameter:: subname = 'PolymorInt0'

      write(*,*) subname, ' is called'

      array = array + 1

                          write(*,*) 'sum=', array
                    

    end subroutine PolymorInt0


    subroutine PolymorInt1(array)
      use dc_types, only: DP
      integer, intent(inout) :: array(:)
      character(*), parameter:: subname = 'PolymorInt1'

      write(*,*) subname, ' is called'

      array = array + 1

                          write(*,*) 'sum=', sum(array, .true.)
                    

    end subroutine PolymorInt1


    subroutine PolymorInt2(array)
      use dc_types, only: DP
      integer, intent(inout) :: array(:,:)
      character(*), parameter:: subname = 'PolymorInt2'

      write(*,*) subname, ' is called'

      array = array + 1

                          write(*,*) 'sum=', sum(array, .true.)
                    

    end subroutine PolymorInt2


    subroutine PolymorInt3(array)
      use dc_types, only: DP
      integer, intent(inout) :: array(:,:,:)
      character(*), parameter:: subname = 'PolymorInt3'

      write(*,*) subname, ' is called'

      array = array + 1

                          write(*,*) 'sum=', sum(array, .true.)
                    

    end subroutine PolymorInt3


    subroutine PolymorInt4(array)
      use dc_types, only: DP
      integer, intent(inout) :: array(:,:,:,:)
      character(*), parameter:: subname = 'PolymorInt4'

      write(*,*) subname, ' is called'

      array = array + 1

                          write(*,*) 'sum=', sum(array, .true.)
                    

    end subroutine PolymorInt4


    subroutine PolymorInt5(array)
      use dc_types, only: DP
      integer, intent(inout) :: array(:,:,:,:,:)
      character(*), parameter:: subname = 'PolymorInt5'

      write(*,*) subname, ' is called'

      array = array + 1

                          write(*,*) 'sum=', sum(array, .true.)
                    

    end subroutine PolymorInt5


    subroutine PolymorInt6(array)
      use dc_types, only: DP
      integer, intent(inout) :: array(:,:,:,:,:,:)
      character(*), parameter:: subname = 'PolymorInt6'

      write(*,*) subname, ' is called'

      array = array + 1

                          write(*,*) 'sum=', sum(array, .true.)
                    

    end subroutine PolymorInt6


    subroutine PolymorInt7(array)
      use dc_types, only: DP
      integer, intent(inout) :: array(:,:,:,:,:,:,:)
      character(*), parameter:: subname = 'PolymorInt7'

      write(*,*) subname, ' is called'

      array = array + 1

                          write(*,*) 'sum=', sum(array, .true.)
                    

    end subroutine PolymorInt7


    subroutine PolymorReal0(array)
      use dc_types, only: DP
      real, intent(inout) :: array
      character(*), parameter:: subname = 'PolymorReal0'

      write(*,*) subname, ' is called'

      array = array + 1.0

                          write(*,*) 'sum=', array
                    

    end subroutine PolymorReal0


    subroutine PolymorReal1(array)
      use dc_types, only: DP
      real, intent(inout) :: array(:)
      character(*), parameter:: subname = 'PolymorReal1'

      write(*,*) subname, ' is called'

      array = array + 1.0

                          write(*,*) 'sum=', sum(array, .true.)
                    

    end subroutine PolymorReal1


    subroutine PolymorReal2(array)
      use dc_types, only: DP
      real, intent(inout) :: array(:,:)
      character(*), parameter:: subname = 'PolymorReal2'

      write(*,*) subname, ' is called'

      array = array + 1.0

                          write(*,*) 'sum=', sum(array, .true.)
                    

    end subroutine PolymorReal2


    subroutine PolymorReal3(array)
      use dc_types, only: DP
      real, intent(inout) :: array(:,:,:)
      character(*), parameter:: subname = 'PolymorReal3'

      write(*,*) subname, ' is called'

      array = array + 1.0

                          write(*,*) 'sum=', sum(array, .true.)
                    

    end subroutine PolymorReal3


    subroutine PolymorReal4(array)
      use dc_types, only: DP
      real, intent(inout) :: array(:,:,:,:)
      character(*), parameter:: subname = 'PolymorReal4'

      write(*,*) subname, ' is called'

      array = array + 1.0

                          write(*,*) 'sum=', sum(array, .true.)
                    

    end subroutine PolymorReal4


    subroutine PolymorReal5(array)
      use dc_types, only: DP
      real, intent(inout) :: array(:,:,:,:,:)
      character(*), parameter:: subname = 'PolymorReal5'

      write(*,*) subname, ' is called'

      array = array + 1.0

                          write(*,*) 'sum=', sum(array, .true.)
                    

    end subroutine PolymorReal5


    subroutine PolymorReal6(array)
      use dc_types, only: DP
      real, intent(inout) :: array(:,:,:,:,:,:)
      character(*), parameter:: subname = 'PolymorReal6'

      write(*,*) subname, ' is called'

      array = array + 1.0

                          write(*,*) 'sum=', sum(array, .true.)
                    

    end subroutine PolymorReal6


    subroutine PolymorReal7(array)
      use dc_types, only: DP
      real, intent(inout) :: array(:,:,:,:,:,:,:)
      character(*), parameter:: subname = 'PolymorReal7'

      write(*,*) subname, ' is called'

      array = array + 1.0

                          write(*,*) 'sum=', sum(array, .true.)
                    

    end subroutine PolymorReal7


    subroutine PolymorDouble0(array)
      use dc_types, only: DP
      real(DP), intent(inout) :: array
      character(*), parameter:: subname = 'PolymorDouble0'

      write(*,*) subname, ' is called'

      array = array + 1.0_DP

                          write(*,*) 'sum=', array
                    

    end subroutine PolymorDouble0


    subroutine PolymorDouble1(array)
      use dc_types, only: DP
      real(DP), intent(inout) :: array(:)
      character(*), parameter:: subname = 'PolymorDouble1'

      write(*,*) subname, ' is called'

      array = array + 1.0_DP

                          write(*,*) 'sum=', sum(array, .true.)
                    

    end subroutine PolymorDouble1


    subroutine PolymorDouble2(array)
      use dc_types, only: DP
      real(DP), intent(inout) :: array(:,:)
      character(*), parameter:: subname = 'PolymorDouble2'

      write(*,*) subname, ' is called'

      array = array + 1.0_DP

                          write(*,*) 'sum=', sum(array, .true.)
                    

    end subroutine PolymorDouble2


    subroutine PolymorDouble3(array)
      use dc_types, only: DP
      real(DP), intent(inout) :: array(:,:,:)
      character(*), parameter:: subname = 'PolymorDouble3'

      write(*,*) subname, ' is called'

      array = array + 1.0_DP

                          write(*,*) 'sum=', sum(array, .true.)
                    

    end subroutine PolymorDouble3


    subroutine PolymorDouble4(array)
      use dc_types, only: DP
      real(DP), intent(inout) :: array(:,:,:,:)
      character(*), parameter:: subname = 'PolymorDouble4'

      write(*,*) subname, ' is called'

      array = array + 1.0_DP

                          write(*,*) 'sum=', sum(array, .true.)
                    

    end subroutine PolymorDouble4


    subroutine PolymorDouble5(array)
      use dc_types, only: DP
      real(DP), intent(inout) :: array(:,:,:,:,:)
      character(*), parameter:: subname = 'PolymorDouble5'

      write(*,*) subname, ' is called'

      array = array + 1.0_DP

                          write(*,*) 'sum=', sum(array, .true.)
                    

    end subroutine PolymorDouble5


    subroutine PolymorDouble6(array)
      use dc_types, only: DP
      real(DP), intent(inout) :: array(:,:,:,:,:,:)
      character(*), parameter:: subname = 'PolymorDouble6'

      write(*,*) subname, ' is called'

      array = array + 1.0_DP

                          write(*,*) 'sum=', sum(array, .true.)
                    

    end subroutine PolymorDouble6


    subroutine PolymorDouble7(array)
      use dc_types, only: DP
      real(DP), intent(inout) :: array(:,:,:,:,:,:,:)
      character(*), parameter:: subname = 'PolymorDouble7'

      write(*,*) subname, ' is called'

      array = array + 1.0_DP

                          write(*,*) 'sum=', sum(array, .true.)
                    

    end subroutine PolymorDouble7


end module polymorphism

!--
! vi:set readonly sw=4 ts=8:
!
!Local Variables:
!mode: f90
!buffer-read-only: t
!End:
!
!++
