有没有办法改变 Boost.Multiprecision 中使用的舍入模式?
我想使用这个库,但需要知道我是否可以动态指定算术运算的舍入模式,以便我可以保证运算的某些属性(例如,它们过于近似)。
有没有一种便宜的方法可以知道是否发生了舍入?
经过更多研究,我发现具有自定义类型的 Boost::Interval 可以保留包含属性。然而,这需要使用向下和向上舍入的结果来实现所有算术。考虑到这一点,我可以为 Boost::Interval 配备我喜欢的任何浮点实现,例如 mpfr_t。有关详细信息,请参阅:
http://www.boost.org/doc/libs/1_35_0/libs/numeric/interval/doc/guide.htm