Fortran Coder

查看: 15634|回复: 10
打印 上一主题 下一主题

[子程序] 关于assumed-shape array和assumed-size array的中文翻译

[复制链接]

130

帖子

10

主题

0

精华

大师

F 币
617 元
贡献
372 点

贡献勋章管理勋章帅哥勋章元老勋章星光勋章规矩勋章

楼主
发表于 2017-8-9 16:08:41 | 显示全部楼层
fcode 发表于 2016-5-4 18:06
这么说起来,确实有些不合理。但是这两个叫法流传了很多年,很多教材里都这么写。如果忽然换个叫法,会影响 ...

"我一直好奇,assumed-shape 如果是用 array descriptor 传递的。为何没有下标?比如实参是 a(-10:20) ,对应的虚参只能是 x(1:31).  难道下标没有再 array descriptor 里包含吗?同样的,传递一个 pointer 就可以传递下标"

請問, 有進一步的看法了嗎?

130

帖子

10

主题

0

精华

大师

F 币
617 元
贡献
372 点

贡献勋章管理勋章帅哥勋章元老勋章星光勋章规矩勋章

沙发
发表于 2017-8-11 12:25:24 | 显示全部楼层
分兩部分討論
(A) 我不理解 為何 虛參應該要"繼承(or知道)"實參的下限 為宜, 我是持反對意見的
     真有需要, 如下即可:
[Fortran] 纯文本查看 复制代码
  REAL :: A(-100:100)
  CALL B( A, -100)
CONTAINS
  SUBROUTINE B( C, LB )
    INTEGER :: LB
    REAL :: C(LB:)


(B) 传递一个 pointer 就可以传递下标
    POINTER - "deferred" shape, not "assumed" shape

題外話, Compaq->Intel, 對Fortran到底是好還是不好? NVIDIA買下PGI也是
除了runtime在CPU/GPU跑得快有錢賺, 可有心於Fortran語法發展的社會責任心

130

帖子

10

主题

0

精华

大师

F 币
617 元
贡献
372 点

贡献勋章管理勋章帅哥勋章元老勋章星光勋章规矩勋章

板凳
发表于 2017-8-12 15:17:35 | 显示全部楼层
自言自語:
for (B): 當POINTER A "pointer to"/"associated with"/"aliasing" B, A就是B, A就有B的attributes(lower and upper bounds), may be是我一廂情願的強詞奪理
for (A): assumed shape array的下標能是"浮動"的有何不好? 不然 REAL::A(10) 實參A(3:10), 對應虛參的下標是"3"好還是"1"好, 見仁見智了
傳統上, SHAPE定義是RANK(number of dimensions)與EXTENT(size of each dimsnsion), 並不綁定lower/upper bounds

130

帖子

10

主题

0

精华

大师

F 币
617 元
贡献
372 点

贡献勋章管理勋章帅哥勋章元老勋章星光勋章规矩勋章

地板
发表于 2017-9-18 15:17:22 | 显示全部楼层
Google 網上論壇 comp.lang.fortran
Bounds for array pointer dummy argument : https://groups.google.com/forum/ ... fortran/QbMFCNP_DuY
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-6 10:41

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表