根据this,gfortran可以进行整数逻辑转换,但是我收到了这个错误:
if (.not.bDropped.and.(zz_unif01() .lt. (1 - (Test_Dru
1
Error: Operand of .not. operator at (1) is INTEGER(4)
我知道将代码从.not.bDropped
更改为(bDropped.eq.0)
会更好,但这并不简单,因为它是生成的代码。
我尝试了各种-std=xxx
标志,但没有区别。
答案 0 :(得分:1)
您链接到的网页上的最后一行是
However, there is no implicit conversion of INTEGER values in if-statements, [...].
我猜这与它有关。
编辑:这似乎不是全部真相。简单地执行l1 = .not. 0
(当l1
是逻辑变量时)会给出您收到的相同错误。所以在这种情况下也没有隐式转换。