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生成新的变量耗时挺高的。

浙公网安备 33010602011771号