C++ 使用具有特征::向量类型的升压累加器
我在将C++ 使用具有特征::向量类型的升压累加器,c++,boost,eigen,boost-accumulators,C++,Boost,Eigen,Boost Accumulators,我在将Eigen::VectorXd类型与Boost累加器库组合时遇到一些问题: #include <iostream> #include <Eigen/Core> #include <boost/accumulators/accumulators.hpp> #include <boost/accumulators/statistics/stats.hpp> #include <boost/accumulators/statistics/me
Eigen::VectorXd
类型与Boost累加器库组合时遇到一些问题:
#include <iostream>
#include <Eigen/Core>
#include <boost/accumulators/accumulators.hpp>
#include <boost/accumulators/statistics/stats.hpp>
#include <boost/accumulators/statistics/mean.hpp>
using namespace boost::accumulators;
using namespace Eigen;
int main()
{
Vector2f a(1.0, 2.0), b(3.0, 10.0);
accumulator_set<Vector2f, stats<tag::mean> > acc(Vector2f::Zero());
acc(a);
acc(b);
std::cout << mean(acc) << std::endl;
std::cout << ((a+b)/2.0) << std::endl;
return 0;
}
因此,虽然直接计算很好(特征向量支持所有常用的数值运算符),但增压累加器在运行时会失败,不会出现错误。用户定义的类型需要专门化std::numeric_limits。 看
4.41629e-39
0
2
6