Rust 可以在编译时设置浮点舍入模式吗?
Can the floating point rounding mode be set at compile time in Rust?
我想在 Rust 中使用区间运算,为此我需要向上或向下设置舍入模式。据我搜索了解,设置舍入模式会影响性能,所以我想在编译时设置它。
不可靠,不。问题是LLVM后端不支持修改舍入模式,虽然最近有some proposals to fix this,但短期内不太可能解决。
您可以在程序开始时调用 C fesetround
函数(在 fenv.h
中),但问题是某些优化(例如常量折叠)会已经使用默认舍入模式执行。
我想在 Rust 中使用区间运算,为此我需要向上或向下设置舍入模式。据我搜索了解,设置舍入模式会影响性能,所以我想在编译时设置它。
不可靠,不。问题是LLVM后端不支持修改舍入模式,虽然最近有some proposals to fix this,但短期内不太可能解决。
您可以在程序开始时调用 C fesetround
函数(在 fenv.h
中),但问题是某些优化(例如常量折叠)会已经使用默认舍入模式执行。