我有一个指向交错格式的复数原始数据的指针,即交替存储的实部和虚部 - R I R I R I ...
如何将此转换为推力::复杂的主机(或设备)矢量而不会产生额外的副本? 以下不起作用 -
double dos[8] = {9.3252,2.3742,7.2362,5.3562,2.3323,2.2322,7.2362,3.2352};
thrust::host_vector<thrust::complex<double > > comp(dos, dos+8);
答案 0 :(得分:2)
刚演员。像这样:
double dos[8] = {9.3252,2.3742,7.2362,5.3562,2.3323,2.2322,7.2362,3.2352};
typedef thrust::complex<double> cdub;
cdub* cdos = reinterpret_cast<cdub*>(&dos[0]);
thrust::host_vector<cdub> comp(cdos, cdos+4);
应该有用。