我在Haskell中进行了一些数值计算,我希望在向量和矩阵中有NA
个值,就像在R或Matlab中一样。我想到的最自然的方式是使用Maybe
来处理这些值,并使用Nothing
作为NA
。
它通常通过提升操作工作,但我也想使用HMatrix来获得更快的代码。为了正确使用它,我需要为代码中定义的不同类做很多Maybe a
的实例(我甚至不确定它们是否都可能)。
是否有某种类型的图书馆可以做这种工作,或者我只是要自己定义所有的操作?
答案 0 :(得分:3)
这不是您想要的,但请查看NaN
("不是数字"):
nan = 0/0
main = do
print $ nan -- NaN
print $ nan * nan -- NaN
print $ nan + 0 -- NaN
print $ nan / 2 -- NaN
print $ isNaN 0 -- false
print $ isNaN nan -- true
print $ nan == nan -- false
注意最后一行:NaN
不等于它自己。