先週から気温がぐっと下がり,しかも雨続きでどんよりした気分です.実のところ,週末には晴れ間もありましたが,丁度そのタイミングは頭痛でダウンしていたため,私の中ではずっと雨なのです.
https://github.com/s-yata/louds-trie を MSVC でも使えるように少し修正しました(差分 1, 差分 2). gcc と MSVC における組み込み関数の違いに対応させただけなので,動作には影響しないはずです.コンパイラが MSVC かどうかの判定には _MSC_VER が定義されているかどうかを使っています.
CPU 命令と組み込み関数の対応は以下の通りです.
CPU 命令 | gcc | MSVC |
---|---|---|
popcnt | __builtin_popcountll | __popcnt64 |
ctz | __builtin_ctzll | _tzcnt_u64 |
pdep | _pdep_u64 | _pdep_u64 |
後は,対応するヘッダが異なります. gcc では x86intrin.h をインクルードしますが, MSVC では intrin.h と immintrin.h をインクルードします.
0 件のコメント:
コメントを投稿