このページの内容

トピック

 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

列挙子
XXH_aligned 

アライメント済み

XXH_unaligned 

アライメントされていない可能性がある

翻訳補足:XXH_RESTRICTの値にある原文コメント/* disable */は「無効化」を意味します。コードとマクロ値は原文のまま保持しています。