NaNをフィルターで除外し、少し調整した後、結果を変更せずにfloatを32ビットintとして比較でき、doubleを次のように比較できるという前提に基づいて、数値/統計ライブラリの並べ替え関数を最適化しています。 64ビットint。
これにより、これらの配列の並べ替えが40%程度高速化されるようです。浮動小数点数のビットレベル表現が、IEEE 754である限り、私の仮定は当てはまります。実際に使用されているCPUはありますか(ただし、この仮定を破る可能性のある他の表現を使用する組み込みデバイス(このライブラリは対象外)では?
- https://en.wikipedia.org/wiki/Single-precision_floating-point_format(binary32
、別名IEEE754float
を使用するシステム) - https://en.wikipedia.org/wiki/Double-precision_floating-point_format(binary64
、別名IEEE754double
を使用するシステム)