如何解决如何使用 LLVM 获取/计算 FLT_MAX 和 FLT_EPSILON 等值?
如果我的代码正在为一个可能与其当前运行的平台不同的平台生成 LLVM SSA,我如何获得 FLT_MAX
或 FLT_EPSILON
之类的值(或双打相同的值) ,或任何其他浮点宽度)?
我猜一般来说,为我自己的系统获取这些值并使用它们是不正确的。将问题委托给 clang
或 gcc
也是不可接受的解决方案。
在生成 LLVM 代码时,我如何知道要为 FLT_MAX
发出什么值?
解决方法
FLT_MAX
/ FLT_EPSILON
是 C/C++ 特有的实体,与 LLVM 无关。因此,您需要求助于 C/C++ 编译器才能得出它。或者,您需要保留支持平台的列表,并为每个支持的平台硬编码这些值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。