Fortran Coder

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

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

[复制链接]

69

帖子

7

主题

0

精华

专家

F 币
320 元
贡献
224 点
跳转到指定楼层
楼主
发表于 2016-5-3 22:43:16 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 jason388 于 2016-5-3 22:44 编辑

Fortran中的assumed-shape array和assumed-size array从英文角度很容易理解,但如何确切地译成中文似乎有些难度,请高手指点。

现在看到的assumed-shape array的翻译有:假定形状数组和不定结构数组,个人认为都不太确切。

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

69

帖子

7

主题

0

精华

专家

F 币
320 元
贡献
224 点
沙发
 楼主| 发表于 2016-5-4 08:01:56 | 显示全部楼层
本帖最后由 jason388 于 2016-5-4 08:06 编辑
fcode 发表于 2016-5-4 06:44
我一直叫 “假定形状”和“假定大小”

标准中assumed-shape array的定义为:an assumed-shape array is a nonpointer dummy argument array that take its shape from the associated actual argument array. 因此,assumed-shape数组的形状是通过虚实结合传递过来的(利用array descriptor),在子程序中其形状可作为已知对待(针对整个数组和部分数组的操作以及数组内置函数均可用)。翻译成“假定形状”,肯定了形状已知的一面,但虚实结合的含义没有体现出来。

assumed-size array与此类似,通过虚实结合,仅传递了数组的大小(size),形状是没有传的,因此依赖于形状的操作都不可用。注意,在传递时没有采用array descriptor.

在标准中,assumed-shape, assumed-size和assumed-type的用法基本类似,都是强调传递和在子程序中可视做已知的部分内容。

69

帖子

7

主题

0

精华

专家

F 币
320 元
贡献
224 点
板凳
 楼主| 发表于 2016-5-4 08:10:37 | 显示全部楼层
explicit-shape(显式形状)和deferred-shape(待定形状)可用于实元和哑元,assumed-shape等只能用于哑元。

69

帖子

7

主题

0

精华

专家

F 币
320 元
贡献
224 点
地板
 楼主| 发表于 2016-5-5 11:04:43 | 显示全部楼层
fcode 发表于 2016-5-4 18:06
这么说起来,确实有些不合理。但是这两个叫法流传了很多年,很多教材里都这么写。如果忽然换个叫法,会影响 ...

个人感觉还是效率问题,毕竟在Fortran中以1为lbound的为绝大多数。

虽然多数翻译成“假定形状”,但也有翻译成“不定结构”的。其实具体叫什么都问题不大,这里讨论下是希望能够对Fortran的数组有个更好的理解。毕竟数组这种数据结构是Fortran中最重要的部分之一。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-6 07:17

Powered by Tencent X3.4

© 2013-2024 Tencent

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