2012-05-13 51 views
11

我最近发现了优库的boost ::蓄电池,我想用它来代替我的一些代码,累积统计。总结两个升压:: accumulator_set实例

一两件事,我不能在文档中找到的是要总结2分蓄集的能力,如经营者+ =

例子:

using namespace boost::accumulators; 
typedef accumulator_set<double, features<tag::variance> > AccumSet; 

class Foo { 
    AccumSet acc; 
public: 
    Foo& operator+=(const Foo& that) { 
     this->acc += that.acc; // error! no such operator 
     return *this; 
    } 
    double GetVariance() { return variance(acc); } 
}; 

这又如何利用现有的API我实现吗?我不知道这是否可以在库中的所有类型的蓄电池来实现(也许不是尾),但它肯定可以成为重要的事情,像数,总和,平均,瞬间,协方差等

+0

你也忘了'返回*本;',虽然这是不相关的。 – Matt

+0

@Matt,旁边的点,但仍然值得修复... – killogre

回答

3

不幸的是,Boost.Accumulators不提供此功能,可能是因为组合仅适用于某些统计信息。

a ticket on the Boost tracker问这样一个combine功能。

+0

谢谢。在四处张望并发布在boost邮件列表中后,我得出了相同的结论。我不知道那张票是4年前打开的!我的问题是,是否有可以支持的统计数据的一些解决方法。 – killogre

1

没有适当和可用的操作员+ =为增加两个accumulator_set <>对象。