diff options
| author | Shinya Sato <shinnya.sato@gmail.com> | 2026-03-21 20:10:16 +0900 |
|---|---|---|
| committer | Shinya Sato <shinnya.sato@gmail.com> | 2026-03-21 20:10:16 +0900 |
| commit | 11dd49da1625e1a8197c6d9f8d22743a974ddb72 (patch) | |
| tree | a4f69ccc2bfaafb3144dd49f225d526c47a157f5 /src/unlikely.h | |
| parent | fe97dadef0a6bd009998952a3183ec6822cf6fbc (diff) | |
| download | inpla-11dd49da1625e1a8197c6d9f8d22743a974ddb72.tar.gz inpla-11dd49da1625e1a8197c6d9f8d22743a974ddb72.zip | |
V0.13.2-1
Diffstat (limited to 'src/unlikely.h')
| -rw-r--r-- | src/unlikely.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/unlikely.h b/src/unlikely.h new file mode 100644 index 0000000..602c723 --- /dev/null +++ b/src/unlikely.h @@ -0,0 +1,14 @@ +#ifndef INPLA_UNLIKELY_H +#define INPLA_UNLIKELY_H + +#if defined(__GNUC__) || defined(__clang__) + // GCC と Clang の場合は、極限まで最適化! + #define likely(x) __builtin_expect(!!(x), 1) + #define unlikely(x) __builtin_expect(!!(x), 0) +#else + // それ以外のコンパイラ(MSVCなど)では、ただの素通り(無害化) + #define likely(x) (x) + #define unlikely(x) (x) +#endif + +#endif |
