代码之家  ›  专栏  ›  技术社区  ›  Matthew Watson

Math.Atan2(double.NegativeInfinity,double.PositiveInfinity)-bug,还是未记录的破坏性更改?

  •  0
  • Matthew Watson  · 技术社区  · 5 年前

    考虑 double result = Math.Atan2(double.NegativeInfinity, double.PositiveInfinity);

    NaN .

    在.net Core 3.1或更高版本中,返回 -0.7853981633974483 .

    documentation for Math.Atan2() 国家:

    如果x或y为NaN,或者x和y为正或负,则该方法返回NaN。

    我想“肯定或否定”可能意味着 二者都 NegativeInfinity“在这种情况下,它将不适用于我的示例(因为x是NegativeInfinity,y是PositiveInfinity),但这似乎相当微妙——在任何情况下,它似乎仍然是一个bug或一个突破性的更改。

    那么,这是一个bug还是一个未记录的破坏性改变——或者我只是误解了事情?

    1 回复  |  直到 5 年前