lua - 在lua源代码中,为什么他们使用double而不是更通用的lua_Number?

标签 lua double

在lua源代码中,在文件lobject.h中TValuefields的定义中,为什么d__是一个double而不是一个更通用的lua_Number

代码如下

#define TValuefields  \
union { struct { int tt__; Value v__; } i; double d__; } u

不应该吗?

#define TValuefields  \
union { struct { int tt__; Value v__; } i; lua_Number d__; } u

最佳答案

TValuefields 的定义仅在 LUA_NANTRICK 启用时才有效。 NaN 技巧仅适用于 luaconf.h 中提到的 double 。

关于lua - 在lua源代码中,为什么他们使用double而不是更通用的lua_Number?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20438582/

相关文章:

c - C 中的 double - 打印 50 位有效数字会产生不准确的值

c++从高精度 double 获取E?

Lua 匹配字符串中字符后的所有内容

variables - 包含另一个变量值的变量名

syntax - 是否可以从 luaL_loadstring 等获取有关语法错误发生位置的更多信息?

lua 相当于 __LINE__ 和 __FILE__?

java - 将 int 除以 int 并将结果存储为 double 时出现意外结果

random - 在 Lua 中生成统一的随机数

java - 如何在 Java 中将字符串转换为 double 型

c - 如何测试无损双/整数转换?