我正在使用Boost.Rational 1.46。根据其documentation,
最后的基本操作是使理性正常化。只要构造了理性(并在适当的位置分配),就会执行此操作。所有其他操作都小心地将理性维持在标准化状态。归一化成本相当于一个gcd和两个分区。
对于使用相对较小的有理值(因此小整数)的应用程序,规范化太昂贵而无法一直进行。有没有办法避免这种情况,或只是在某些时刻强迫?
答案 0 :(得分:2)
增强有理数的不变量是它们总是被标准化(参见你的问题中引用的参考文献)。因此,如果您想使用非标准化的有理数,则不能使用boost实现。