В SSE есть функция _mm_cvtepi32_ps(__m128i input)
, которая берет входной вектор из 32-битных знаковых целых чисел (int32_t
) и преобразует их в float
s.
Теперь я хочу интерпретировать входные целые числа как не подписанные. Но нет функции _mm_cvtepu32_ps
, и я не смог найти ее реализацию. Вы знаете, где я могу найти такую функцию или, по крайней мере, дать намек на реализацию?
Чтобы проиллюстрировать разницу в результатах:
unsigned int a = 2480160505; // 10010011 11010100 00111110 11111001
float a1 = a; // 01001111 00010011 11010100 00111111;
float a2 = (signed int)a; // 11001110 11011000 01010111 10000010