Почему макс NaN и число NaN, но min 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