我如何获得/计算值像FLT_MAX和FLT_EPSILON与LLVM?



如果我的代码为一个平台生成LLVM SSA,可能不同于它目前运行的平台,我如何获得FLT_MAXFLT_EPSILON等值(或相同的双精度,或任何其他浮点宽度)?

我猜这是不正确的,一般来说,为我自己的系统获取这些值并使用它们。把问题委托给clanggcc处理,也不是一个可以接受的解决方案。

当生成LLVM代码时,我如何知道为FLT_MAX发出什么值?

FLT_MAX/FLT_EPSILON为C/c++专用实体,不与LLVM连接。因此,您需要求助于C/c++编译器来推导它。或者,您需要保留支持的平台列表,并为每个支持的平台硬编码这些值。

相关内容

  • 没有找到相关文章

最新更新