[Fortran] 纯文本查看 复制代码 MODULE gva
IMPLICIT NONE
INTERFACE
REAL*8 FUNCTION fun(x)
REAL*8,INTENT(IN) :: x
END FUNCTION fun
REAL*8 FUNCTION ftan(x)
REAL*8,INTENT(IN) :: x
END FUNCTION ftan
REAL*8 FUNCTION poly(x)
REAL*8,INTENT(IN) :: x
END FUNCTION poly
END INTERFACE
PROCEDURE(fun),POINTER :: f
END MODULE gva
READ(5,*)k
IF(k == 0) THEN
f => ftan
ELSE IF(k==1 ) THEN
f => poly
ELSE
END IF
f为函数指针(或者函数变量)
根据输入k,对f进行赋值。此功能在gfortran中可以使用,interface为新的特性,
在CVF6.6中不支持,在CVF6.6中如何实现以上功能?
|