Two Case Studies of NaN
3 days ago
- #Programming language design
- #Floating-point behavior
- #NaN quirks
- Python 的列表相等性优化首先通过身份比较元素,这假设一个对象总是与自身相等,但这个假设被 NaN 违反。
- 在 Lua 的数值 for 循环中,NaN 会导致不直观的行为,因为实现中的比较逻辑在检查 NaN 的界限和步长时失效,这可能是一个疏忽。
- NaN 的独特属性常常导致编程语言的设计选择或优化失败,正如在 Python、Lua 以及先前记录的案例(如 Go 映射键)中所见。