トピック | |
| XXH32の実装 | |
| XXH64の実装 | |
| XXH3の実装 | |
マクロ | |
| #define | XXH_memcpy memcpy |
| #define | XXH_memset memset |
| #define | XXH_memcmp memcmp |
| #define | XXH_FORCE_INLINE static |
| #define | XXH_NO_INLINE static |
| #define | XXH_STATIC static |
| #define | XXH3_WITH_SECRET_INLINE XXH_NO_INLINE |
| #define | XXH_RESTRICT /* disable */ |
| #define | XXH_ASSERT(c) |
| #define | XXH_STATIC_ASSERT_WITH_MESSAGE(c, m) |
| #define | XXH_STATIC_ASSERT(c) |
| #define | XXH_COMPILER_GUARD(var) |
| #define | XXH_COMPILER_GUARD_CLANG_NEON(var) |
| #define | XXH_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__) |
| #define | XXH_HAS_BUILTIN(x) |
| #define | XXH_UNREACHABLE() |
| #define | XXH_ASSUME(c) |
| #define | XXH_rotl32(x, r) |
| #define | XXH_rotl64(x, r) |
型定義 | |
| typedef unsigned char | xxh_u8 |
| typedef XXH32_hash_t | xxh_u32 |
列挙型 | |
| enum | XXH_alignment { XXH_aligned , XXH_unaligned } |
| typedef XXH64_hash_t | xxh_u64 |
詳細説明
マクロ定義の説明
◆ XXH_ASSERT
| #define XXH_ASSERT | ( | c | ) |
値:
XXH_ASSUME(c)
◆ XXH_STATIC_ASSERT_WITH_MESSAGE
| #define XXH_STATIC_ASSERT_WITH_MESSAGE | ( | c, | |
| m ) |
値:
do { struct xxh_sa { char x[(c) ? 1 : -1]; }; } while(0)
◆ XXH_STATIC_ASSERT
| #define XXH_STATIC_ASSERT | ( | c | ) |
値:
XXH_STATIC_ASSERT_WITH_MESSAGE((c),#c)
◆ XXH_COMPILER_GUARD
| #define XXH_COMPILER_GUARD | ( | var | ) |
値:
((void)0)
◆ XXH_COMPILER_GUARD_CLANG_NEON
| #define XXH_COMPILER_GUARD_CLANG_NEON | ( | var | ) |
値:
((void)0)
◆ XXH_HAS_BUILTIN
| #define XXH_HAS_BUILTIN | ( | x | ) |
値:
0
◆ XXH_ASSUME
| #define XXH_ASSUME | ( | c | ) |
値:
if (!(c)) { XXH_UNREACHABLE(); }
◆ XXH_rotl32
| #define XXH_rotl32 | ( | x, | |
| r ) |
値:
(((x) << (r)) | ((x) >> (32 - (r))))
◆ XXH_rotl64
| #define XXH_rotl64 | ( | x, | |
| r ) |
値:
(((x) << (r)) | ((x) >> (64 - (r))))
列挙型の説明
◆ XXH_alignment
| enum XXH_alignment |
翻訳補足:XXH_RESTRICTの値にある原文コメント/* disable */は「無効化」を意味します。コードとマクロ値は原文のまま保持しています。