我正在学习Haskell,并希望通过概率分布探索最佳实用编码功能。
使用概率函数进行编码时,函数通常应在[0,1]中返回Float值。
是否可以定义"概率"只能获取该范围内值的数据类型?
非常感谢!
道
答案 0 :(得分:1)
你问的不简单。就个人而言,我宁愿使用像这样的函数:
checkBounds :: (Real a, Show a) => a -> a
checkBounds x | 0 <= x && x <= 1 = x
| otherwise = error $ show x ++ " is not in [0,1]"
但是如果你想更进一步,看看这个article,probability package和code snippet,也许他们可以提供帮助。