将数组浮动到数组并快速返回

Sev*_*yev 2 c++ sse visual-c++

我需要将float内存中的大型数组转换为数组double和返回数组.在Visual C++ 15更新3中是否有任何SSE编译器内在函数可以提供帮助?

编辑:它是两种线格式之间的转换,所以#define无济于事.数据结构存储为浮点数,但第三方处理库需要一个double数组.

Pau*_*l R 5

您可以使用SSE:

float- > double:_mm_cvtps_pd

double- > float:_mm_cvtpd_ps

首先尝试一个简单的标量循环,因为(a)编译器可能会为你进行矢量化并且(b)你很可能受内存限制,因此SIMD优化可能没有多大帮助.