24小时热门版块排行榜    

查看: 855  |  回复: 5

wenwuxu

金虫 (初入文坛)

[求助] 陌生的fortran语言,哪位可以指点一二?悬赏100金币

最近在看程序的时候,发现一种陌生的fortran写法,参详许久,知道其用意,但是还无法参透,哪位高人指点一二,不甚感激!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖


jjdg(金币+1): 感谢参与 2011-11-03 01:29:23
这不是标准的 Fortran 语法……

你要交待一下你的程序的运行平台,以及所使用的编译器。至少我这里的 gfortran 是不认的,提示很多错误……
2楼2011-11-02 13:26:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

wenwuxu(金币+100): 10 2011-11-02 16:48:29
我猜测,你的程序中定义了 $SPEC,以及 $TYPE 两个特殊的变量,这可能是编译器的扩展,也可能用到了其它的技巧,但不是标准的可移植的特性。我猜你上面的代码等同于下面这段代码:
CODE:
module test
   implicit none

   public :: read_input
   private :: read_input_i4,&
             &read_input_r8,&
             &read_input_r4
   
   integer,parameter :: i4=kind(1)
   integer,parameter :: r4=kind(1.0)
   integer,parameter :: r8=kind(1.0d0)
   
   interface read_input
       module procedure read_input_i4,&
                       &read_input_r8,&
                       &read_input_r4
   end interface
   
   contains
   
   !subroutine read_input_$SPEC(vv,d_vv)
   !   $TYPE :: vv(:), d_vv(:)
   !end subroutine read_input_$SPEC
   
   subroutine read_input_i4(vv,d_vv)
      integer(i4) :: vv(:), d_vv(:)
   end subroutine read_input_i4
   
   subroutine read_input_r8(vv,d_vv)
      real(r8) :: vv(:), d_vv(:)
   end subroutine read_input_r8
   
   subroutine read_input_r4(vv,d_vv)
      real(r4) :: vv(:), d_vv(:)
   end subroutine read_input_r4

end module test

也就是说,这个 module 提供了一个子程序,叫 read_input(vv, d_vv)。在程序中,可以直接 call read_input(vv, d_vv),如果 vv 和 d_vv 是整型变量,那么调用 read_input_i4,如果是双精度数,那么调用 read_input_r8,如果是单精度,那么调用 read_input_r4,呵呵……
3楼2011-11-02 13:47:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wenwuxu

金虫 (初入文坛)

引用回帖:
3楼: Originally posted by snoopyzhao at 2011-11-02 13:47:22:
我猜测,你的程序中定义了 $SPEC,以及 $TYPE 两个特殊的变量,这可能是编译器的扩展,也可能用到了其它的技巧,但不是标准的可移植的特性。我猜你上面的代码等同于下面这段代码:

[code]
module test
   im ...

楼上的跟我理解的差不多,还不是我想要的答案,呵呵
4楼2011-11-02 16:48:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

引用回帖:
4楼: Originally posted by wenwuxu at 2011-11-02 16:48:06:
楼上的跟我理解的差不多,还不是我想要的答案,呵呵

你想要啥答案?$SPEC 和 $TYPE是啥?这个要看你的编译器或者前处理程序的的文档了……因为你没有前文,所以我上面也只是猜测……
5楼2011-11-02 17:05:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fluid00

禁虫 (小有名气)


jjdg(金币+1): 感谢参与 2011-12-09 00:53:49
本帖内容被屏蔽

6楼2011-12-08 18:33:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wenwuxu 的主题更新
信息提示
请填处理意见