0

SSE2 で 16+16 ビットのタプルを 32 ビット整数としてソートしています。比較と最小/最大の符号付き整数命令のみがあります。上位部分の順序は単なるハッシュであるため、問題はありません。しかし、負のハッシュを持つエントリは後方にソートされます (そうですか?)

  • ハッシュの上位ビットをゼロにすると、精度が失われます (良くない)
  • ハッシュの上位ビットが設定されている場合は位置を負に変換し、ソート後に元に戻します。

より良い方法はありますか?

4

1 に答える 1

1

Just subtract 0x80000000 from your 32 bit values, use signed operations, then add back the 0x80000000 afterwards.

于 2011-04-11T06:34:25.490 に答える