OSX中MKL BLAS和Accelerate Framework BLAS之间DSCAL中的不相干



在OSX下使用OSX BLAS(加速框架(。以下程序

real*8 :: x(2)
real*8 :: zero=0.0d0
x(1)=1.0d0
x(2)=1/zero
print*, x(2)*0.0d0
call dscal(2,0.d0,x,1)
print*, x
end

给我以下输出

NaN
0.0000000000000000        0.0000000000000000

以及OSX+MKL BLAS 上的以下输出

NaN
0.0000000000000000                            NaN

即OSX BLAS DSCAL似乎在乘以0时短路(我们得到X(2(=0,尽管应该得到0*Inf=NaN(

这是一个已知的错误/功能吗?

这既不是bug,也不是特性。0*NaN0*Inf的结果是什么,由实施者自行决定。不管怎样,以上的目的是什么?

相关内容

  • 没有找到相关文章

最新更新