Fortran 的 findloc 与字符类型
Fortran's findloc with character type
我对 findloc
内在字符数组感到困惑。
节目
print *, findloc(['AB'],'A',dim=1)
end
产出
1
虽然我预计 0
。
我以为findloc
搜索相等,'A' /= 'AB'
。
如果我将标量值设为与数组类型相同的值,那么我会得到我期望的结果:findloc(['AB'],'A ',dim=1)
给出 0
。
注意 findloc(['BA'],'A',dim=1)
确实给出了 0
,所以我不认为 findloc
使用 index
函数。
我在 centos 7
上使用 ifort 18.0.3
。
我同意这是 Intel Fortran 的 findloc() 实现中的错误。我为我们的开发人员创建了一个英特尔错误报告。
我对 findloc
内在字符数组感到困惑。
节目
print *, findloc(['AB'],'A',dim=1)
end
产出
1
虽然我预计 0
。
我以为findloc
搜索相等,'A' /= 'AB'
。
如果我将标量值设为与数组类型相同的值,那么我会得到我期望的结果:findloc(['AB'],'A ',dim=1)
给出 0
。
注意 findloc(['BA'],'A',dim=1)
确实给出了 0
,所以我不认为 findloc
使用 index
函数。
我在 centos 7
上使用 ifort 18.0.3
。
我同意这是 Intel Fortran 的 findloc() 实现中的错误。我为我们的开发人员创建了一个英特尔错误报告。