У нас нет API, который принимает тип thrust::complex<T>
, так как это потребовало бы, чтобы мы включали сторонние заголовки в наш заголовок, что не является обязательным для всех случаев использования.
Это не означаетВы не можете использовать комплексные числа, хотя. Любое представление комплексного числа, которое совместимо с ABI с тем, что мы определили (af::cfloat
& af::cdouble
) в af/complex.h
, может быть передано нашему API.
Сказав это, я лично не знаю, толкнул ли:: Complex это простой POD или нет. Предполагая, что это так, вы должны быть в состоянии сделать следующее:
D2 *d_A = reinterpret_cast<D2*>(a.device<af::cdouble>());