我的输入数据是 16 位数据,我需要使用 SSE2 指令集找到 3 个值的中位数。
如果我有 3 个 16 位输入值 A、B 和 C,我想这样做:
D = max( max( A, B ), C )
E = min( min( A, B ), C )
median = A + B + C - D - E
我打算使用的 C 函数是:
- 最大值 - _mm_max_epi16
- 分钟 - _mm_min_epi16
- 添加 - _mm_add_epi16
- 减去 - _mm_sub_epi16
任何人都可以提出更好的方法吗?