OR逻辑运算符从C转换为Fortran
发布时间:2020-12-16 10:14:59 所属栏目:百科 来源:网络整理
导读:将以下C逻辑运算符转换为Fortran 90(.f90)会是什么?如果(存在vx或vy存在).这里vx和vy是速度的组成部分 if(vx || vy){vT=sqrt(vx*vx + vy*vy);} 我试过以下 if(vx .or. vy) thenvT = sqrt(vx*vx + vy*vy)end if 但我收到错误: operands of logical operator
将以下C逻辑运算符转换为Fortran 90(.f90)会是什么?如果(存在vx或vy存在).这里vx和vy是速度的组成部分
if(vx || vy){ vT=sqrt(vx*vx + vy*vy); } 我试过以下 if(vx .or. vy) then vT = sqrt(vx*vx + vy*vy) end if 但我收到错误: operands of logical operator `.or.` at (1) are REAL(8)/REAL(8). 谁能指导我在这里? 解决方法
C版本隐式地将vx和vy与零进行比较.
在Fortran中,您必须明确地这样做1: if (vx /= 0 .or. vy /= 0) then 由于if语句看起来像性能优化,因此可能值得质疑它是否需要完全或者可以用无条件赋值转换为vT(如果vx和vy都为零,则将vT设置为零). 1我希望我做对了;多年没有在Fortran编程. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |