Я сортирую кортежи из 16 + 16 бит как 32-битные целые числа с SSE2. Есть только целочисленные инструкции со знаком для сравнения и мин / макс. У меня нет проблем с порядком для верхней части, так как это просто хэш. Но записи с отрицательными хешами будут отсортированы в обратном направлении (верно?) Возможные, но не очень удачные решения могут быть:
- Обнуление старшего бита для хэшей, потеря точности (не велика)
- Конвертировать положение в отрицательное, если установлен старший бит хеша, и преобразовать его обратно после сортировки.
Есть ли лучший способ?