Fortran中的(/ ... /)是什么意思?

3

我不懂Fortran语言,但是需要检查一部分用这种语言编写的代码。该代码中充满了类似于以下的行:

matmul(recVecs2p, real((/ i1, i2, i3 /), dp))

我在谷歌上找不到关于(/ ... /)的语义,所以希望能在这里得到答案。

1个回答

6
这似乎是Fortran 90引入的语言特性。 第一个提示出现在Fortran 95维基百科文章中,其中它被称为“数组值常量(构造函数)”。 Fortran 90程序员指南第三版第4章的第4.1.4节有更多关于(/ ... /)的信息。(由于版权声明,我不能在此处重制相关文本段落,但可以通过上面的超链接免费访问。)

2
值得一提的是,语言标准的更近版本允许使用[]代替(//). 这也在http://stackoverflow.com/documentation/fortran/996/arrays/6858/array-constructors#t=201611131712306649575中有所涉及。 - High Performance Mark
1
在f2003标准中,替代[]数组构造函数的分隔符被包含在内。编译器在优化方面仍然存在广泛差异(或者没有)。 - tim18

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接