FORTRAN数组的一些优化操作

FORTRAN是为科学计算而存在的。随着FORTRAN的演化,一些科学计算方面的有趣的特性逐渐加入进来。看起来,C++想撼动FORTRAN在科学计算领域的领先地位,目前还是不行的。

1,对一个数组A,可以直接这样初始化:

A = 0.0

这样A里所有的元素就都被赋值了。

2,用Array Constructor初始化。

一种可以这样,枚举每个元素的值:

ARR = (/ 1, 2, 3, 4, 5 /)。

另一种是用implied DO-loop来初始化:

ARR = (/ (I,I=2,8,2), 0 /)

3,可以用数组直接算向量的内积:

C = A * B,其中A、B、C是同样大小的数组

4,还有内置函数,直接算矩阵乘法:

C = MATMUL(A, B)

最最重要的是,编译器会根据情况,自动对数组操作进行优化,包括并行优化;这就非常诱人了:)

Advertisements
此条目发表在未分类分类目录。将固定链接加入收藏夹。

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s