· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Re: MMX signed/unsigned saturation help

Посл.отвђт Сообщенiе


Дата: Ноя 16, 2004 21:07:40

Имеется два массива в одном только unsigned числа в другом только signed.
Как их сложить между собой избегая saturation до 255 _mm_adds_pu8() или до 127 в _mm_adds_pi8
например (из первого)120 + (из второго)(+50) = 127
для _pi8()
или (из первого)120 + (из второго)(-1)(0xFF) = 255
для _pu8()


Дата: Ноя 16, 2004 21:28:48

9ine
То есть нужна арифметика по модулю 256? Тогда распаковать в word'ы, сложить, наложить маску и запаковать обратно.


Дата: Ноя 17, 2004 10:37:31

Black_mirror
Для арифметики по модулю 256 годится и банальный paddb.

Вопрос, вероятно, в том, как сложить signed и unsigned. К сожалению, не указано, должен быть результат signed или unsigned. В любом случае вопрос, похоже, не имеет смысла...


Дата: Ноя 17, 2004 17:22:24

Результат должен быть всегда unsigned. Как это сделать в байтах без saturation и без использования вордов?


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.080