增强区间算术和三角函数

时间:2016-09-06 18:47:30

标签: c++ math boost intervals trigonometry

我有一个与此处提供的问题(和答案)相关的问题: C++ Boost Interval and cos 我也试图使用区间算法来计算三角函数,我面临着与上述问题的作者提出的类似问题。我尝试使用上面链接的问题的答案,并生成下面的代码。但它不编译。这是代码:

sefmtr = SliceElideFormatter()
data = { 'CNT':'centeredtextvalue' }
fmt = '{CNT|1,-1$10^**:>12}'
print '%r' % sefmtr.format(fmt, *(), **data)

我得到的错误如下:

#include <boost/numeric/interval.hpp> 
using namespace boost::numeric;
using namespace interval_lib;
typedef interval<double, policies<save_state<rounded_transc_std<double> >, checking_base<double> >   > Interval;
int main()
{  
    Interval i1(1.0, 2.0);
    Interval i2 = cos(i1);
    return 0;
}

我正在使用boost 1.54.0和gcc 4.8.4。 你知道我做错了什么吗?

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

此问题已在2014/2015年修复:请参阅https://github.com/boostorg/interval/pull/1

此修复程序在boost 1.58中可用,因此您必须将升级版本升级至至少1.58。