Eigen库

Eigen与matlab函数表 http://eigen.tuxfamily.org/dox/AsciiQuickReference.txt
Eigen 1000x1000 100010000矩阵,需要3S,Armadillo是6S,armadillo+openblas是1s
omp_set_num_threads(n);(在VC ++ language里开启openmp后,才能使用该功能)
#pragma omp parallel for //for循环开启并行

void tsArmaMemcopy()
{
	vec vecArr;
	vecArr<<1<<2<<3;
	float fArr1[]={1,2,4};
	double *pdArr=vecArr.memptr();//赋值
	vec vecarr=vec(pdArr,2);//获取数据

	memcpy(&vecArr,&pdArr,3*sizeof(double));
	cout<<vecArr;
}


void tsEigenMemcopy()
{
	const int rows=3;
	const int cols=3;
	float array[]={1,2,3,4,5};
	Map<MatrixXf> m(array,rows,cols);
	Map<VectorXf> vxArr(array,5);
	VectorXf a;
	a=vxArr;
	float *p = &a(0);
	array;

}

Armadillo生成新的变量耗时挺高的。

posted @ 2018-03-12 14:44  blog_hfg  阅读(264)  评论(0)    收藏  举报