小鸡儿 发表于 2020-10-9 21:46:09

关于逻辑变量的问题

各位大佬,我这里有个论文里面的程序求帮忙看一下,我认为红色那一段完全是多余的吧,因为蓝色字段都说明了逻辑变量为假,中间也没有改变他的值,到红色哪里肯定是假的吧,那就直接不用执行了呀SUBROUTINE SINTGR (MIEFUN, A, B, S, EPS, IERR, NMAX)
      PARAMETER ( JMAX = 14)
      PARAMETER ( maxdim = 2**JMAX + 2*JMAX + 3 )
      INTEGER IERR
      LOGICAL LINLOG
      DOUBLE PRECISION MIEFUN
      DOUBLE PRECISION A, B, S, EPS
      DOUBLE PRECISION H, Y(maxdim), OLDS, X, ERR, AL, BL, FACTOR
      EXTERNAL MIEFUN
      LINLOG =.false.
      OLDS = -1.E-30
      IF ( EPS .LE. 0.D0 ) THEN   
      IERR = 3   
      RETURN
      ELSE   
      IERR = 0
      ENDIF
      IF ( LINLOG ) THEN   
      IF ( A .LE. 0.D0 .OR. B .LE. 0.D0 ) THEN      
      IERR = 3      
      RETURN   
      ENDIF   
      AL = DLOG(A)   
      BL = DLOG(B)
      ELSE   
      AL = A   
      BL = B
      ENDIF


fcode 发表于 2020-10-10 09:03:30

这一般是因为代码的作者,不知道“条件编译”,也不知道如何批量注释代码。所以做了个开关,方便开启和关闭这段代码。

小鸡儿 发表于 2020-10-10 09:45:51

fcode 发表于 2020-10-10 09:03
这一般是因为代码的作者,不知道“条件编译”,也不知道如何批量注释代码。所以做了个开关,方便开启和关闭 ...

哦哦先谢谢了,那想开开的时候是不是把逻辑变量从FALSE改为true就行了?

小鸡儿 发表于 2020-10-10 13:21:28

fcode 发表于 2020-10-10 09:03
这一般是因为代码的作者,不知道“条件编译”,也不知道如何批量注释代码。所以做了个开关,方便开启和关闭 ...

是雪球老师吗?视频里的老师???妈呀遇到偶像了:-lol

fcode 发表于 2020-10-10 17:42:15

小鸡儿 发表于 2020-10-10 09:45
哦哦先谢谢了,那想开开的时候是不是把逻辑变量从FALSE改为true就行了?

是的。改成 true 就行了。从字面意思看,应该是“线性或者对数”的选择

小鸡儿 发表于 2020-10-10 18:34:24

fcode 发表于 2020-10-10 17:42
是的。改成 true 就行了。从字面意思看,应该是“线性或者对数”的选择

哇哦,真的是欸,还真是线性和对数的选择,谢谢老师:-P
页: [1]
查看完整版本: 关于逻辑变量的问题