Fortran 编程:表达式、赋值与块结构控制详解
1. FORALL 构造与语句
FORALL 构造和语句在 Fortran 中用于处理数组操作,能让代码更简洁高效。
1.1 FORALL 构造示例
FORALL (I=1:N)
A(I,:) = 1.0 / REAL(I) ! A scalar value is broadcast
. . . ! to each row of A
此代码将 1.0 / REAL(I) 的值广播到数组 A 的每一行。
还有指针赋值的示例:
TYPE SCREW
CHARACTER (30), POINTER :: HEAD_TYPE
REAL LENGTH, THREAD
END TYPE SCREW
TYPE (SCREW) INVENTORY (500)
REAL THREADS (100)
CHARACTER (30), TARGET :: HEAD_TYPES(5)
. . .
FORALL (I=1:500, INVENTORY(I)%LENGTH > .05)
INVENTORY(I)%HEAD_TYPE => HEAD_TYPES(MOD(I-1,5)+1)
! Subscripts for HEAD_TYPES are 1,2,3,4,5,1,2,3,4,5, ...
超级会员免费看
订阅专栏 解锁全文
58

被折叠的 条评论
为什么被折叠?



