在C++中将ArrayFire数组数据从f64转换为f32



我有一个dtype=f64的ArrayFire数组,需要将其转换为dtype=f32。除了转换到主机阵列并通过执行static_cast进行迭代之外,我不知道如何做到这一点。我相信还有更好的方法。我找到了af_cast,但它似乎只是C接口的一部分。

// Example, double precision array
af::array A_double(100, 1, f64); // f64 = double precision
// Need to cast this to an f32 array somehow...
af::array A_single = cast<f32>(A_double); // <-- something like this?

答案简单得令人尴尬。ArrayFire库有一个名为as的函数,我不知道它,在文档中也忽略了它。

// Example, double precision array
af::array A_double(100, 1, f64); // f64 = double precision
// Cast to an f32 array
af::array A_single = A_double.as(f32);

这是文档的链接。

相关内容

  • 没有找到相关文章

最新更新