MODULE PROCEDURE语句是单独的模块子程序的第一个语句。 语法 规则 必须将procedure_name声明为包含程序单元、祖先模块或祖先子模块中的单独模块过程。 示例 以下示例显示如何将MODULE PROCEDURE语句用作单独模块子程序的第一个语句。 MODULE m INTERFACE MODULE SUBROUTINE sub(arg) INTEGER :: arg END SUBROUTINE END ...
但是,对于模块里的过程,则是通过加上'module procedure'声明24module procedureswapInteger25 end interface swap26 contains 27 ! Module-procedure.28 subroutine swapInteger( a, b ) 29integer, intent(inout) :: a, b 30 integer :: tmp 31 tmp = a; a = b; b = tmp 32 end subroutine swapInteger...
MODULE PROCEDURE陳述式是個別模組子程式的第一個陳述式。 語法 規則 procedure_name必須宣告為包含程式單元、上代模組或上代子模組中的個別模組程序。 範例 下列範例顯示如何使用MODULE PROCEDURE陳述式作為個別模組子程式的第一個陳述式。 MODULE m INTERFACE MODULE SUBROUTINE sub(arg) INTEGER :: arg END SUBROUTINE...
使用的方式是,首先在模块中把待用的全局过程定义为模块的内部过程,即写在CONTAINS语句之后,在调用过程单元中写上USE语句以调用此模块,再写上接口块,接口块的实体是模块过程语句: USE MODULE PROCEDURE 模块过程名表 例: !--- PROGRAM CHANGE_KIND USE Module1 INTERFACE DEFAULT MODULE PROCEDURE Sub1, Sub2 END ...
根据fortran95标准上的说明,在调用Module procedure时其接口是explicit的,而在调用external procedure时其...
Module name Interface Is Module Procedure::Is_Int,Is_RR,Is_Char End Interface Is Contains Integer Function Is_Int(logic,itrue,ifalse)... Real(Kind=8) Function Is_RR(logic,rtrue,rfalse)... Character(Len=64) Function Is_Char(logic,ctrue,cfalse)... End Module name ...
module procedure myFunction_int, myFunction_real end interface function myFunction_int(x) integer, intent(in) :: x integer :: myFunction_int ! Implementation end function myFunction_int function myFunction_real(x) real, intent(in) :: x ...
模块过程语句的形式为:MODULE PROCEDURE 过程名表。 例: !--- interface subroutine swap(x,y) real x,y end subroutine end interface real a,b read *,a,b call swap(a,b) end subroutine swap(x,y) real x,y z=x;x=y;y=z end subroutine ...
// 实矩阵求逆module procedure bcinv!!// 复矩阵求逆endinterfacecontains!!// 实矩阵求逆核心代码 trans from 徐士良《Fortran常用算法集》!!// 作者:zuozhihua 时间:2020/8/18 地点:江西functionbrinv(re)result(r)real*8,intent(in)::re(:,:)!!// 原矩阵real*8::r(size(re,1),size(re,1))...
module my_module implicit noneinterfacemaxvalmodule procedure maxval_int,maxval_real endinterfacemaxvalcontainsfunctionmaxval_int(a)result(m)integer,intent(in)::a(:)integer::m m=maxval(a)endfunctionmaxval_intfunctionmaxval_real(a)result(m)real,intent(in)::a(:)real::m ...