Haskell中的NA值

时间:2014-11-12 08:21:38

标签: haskell

我在Haskell中进行了一些数值计算,我希望在向量和矩阵中有NA个值,就像在R或Matlab中一样。我想到的最自然的方式是使用Maybe来处理这些值,并使用Nothing作为NA

它通常通过提升操作工作,但我也想使用HMatrix来获得更快的代码。为了正确使用它,我需要为代码中定义的不同类做很多Maybe a的实例(我甚至不确定它们是否都可能)。

是否有某种类型的图书馆可以做这种工作,或者我只是要自己定义所有的操作?

1 个答案:

答案 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不等于它自己。