gpt4 book ai didi

haskell - Haskell中使用NaN的最大值和最小值

转载 作者:行者123 更新时间:2023-12-03 13:28:49 24 4
gpt4 key购买 nike

为什么 NaN 和数字的最大值是 NaN,而 NaN 和数字的最小值是数字?这似乎与我尝试过的其他几种语言不一致:

在 haskell :

max (0/0) 1 -- NaN
min (0/0) 1 -- 1.0

在 Python 中
>>> max(float("nan"),1) #nan
>>> min(float("nan"),1) #nan

在 JavaScript 中
> Math.max(0/0,1) //NaN
> Math.min(0/0,1) //NaN

最佳答案

Haskell 报告指定 (min x y, max x y)将返回 (x, y)(y, x) .这是一个很好的属性,但很难与 NaN 的对称处理相协调。

还值得一提的是,这与 SSE2 指令 MINSD 的不对称性完全相同。和 MAXSD展示,即 Haskell min (对于 Double )可以通过 MINSD 实现和 max通过 MAXSD .

关于haskell - Haskell中使用NaN的最大值和最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25375294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com